12.12.1-2 baseline
Former-commit-id:7192b19284
[formerlyed809a02db
] [formerlya8560580f8
] [formerly6868eb9b23
[formerlya8560580f8
[formerly 90019fdb91dad949f125e46de9300ccd44f6e315]]] Former-commit-id:6868eb9b23
Former-commit-id: 454cf3b19a973251055686ba6bcf2017dd870e1d [formerlydf89fe9bed
] Former-commit-id:111e7607cf
This commit is contained in:
parent
3cb24c1d06
commit
5365b72401
21 changed files with 298 additions and 131 deletions
|
@ -1,19 +1,19 @@
|
|||
##
|
||||
# This software was developed and / or modified by Raytheon Company,
|
||||
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
#
|
||||
#
|
||||
# U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
# This software product contains export-restricted data whose
|
||||
# export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
# to non-U.S. persons whether in the United States or abroad requires
|
||||
# an export license or other authorization.
|
||||
#
|
||||
#
|
||||
# Contractor Name: Raytheon Company
|
||||
# Contractor Address: 6825 Pine Street, Suite 340
|
||||
# Mail Stop B8
|
||||
# Omaha, NE 68106
|
||||
# 402.291.0100
|
||||
#
|
||||
#
|
||||
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
# further licensing information.
|
||||
##
|
||||
|
@ -38,25 +38,25 @@ from java.util import HashSet
|
|||
|
||||
#
|
||||
# GFE Painter for painting GFE data from scripts
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# SOFTWARE HISTORY
|
||||
#
|
||||
#
|
||||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# 04/01/09 njensen Initial Creation.
|
||||
# 08/20/2012 #1077 randerso Fixed backgroundColor setting
|
||||
# 09/13/2012 #1147 dgilling Allow map labels to be disabled.
|
||||
#
|
||||
#
|
||||
# 11/6/2012 15406 ryu Correction for computing domain from mask
|
||||
#
|
||||
#
|
||||
|
||||
import VizPainter
|
||||
|
||||
class GFEPainter(VizPainter.VizPainter):
|
||||
|
||||
def __init__(self, imageWidth=None, imageHeight=None, expandLeft=25.0, expandRight=25.0, expandTop=25.0, expandBottom=25.0, mask=None, wholeDomain=0, bgColor=None):
|
||||
self.dataMgr = DataManager.getInstance(None)
|
||||
|
||||
def __init__(self, imageWidth=None, imageHeight=None, expandLeft=25.0, expandRight=25.0, expandTop=25.0, expandBottom=25.0, mask=None, wholeDomain=0, bgColor=None):
|
||||
self.dataMgr = DataManager.getInstance(None)
|
||||
self.refId = None
|
||||
envelope = None
|
||||
gloc = self.dataMgr.getParmManager().compositeGridLocation()
|
||||
|
@ -64,7 +64,7 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
from com.raytheon.uf.common.dataplugin.gfe.reference import ReferenceData_CoordinateType as CoordinateType
|
||||
self.refId = ReferenceID(mask)
|
||||
if wholeDomain == 0:
|
||||
envelope = self.dataMgr.getRefManager().loadRefSet(self.refId).overallDomain(CoordinateType.LATLON)
|
||||
envelope = self.dataMgr.getRefManager().loadRefSet(self.refId).overallDomain(CoordinateType.GRID)
|
||||
if imageWidth is not None:
|
||||
imageWidth = Integer(int(imageWidth))
|
||||
if imageHeight is not None:
|
||||
|
@ -75,16 +75,16 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
desc = display.getDescriptor()
|
||||
self.dataMgr.getSpatialDisplayManager().setDescriptor(desc)
|
||||
VizPainter.VizPainter.__init__(self, display, backgroundColor=bgColor)
|
||||
|
||||
|
||||
gfeSystem = GFESystemResource(self.dataMgr)
|
||||
self.addVizResource(gfeSystem)
|
||||
desc.getResourceList().getProperties(gfeSystem).setSystemResource(True)
|
||||
desc.getResourceList().getProperties(gfeSystem).setSystemResource(True)
|
||||
self.primaryRsc = None
|
||||
|
||||
|
||||
|
||||
def __del__(self):
|
||||
VizPainter.VizPainter.__del__(self)
|
||||
|
||||
|
||||
def setupLegend(self, localTime=False, snapshotTime=False, snapshot='', descriptiveName='SHORT', duration='', start='', end='', override={}, lang=''):
|
||||
legend = ImageLegendResource(self.dataMgr)
|
||||
legend.setLocalTime(localTime)
|
||||
|
@ -100,22 +100,22 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
legend.setColorOverride(parm, override[parm])
|
||||
self.addVizResource(legend)
|
||||
self.getDescriptor().getResourceList().getProperties(legend).setSystemResource(True)
|
||||
|
||||
|
||||
def enableColorbar(self):
|
||||
from com.raytheon.viz.gfe.rsc.colorbar import GFEColorbarResource
|
||||
colorBar = GFEColorbarResource(self.dataMgr)
|
||||
self.addVizResource(colorBar)
|
||||
self.getDescriptor().getResourceList().getProperties(colorBar).setSystemResource(True)
|
||||
|
||||
|
||||
def __makeGFEResource(self, parm):
|
||||
parm.getParmState().setPickUpValue(None)
|
||||
parm.getParmState().setPickUpValue(None)
|
||||
gfeRsc = GFEResource(parm, self.dataMgr)
|
||||
self.addVizResource(gfeRsc)
|
||||
if not parm.getDisplayAttributes().getBaseColor():
|
||||
from com.raytheon.viz.core import ColorUtil
|
||||
parm.getDisplayAttributes().setBaseColor(ColorUtil.getNewColor(self.getDescriptor()))
|
||||
return gfeRsc
|
||||
|
||||
return gfeRsc
|
||||
|
||||
def addGfeResource(self, parm, colormap=None, colorMin=None, colorMax=None, smooth=False, color=None, lineWidth=None):
|
||||
gfeRsc = self.__makeGFEResource(parm)
|
||||
# jvisType = VisualizationType.valueOf('IMAGE')
|
||||
|
@ -127,8 +127,8 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
parm.getDisplayAttributes().setDisplayMask(self.refId)
|
||||
self.primaryRsc = gfeRsc
|
||||
params = gfeRsc.getCapability(ColorMapCapability).getColorMapParameters()
|
||||
if colormap is not None:
|
||||
from com.raytheon.uf.viz.core.drawables import ColorMapLoader
|
||||
if colormap is not None:
|
||||
from com.raytheon.uf.viz.core.drawables import ColorMapLoader
|
||||
params.setColorMap(ColorMapLoader.loadColorMap(colormap))
|
||||
if colorMax is not None and colorMin is not None:
|
||||
params.setDataMin(colorMin)
|
||||
|
@ -145,9 +145,9 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
gfeRsc.getCapability(ColorableCapability).setColor(color)
|
||||
if lineWidth is not None:
|
||||
gfeRsc.getCapability(OutlineCapability).setOutlineWidth(lineWidth)
|
||||
|
||||
|
||||
def addMapBackground(self, mapName, color=None, lineWidth=None,
|
||||
linePattern=None, xOffset=None, yOffset=None,
|
||||
linePattern=None, xOffset=None, yOffset=None,
|
||||
labelAttribute=None, fontOffset=None):
|
||||
from com.raytheon.uf.viz.core.maps import MapManager
|
||||
rsc = MapManager.getInstance(self.getDescriptor()).loadMapByBundleName(mapName).getResource()
|
||||
|
@ -165,10 +165,10 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
if fontOffset is not None:
|
||||
mag = Double(1.26 ** fontOffset)
|
||||
rsc.getCapability(MagnificationCapability).setMagnification(mag)
|
||||
|
||||
|
||||
def getDataManager(self):
|
||||
return self.dataMgr
|
||||
|
||||
|
||||
def outputFiles(self, filename, attachLogo=False, logoText=None):
|
||||
rendered = self.getTarget().screenshot()
|
||||
if attachLogo:
|
||||
|
@ -176,7 +176,7 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
from com.raytheon.uf.common.localization import PathManagerFactory
|
||||
noaa = 'pyViz/logos/noaalogo2.png'
|
||||
nws = 'pyViz/logos/nwslogo.png'
|
||||
pathMgr = PathManagerFactory.getPathManager()
|
||||
pathMgr = PathManagerFactory.getPathManager()
|
||||
noaa = pathMgr.getStaticFile(noaa)
|
||||
nws = pathMgr.getStaticFile(nws)
|
||||
noaaImage = ImageIO.read(noaa)
|
||||
|
@ -195,12 +195,12 @@ class GFEPainter(VizPainter.VizPainter):
|
|||
fm = graphics.getFontMetrics()
|
||||
textBounds = fm.getStringBounds(logoText, graphics)
|
||||
graphics.drawString(logoText, int((rendered.getWidth() - textBounds.getWidth()) / 2), \
|
||||
int(rendered.getHeight() + (noaaImage.getHeight() / 2) + textBounds.getHeight() / 2))
|
||||
int(rendered.getHeight() + (noaaImage.getHeight() / 2) + textBounds.getHeight() / 2))
|
||||
graphics.drawImage(nwsImage, finalBuf.getWidth() - nwsImage.getWidth(), rendered.getHeight(), None)
|
||||
finalBuf.flush()
|
||||
self.outputImage(finalBuf, filename)
|
||||
else:
|
||||
self.outputImage(rendered, filename)
|
||||
|
||||
|
||||
def _changeTime(self, time):
|
||||
pass
|
||||
pass
|
||||
|
|
|
@ -69,8 +69,8 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* 04/08/2008 chammack Initial Port from AWIPS I (minus ISC support)
|
||||
* 07/23/2012 #936 dgilling Reinstate config-handling code to
|
||||
* calcGridLabels().
|
||||
* 11/05/2012 #14566 jzeng Reverse the order of grids
|
||||
* in calcGridLabels ()
|
||||
* 11/05/2012 #14566 jzeng Paint the sample points with the order of grids
|
||||
* in calcGridLabels ()
|
||||
* </pre>
|
||||
*
|
||||
* @author chammack
|
||||
|
@ -254,12 +254,16 @@ public class SamplePainter {
|
|||
* @param colors
|
||||
* The color list
|
||||
*/
|
||||
private void calcGridLabels(Coordinate worldLoc, final List<GridID> grids,
|
||||
private void calcGridLabels(Coordinate worldLoc, final List<GridID> Grids,
|
||||
final GridID imageGrid, List<String> sampleLabels, List<RGB> colors) {
|
||||
|
||||
if (grids.isEmpty()) {
|
||||
if (Grids.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<GridID> grids = Grids;
|
||||
|
||||
Collections.reverse(grids);
|
||||
|
||||
// if list is not defined, then all samples will be painted for
|
||||
// all parms
|
||||
|
@ -284,8 +288,6 @@ public class SamplePainter {
|
|||
inGrid = true;
|
||||
}
|
||||
|
||||
Collections.reverse(grids);
|
||||
|
||||
// get the list of samples that should be painted and in the
|
||||
// order
|
||||
for (GridID grid : grids) {
|
||||
|
@ -340,6 +342,7 @@ public class SamplePainter {
|
|||
sampleLabels.add(label);
|
||||
colors.add(labelColor);
|
||||
}
|
||||
Collections.reverse(grids);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,48 +1,48 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.viz.gfe.ifpimage;
|
||||
|
||||
|
||||
import org.geotools.coverage.grid.GeneralGridEnvelope;
|
||||
import org.geotools.coverage.grid.GridGeometry2D;
|
||||
import org.geotools.geometry.GeneralEnvelope;
|
||||
import org.opengis.geometry.Envelope;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.gfe.db.objects.GridLocation;
|
||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||
import com.vividsolutions.jts.geom.Point;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* Static methods to support IFP Image or generating GFE images off screen.
|
||||
*
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 12, 2009 njensen Initial creation
|
||||
* 21May2009 6309 garmendariz Modified path for Geotools 2.6.4
|
||||
*
|
||||
* 11/6/2012 15406 ryu Modified computing domain from mask
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
@ -57,25 +57,15 @@ public class GfeImageUtil {
|
|||
Envelope envelope = null;
|
||||
GridGeometry2D newGridGeometry = null;
|
||||
|
||||
try {
|
||||
if (env != null) {
|
||||
Point[] points = new Point[2];
|
||||
points[0] = MapUtil.getPoint(env.getMinY(), env.getMinX());
|
||||
points[1] = MapUtil.getPoint(env.getMaxY(), env.getMaxX());
|
||||
envelope = MapUtil.extractProjectedEnvelope(gloc.getCrs(),
|
||||
points, MapUtil.getTransformFromLatLon(gloc.getCrs()));
|
||||
}
|
||||
} catch (TransformException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (FactoryException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (envelope == null) {
|
||||
GridGeometry2D gridGeometry = MapUtil.getGridGeometry(gloc);
|
||||
envelope = gridGeometry.getEnvelope();
|
||||
}
|
||||
if (env != null) {
|
||||
Coordinate ll = new Coordinate(env.getMinX(), env.getMinY());
|
||||
Coordinate ur = new Coordinate(env.getMaxX(), env.getMaxY());
|
||||
envelope = MapUtil.convertToNativeEnvelope(ll, ur, gloc);
|
||||
}
|
||||
|
||||
if (envelope == null) {
|
||||
GridGeometry2D gridGeometry = MapUtil.getGridGeometry(gloc);
|
||||
envelope = gridGeometry.getEnvelope();
|
||||
}
|
||||
|
||||
double dLeft = envelope.getSpan(0) * percentLeft;
|
||||
|
|
|
@ -128,6 +128,9 @@ import com.raytheon.viz.hydrocommon.util.DbUtils;
|
|||
* 06 Nov 2012 15399 wkwock Fix refine the plot algorithm and sampling algorithm
|
||||
* 06 Nov 2012 15459 lbousaidi update data when page/up or page/down is pressed without having
|
||||
* to click in graph button again.
|
||||
* 06 Nov 2012 15400 lbousaidi Changed logic in buildPointString routine, added discharge2stage
|
||||
* to display stage value, also added checking for rating curve for both
|
||||
* stage and discharge.
|
||||
* @author lvenable
|
||||
* @version 1.0
|
||||
*
|
||||
|
@ -1599,31 +1602,57 @@ public class TimeSeriesDisplayCanvas extends TimeSeriesGraphCanvas implements
|
|||
double yValue = pixel2y(graphData, y);
|
||||
String units = FEET;
|
||||
boolean isRiverData = true;
|
||||
boolean isStage= true;
|
||||
ArrayList<TraceData> traces = graphData.getTraces();
|
||||
for (TraceData trace : traces) {
|
||||
if (!trace.getPe().toUpperCase().startsWith("H")
|
||||
&& !trace.getPe().toUpperCase().startsWith("Q")) {
|
||||
isRiverData = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (isRiverData) {
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue) + " "
|
||||
+ units + " ");
|
||||
|
||||
double q = StageDischargeUtils.stage2discharge(lid, yValue);
|
||||
if (q != HydroConstants.MISSING_VALUE) {
|
||||
units = CFS;
|
||||
if (q > 10000) {
|
||||
units = KCFS;
|
||||
q = q / 1000;
|
||||
}
|
||||
sb.append(String.format("%8.1f", q) + " " + units);
|
||||
if (trace.getPe().toUpperCase().startsWith("Q")) {
|
||||
isStage=false;
|
||||
}
|
||||
} else {
|
||||
units = INCH;
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue) + " "
|
||||
+ units + " ");
|
||||
}
|
||||
|
||||
if (isRiverData) {
|
||||
|
||||
if (isStage) {
|
||||
/**
|
||||
* Convert the stage to discharge for the location and stage value passed in.
|
||||
*/
|
||||
double q = StageDischargeUtils.stage2discharge(lid, yValue);
|
||||
//check for rating curve
|
||||
if (q != HydroConstants.RATING_CONVERT_FAILED) {
|
||||
if (q > 10000) {
|
||||
units = KCFS;
|
||||
q = q / 1000;
|
||||
}else {
|
||||
units = CFS;
|
||||
}
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue)
|
||||
+ " " + FEET + " ");
|
||||
sb.append(String.format("%8.1f", q) + " " + units);
|
||||
}else {
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue));
|
||||
}
|
||||
|
||||
}else {
|
||||
/**
|
||||
* Convert the discharge to stage for the location and discharge value passed in.
|
||||
*/
|
||||
double q = StageDischargeUtils.discharge2stage(lid, yValue);
|
||||
//check for rating curve
|
||||
if (q != HydroConstants.RATING_CONVERT_FAILED) {
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue)
|
||||
+ " " + CFS + " ");
|
||||
sb.append(String.format("%8.1f", q) + " " + FEET);
|
||||
}else {
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue));
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
sb.append(" value=" + twoDecimalFormat.format(yValue));
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
|
|
|
@ -63,7 +63,8 @@ import com.raytheon.viz.hydrocommon.HydroConstants;
|
|||
* July 12 2011 9709 djingtao draw right Y axis for showPP is true. add new
|
||||
* function adjust_pcymax()
|
||||
* Aug. 10, 2011 10457 djingtao allow the red rubberband box to be drawn for setMissing in Edit
|
||||
* Jul. 24, 2012 15195 mpduff Fix x axis scales.
|
||||
* Jul. 24, 2012 15195 mpduff Fix x axis scales.
|
||||
* 06 Nov 2012 15399 wkwock Fix refine the plot algorithm and sampling algorithm
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -500,11 +501,11 @@ public class TimeSeriesGraphCanvas extends Canvas {
|
|||
int x = -999;
|
||||
int dy = 5;
|
||||
int dx = 4;
|
||||
long startMillis = gd.getXMin().getTime();
|
||||
long startMillis = ((long)Math.ceil(gd.getXMin().getTime()/HydroConstants.MILLIS_PER_HOUR))*HydroConstants.MILLIS_PER_HOUR;
|
||||
long endMillis = gd.getXMax().getTime();
|
||||
|
||||
for (long i = startMillis; i <= endMillis; i += HydroConstants.MILLIS_PER_HOUR) {
|
||||
x = x2pixel(gd, i);
|
||||
x = x2pixel(gd, i+59000); //59 seconds for better sampling
|
||||
Date d = SimulatedTime.getSystemTime().getTime();
|
||||
d.setTime(i);
|
||||
dy = 5;
|
||||
|
@ -667,8 +668,8 @@ public class TimeSeriesGraphCanvas extends Canvas {
|
|||
long xMin = gd.getXMin().getTime();
|
||||
long xMax = gd.getXMax().getTime();
|
||||
long xDiff = xMax - xMin;
|
||||
long millisPerPixel = xDiff / graphAreaWidth;
|
||||
long millisTime = (xpix - GRAPHBORDER_LEFT) * millisPerPixel + xMin;
|
||||
double millisPerPixel = xDiff / graphAreaWidth;
|
||||
long millisTime = (long)(xpix * millisPerPixel) + xMin;
|
||||
|
||||
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
||||
cal.setTimeInMillis(millisTime);
|
||||
|
|
|
@ -39,6 +39,7 @@ import com.raytheon.viz.hydrocommon.whfslib.GeoUtil;
|
|||
* Sep 18, 2009 2260 mpduff Initial creation
|
||||
* Apr 25, 2012 14499 wkwock Refine format, query, etc
|
||||
* Sep 11, 2012 13781 wkwock add print menu
|
||||
* Oct 19, 2012 15454 wkwock Fix missing River mile, Zero Datum, Check bar
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -141,14 +142,14 @@ public class E19AReport extends E19Report {
|
|||
buffer.append(String.format("STATION NO: %-11s\n", locData.getLocation().getSn()));
|
||||
|
||||
String mile = null;
|
||||
if (data.getRiverstat().getDa() != HydroConstants.MISSING_VALUE) {
|
||||
if (data.getRiverstat().getMile() != HydroConstants.MISSING_VALUE) {
|
||||
mile = String.format("%8.2f", data.getRiverstat().getMile());
|
||||
} else {
|
||||
mile = " ";
|
||||
}
|
||||
|
||||
String wstg = null;
|
||||
if (data.getRiverstat().getFs() != HydroConstants.MISSING_VALUE) {
|
||||
if (data.getRiverstat().getWstg() != HydroConstants.MISSING_VALUE) {
|
||||
wstg = String.format("%8.2f", data.getRiverstat().getWstg());
|
||||
} else {
|
||||
wstg = " ";
|
||||
|
@ -158,14 +159,14 @@ public class E19AReport extends E19Report {
|
|||
buffer.append(String.format(" USGS NO: %-11s\n", data.getRiverstat().getGsno()));
|
||||
|
||||
String zd = null;
|
||||
if (data.getRiverstat().getDa() != HydroConstants.MISSING_VALUE) {
|
||||
if (data.getRiverstat().getZd() != HydroConstants.MISSING_VALUE) {
|
||||
zd = String.format("%8.3f", data.getRiverstat().getZd());
|
||||
} else {
|
||||
zd = " ";
|
||||
}
|
||||
|
||||
String bf = null;
|
||||
if (data.getRiverstat().getFs() != HydroConstants.MISSING_VALUE) {
|
||||
if (data.getRiverstat().getBf() != HydroConstants.MISSING_VALUE) {
|
||||
bf = String.format("%8.2f", data.getRiverstat().getBf());
|
||||
} else {
|
||||
bf = " ";
|
||||
|
@ -175,7 +176,7 @@ public class E19AReport extends E19Report {
|
|||
buffer.append(String.format(" NESS ID: %-8s\n", dataDcpTelem.getDcp().getGoes()));
|
||||
|
||||
String cb = null;
|
||||
if (data.getRiverstat().getDa() != HydroConstants.MISSING_VALUE) {
|
||||
if (data.getRiverstat().getCb() != HydroConstants.MISSING_VALUE) {
|
||||
cb = String.format("%8.3f", data.getRiverstat().getCb());
|
||||
} else {
|
||||
cb = " ";
|
||||
|
@ -277,7 +278,7 @@ public class E19AReport extends E19Report {
|
|||
buffer.append(" LATEST GAGE TYPE START DATE OWNER OF GAGE\n");
|
||||
|
||||
if (dataG.getGageList() != null && dataG.getGageList().size() > 0) {
|
||||
Gage gage=dataG.getGageList().get(dataG.getGageList().size()-1);
|
||||
Gage gage=dataG.getGageList().get(0);
|
||||
buffer.append(String.format(" %-11s %10s %-11s\n", gage.getType(), sdf.format(gage.getBegin()), gage.getOwner()));
|
||||
}
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ import com.raytheon.viz.hydrocommon.whfslib.GeoUtil;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Sep 18, 2009 2260 mpduff Initial creation
|
||||
* Apr 25, 2012 14499 wkwock Refine format, query, etc
|
||||
* Oct 14, 2012 15454 wkwock Fix can not generate e19 if damage filed is empty
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -1392,9 +1393,13 @@ public class E19Report extends TextReport {
|
|||
tmp1 = String.format("%7.2f", floodList.get(floodIndex).getStage());
|
||||
}
|
||||
|
||||
thisLineStr=" " + tmp1 + " - " + lines[lineIndex];
|
||||
if (lines==null || lines[lineIndex]==null) {
|
||||
thisLineStr=" " + tmp1 + " -";
|
||||
} else {
|
||||
thisLineStr=" " + tmp1 + " - " + lines[lineIndex];
|
||||
}
|
||||
}else {
|
||||
thisLineStr=" " + lines[lineIndex];
|
||||
thisLineStr=" ";
|
||||
}
|
||||
|
||||
int spaces = flood_filler - thisLineStr.length();
|
||||
|
@ -1410,7 +1415,7 @@ public class E19Report extends TextReport {
|
|||
|
||||
lineIndex++;
|
||||
|
||||
if (lineIndex == lines.length - 1) { // No more lines in this record
|
||||
if (lines !=null && lineIndex == lines.length - 1) { // No more lines in this record
|
||||
floodIndex++; // Get the next record
|
||||
|
||||
if ((floodList.size() > floodIndex) && (floodList.get(floodIndex) != null)) {
|
||||
|
|
|
@ -48,6 +48,7 @@ import com.raytheon.viz.hydrocommon.textreport.TextReportData.StaffGageData;
|
|||
* Nov 09, 2010 5416 lbousaid changed gageQuery
|
||||
* Dec 08, 2011 11728 lbousaidi changed the routines that retrieve data
|
||||
* Apr 25, 2012 14499 wkwock Refine format, query, etc
|
||||
* Nov 06, 2012 15454 wkwock Fix query for get data from gage table
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -356,7 +357,7 @@ public class TextReportDataManager extends HydroDataManager {
|
|||
public TextReportData getGageQueryList(String lid) {
|
||||
TextReportData data = new TextReportData();
|
||||
String gageQuery = "select gbegin, type, owner, remark, maint, gend from gage where lid = '"
|
||||
+ lid + "' order by gbegin,type";
|
||||
+ lid + "' and gend is null ORDER BY gbegin desc";
|
||||
ArrayList<Object[]> rs = runQuery(gageQuery);
|
||||
ArrayList<Gage> gageList = new ArrayList<Gage>();
|
||||
int i = 0;
|
||||
|
|
|
@ -75,6 +75,7 @@ import com.raytheon.viz.mpe.util.WriteQPFGrids;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 24, 2009 snaples Initial creation
|
||||
* Sep 19, 2011 10955 rferrel Use RunProcess
|
||||
* Nov 06, 2012 15481 wkwock Fix save 6 hours precipitation files
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -649,6 +650,81 @@ public class SaveLevel2Data {
|
|||
}
|
||||
}
|
||||
|
||||
//save for each 6 hour periods
|
||||
for (l = 0; l < 5; l++) {
|
||||
|
||||
if (DailyQcUtils.pdata[j].used[l] == 0 || qctype_flag[0] == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* this needs to be fixed to ensure that the gridded temperature
|
||||
* files are named correctly.
|
||||
*/
|
||||
if (l < 2) {
|
||||
old_time = DailyQcUtils.pdata[j].data_time;
|
||||
Calendar od = Calendar.getInstance();
|
||||
od.setTime(old_time);
|
||||
od.add(Calendar.SECOND, -86400);
|
||||
old_time = od.getTime();
|
||||
} else {
|
||||
old_time = DailyQcUtils.pdata[j].data_time;
|
||||
}
|
||||
|
||||
gm.setTime(old_time);
|
||||
|
||||
if (l < 4) {
|
||||
ll = 0;
|
||||
} else {
|
||||
ll = 1;
|
||||
}
|
||||
|
||||
RenderPcp rcp = new RenderPcp();
|
||||
rcp.render_pcp(j, l, ll, max_stations,
|
||||
DailyQcUtils.precip_stations, hrap_grid,
|
||||
DailyQcUtils.pdata, DailyQcUtils.pcp_in_use);
|
||||
|
||||
String dbuf = String.format("%s%s_%04d%02d%02d", grid_file,
|
||||
timefile[2][l], gm.get(Calendar.YEAR),
|
||||
gm.get(Calendar.MONTH) + 1,
|
||||
gm.get(Calendar.DAY_OF_MONTH));
|
||||
|
||||
/* output grid to file in ascii xmrg format */
|
||||
WriteQPFGrids wqg = new WriteQPFGrids();
|
||||
wqg.write_qpf_grids(dbuf);
|
||||
|
||||
if (DailyQcUtils.mpe_dqc_save_grib == true) {
|
||||
WriteDQCNetCDFGrids wng = new WriteDQCNetCDFGrids();
|
||||
String ncfile = String.format("%s.nc", dbuf);
|
||||
wng.write_dqc_netcdf_grids(ncfile, l, 1, 1,
|
||||
ga.getCommonGridAttributes(), datavals);
|
||||
WriteDQCGribGrids wgg = new WriteDQCGribGrids();
|
||||
String fname_grib = String.format("%s.grb", dbuf);
|
||||
int status = wgg
|
||||
.write_dqc_grib_grids(ncfile, fname_grib, 1);
|
||||
if (status != 0) {
|
||||
statusHandler
|
||||
.handle(Priority.WARN,
|
||||
String.format(
|
||||
"problem with writing GRIB file in write_dqc_grib_grids. status=%d\n",
|
||||
status));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (l < 4) {
|
||||
num = j * 4 + 3 - l;
|
||||
} else {
|
||||
num = 40 + j;
|
||||
}
|
||||
|
||||
/* Create the MAP. */
|
||||
CreateMap cm = new CreateMap();
|
||||
cm.create_map(num);
|
||||
|
||||
}
|
||||
|
||||
//save the whole days
|
||||
for (l = 0; l < 5; l++) {
|
||||
|
||||
if (DailyQcUtils.pdata[j].used[l] == 0 || qctype_flag[0] == -1) {
|
||||
|
@ -698,25 +774,6 @@ public class SaveLevel2Data {
|
|||
ga.getCommonGridAttributes(), datavals);
|
||||
}
|
||||
|
||||
if (DailyQcUtils.mpe_dqc_save_grib == true) {
|
||||
WriteDQCNetCDFGrids wng = new WriteDQCNetCDFGrids();
|
||||
String ncfile = String.format("%s.nc", dbuf);
|
||||
wng.write_dqc_netcdf_grids(ncfile, l, 1, 1,
|
||||
ga.getCommonGridAttributes(), datavals);
|
||||
WriteDQCGribGrids wgg = new WriteDQCGribGrids();
|
||||
String fname_grib = String.format("%s.grb", dbuf);
|
||||
int status = wgg
|
||||
.write_dqc_grib_grids(ncfile, fname_grib, 1);
|
||||
if (status != 0) {
|
||||
statusHandler
|
||||
.handle(Priority.WARN,
|
||||
String.format(
|
||||
"problem with writing GRIB file in write_dqc_grib_grids. status=%d\n",
|
||||
status));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (l < 4) {
|
||||
num = j * 4 + 3 - l;
|
||||
} else {
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
</capabilities>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="satBestResResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true">
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
inclusionFactor="${inclusionFactor;0.4}">
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
|
|
|
@ -26,6 +26,7 @@ import java.util.Map;
|
|||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import org.geotools.referencing.CRS;
|
||||
|
@ -67,7 +68,7 @@ import com.vividsolutions.jts.geom.Polygon;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jul 30, 2010 mschenke Initial creation
|
||||
* Oct 31, 2012 DR 15287 D. Friedman Fix overlap calculation
|
||||
* Nov 06, 2012 DR 15157 D. Friedman Allow configured inclusion percentage
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -82,6 +83,9 @@ public class SatBestResResourceData extends AbstractRequestableResourceData {
|
|||
@XmlElement(name = "resource")
|
||||
protected ResourceList resourceList = new ResourceList();
|
||||
|
||||
@XmlAttribute
|
||||
protected Double inclusionFactor;
|
||||
|
||||
private ResourcePair resourceToDraw;
|
||||
|
||||
/**
|
||||
|
@ -156,12 +160,14 @@ public class SatBestResResourceData extends AbstractRequestableResourceData {
|
|||
|
||||
Map<ResourcePair, Double> percentOfIntersection = new HashMap<ResourcePair, Double>();
|
||||
if (disclosedResource != null) {
|
||||
final double inclusionPercentageToUse = inclusionFactor != null ?
|
||||
inclusionFactor : DESIRED_PERCENTAGE;
|
||||
// check inclusion percentage of the disclosed resource
|
||||
Double inclusion = getInclusionPercentage(descriptor,
|
||||
disclosedResource, extent);
|
||||
if (inclusion != Double.NaN) {
|
||||
percentOfIntersection.put(disclosedResource, inclusion);
|
||||
if (inclusion < DESIRED_PERCENTAGE) {
|
||||
if (inclusion < inclusionPercentageToUse) {
|
||||
disclosedResource = null;
|
||||
}
|
||||
} else {
|
||||
|
@ -335,7 +341,7 @@ public class SatBestResResourceData extends AbstractRequestableResourceData {
|
|||
|
||||
for (Polygon last : prevs) {
|
||||
// Don't want to double include percentage areas
|
||||
totalPercentage -= last.intersection(polygon).intersection(extent)
|
||||
totalPercentage -= last.intersection(polygon)
|
||||
.getArea() / extent.getArea();
|
||||
}
|
||||
}
|
||||
|
@ -347,4 +353,12 @@ public class SatBestResResourceData extends AbstractRequestableResourceData {
|
|||
}
|
||||
return totalPercentage;
|
||||
}
|
||||
|
||||
public Double getInclusionFactor() {
|
||||
return inclusionFactor;
|
||||
}
|
||||
|
||||
public void setInclusionFactor(Double inclusionFactor) {
|
||||
this.inclusionFactor = inclusionFactor;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -302,6 +302,7 @@ import com.raytheon.viz.ui.dialogs.SWTMessageBox;
|
|||
* 12OCT2012 15418 D.Friedman Do not store product when sending in operational mode.
|
||||
* Do not use changed BBB from OUPResponse.
|
||||
* 17OCT2012 1229 rferrel Changes for non-blocking SWTMessageBox.
|
||||
* 05Nov2012 15560 S. Naples Added check to see if we are in edit mode before capturing keys.
|
||||
* </pre>
|
||||
*
|
||||
* @author lvenable
|
||||
|
@ -3530,6 +3531,10 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
|
|||
|
||||
textEditor.addVerifyKeyListener(new VerifyKeyListener() {
|
||||
public void verifyKey(VerifyEvent event) {
|
||||
// Ignore edit keys when not in edit mode.
|
||||
if (textEditor.getEditable() == false){
|
||||
return;
|
||||
}
|
||||
if (event.keyCode == SWT.DEL || event.character == SWT.BS
|
||||
|| event.keyCode == SWT.SHIFT) {
|
||||
// Do nothing...
|
||||
|
|
|
@ -52,6 +52,7 @@ import com.raytheon.viz.texteditor.util.VtecUtil;
|
|||
* Add vtec to checkHeadline signature
|
||||
* 20 JUL 2012 15006 mgamazaychikov Do not perform search for a list of
|
||||
* county/zones names in the MWS segment heading.
|
||||
* 07 NOV 2012 15003 mgamazaychikov Do not perform QC check on standalone MWS headline.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -500,18 +501,13 @@ public class TextSegmentCheck implements IQCCheck {
|
|||
return errorMsg;
|
||||
}
|
||||
/*
|
||||
* DR15003 standalone MWS can have no headline.
|
||||
* DR15003: no headline QC on standalone MWS.
|
||||
* To distinguish between standalone and follow up MWS
|
||||
* the VTEC check is performed as standalone MWS
|
||||
* do not contain VTEC
|
||||
*/
|
||||
if (nnn.equals("MWS") && vtec == null) {
|
||||
if (headline.length() == 0) {
|
||||
return errorMsg;
|
||||
} else if (!headline.endsWith("...")) {
|
||||
errorMsg += "Headline should end with '...'.\n";
|
||||
}
|
||||
return errorMsg;
|
||||
return "";
|
||||
}
|
||||
|
||||
if (headline.length() == 0) {
|
||||
|
|
|
@ -94,6 +94,7 @@ import com.vividsolutions.jts.geom.Polygon;
|
|||
* reprojectGeometry.
|
||||
* 06/19/2012 14988 D. Friedman Make oversampling more like AWIPS 1
|
||||
* 09/18/2012 #1091 randerso corrected getBoundingEnvelope
|
||||
* 11/06/2012 15406 ryu Added convertToNativeEnvelope()
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -269,6 +270,55 @@ public class MapUtil {
|
|||
return generalEnvelope;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a native envelope from the grid domain represented
|
||||
* by the lower left and the upper right corners.
|
||||
*
|
||||
* @param ll
|
||||
* lower left of the grid envelope
|
||||
* @param ur
|
||||
* upper right of the grid envelope
|
||||
* @param gloc
|
||||
* grid location object
|
||||
* @return a native envelope
|
||||
*
|
||||
*/
|
||||
public static GeneralEnvelope convertToNativeEnvelope(
|
||||
Coordinate ll, Coordinate ur, ISpatialObject gloc) {
|
||||
GeneralEnvelope generalEnvelope = new GeneralEnvelope(2);
|
||||
generalEnvelope.setCoordinateReferenceSystem(gloc.getCrs());
|
||||
|
||||
double minX = Double.POSITIVE_INFINITY;
|
||||
double maxX = Double.NEGATIVE_INFINITY;
|
||||
double minY = Double.POSITIVE_INFINITY;
|
||||
double maxY = Double.NEGATIVE_INFINITY;
|
||||
|
||||
for (Coordinate p : new Coordinate[]{ll, ur}) {
|
||||
Coordinate translated = gridCoordinateToNative(p,
|
||||
PixelOrientation.CENTER, gloc);
|
||||
double x = translated.x;
|
||||
double y = translated.y;
|
||||
|
||||
if (x < minX) {
|
||||
minX = x;
|
||||
}
|
||||
if (x > maxX) {
|
||||
maxX = x;
|
||||
}
|
||||
if (y < minY) {
|
||||
minY = y;
|
||||
}
|
||||
if (y > maxY) {
|
||||
maxY = y;
|
||||
}
|
||||
}
|
||||
|
||||
generalEnvelope.setRange(0, minX, maxX);
|
||||
generalEnvelope.setRange(1, minY, maxY);
|
||||
|
||||
return generalEnvelope;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reproject a grid coverage into a different coordinate reference system
|
||||
*
|
||||
|
|
|
@ -8,7 +8,7 @@ Summary: Pypies Apache HTTP Server
|
|||
Name: awips2-httpd-pypies
|
||||
Version: 2.2.3
|
||||
# This Is Officially Release: 22%{?dist}
|
||||
Release: 28%{?dist}
|
||||
Release: 29%{?dist}
|
||||
URL: http://httpd.apache.org/
|
||||
Prefix: /awips2/httpd_pypies
|
||||
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
Name: awips2-ldm
|
||||
Summary: AWIPS II LDM Distribution
|
||||
Version: 6.8.1
|
||||
Release: 23
|
||||
Release: 24
|
||||
Group: AWIPSII
|
||||
BuildRoot: /tmp
|
||||
URL: N/A
|
||||
|
|
|
@ -59,12 +59,14 @@ EXEC "dvbs_multicast -b 40000 -m 224.0.1.1"
|
|||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.2"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.3"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.4"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.5"
|
||||
#
|
||||
# readnoaaport shared memory readers
|
||||
EXEC "readnoaaport -m 224.0.1.1 -n -u 3 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.2 -n -u 4 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.3 -n -u 5 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.4 -n -u 6 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.5 -n -u 7 -t mhs -r 1"
|
||||
#
|
||||
# rtstats uses the LDM to send product latency statistics to the UPC.
|
||||
# For more info on rtstats please see the man page.
|
||||
|
|
|
@ -59,12 +59,14 @@ EXEC "dvbs_multicast -b 40000 -m 224.0.1.1"
|
|||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.2"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.3"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.4"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.5"
|
||||
#
|
||||
# readnoaaport shared memory readers
|
||||
EXEC "readnoaaport -m 224.0.1.1 -n -u 3 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.2 -n -u 4 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.3 -n -u 5 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.4 -n -u 6 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.5 -n -u 7 -t mhs -r 1"
|
||||
#
|
||||
# rtstats uses the LDM to send product latency statistics to the UPC.
|
||||
# For more info on rtstats please see the man page.
|
||||
|
|
|
@ -59,12 +59,14 @@ EXEC "dvbs_multicast -b 40000 -m 224.0.1.1"
|
|||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.2"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.3"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.4"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.5"
|
||||
#
|
||||
# readnoaaport shared memory readers
|
||||
EXEC "readnoaaport -m 224.0.1.1 -n -u 3 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.2 -n -u 4 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.3 -n -u 5 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.4 -n -u 6 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.5 -n -u 7 -t mhs -r 1"
|
||||
#
|
||||
# rtstats uses the LDM to send product latency statistics to the UPC.
|
||||
# For more info on rtstats please see the man page.
|
||||
|
|
|
@ -59,12 +59,14 @@ EXEC "dvbs_multicast -b 40000 -m 224.0.1.1"
|
|||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.2"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.3"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.4"
|
||||
EXEC "dvbs_multicast -b 40000 -m 224.0.1.5"
|
||||
#
|
||||
# readnoaaport shared memory readers
|
||||
EXEC "readnoaaport -m 224.0.1.1 -n -u 3 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.2 -n -u 4 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.3 -n -u 5 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.4 -n -u 6 -t mhs -r 1"
|
||||
EXEC "readnoaaport -m 224.0.1.5 -n -u 7 -t mhs -r 1"
|
||||
#
|
||||
# rtstats uses the LDM to send product latency statistics to the UPC.
|
||||
# For more info on rtstats please see the man page.
|
||||
|
|
|
@ -311,6 +311,12 @@ if [ "${1}" = "-ade" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Build the source jar file
|
||||
ade_work_dir="/home/dmsys/Dim12/build/AWIPS2/AWIPS2-ADE-OB12.11.2-CM"
|
||||
cd $ade_work_dir
|
||||
./build_source_jar.sh
|
||||
cp -v /tmp/awips2-ade-baseline-SOURCES.jar ${WORKSPACE}/${ade_directory}
|
||||
|
||||
# Tar the directory.
|
||||
pushd . > /dev/null 2>&1
|
||||
cd ${WORKSPACE}
|
||||
|
|
Loading…
Add table
Reference in a new issue