Merge "Issue #1916 overrode getDataTimes() to boost efficiency" into omaha_13.4.1
Former-commit-id:0de50ae786
[formerly0de50ae786
[formerly ec6edaaad3943caf55f97e8f7fd9974086e3b360]] Former-commit-id:7562ac5edc
Former-commit-id:25dfadb872
This commit is contained in:
commit
bd1913e040
1 changed files with 28 additions and 15 deletions
|
@ -21,7 +21,9 @@ package com.raytheon.uf.viz.cwat;
|
|||
|
||||
import java.nio.ShortBuffer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
@ -68,6 +70,8 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 16JUN2009 2037 dhladky Initial Creation.
|
||||
* Apr 17, 2013 1916 njensen Overrode getDataTimes()
|
||||
*
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -78,39 +82,33 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
public class CWATResource extends
|
||||
AbstractVizResource<CWATResourceData, MapDescriptor> implements
|
||||
IResourceDataChanged {
|
||||
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(CWATResource.class);
|
||||
|
||||
public String icao;
|
||||
protected CWATRecord record;
|
||||
|
||||
public String fieldName;
|
||||
private Map<DataTime, GriddedImageDisplay2> griddedDisplayMap;
|
||||
|
||||
public String fieldUnitString;
|
||||
protected DataTime displayedDataTime;
|
||||
|
||||
public CWATRecord record;
|
||||
|
||||
private HashMap<DataTime, GriddedImageDisplay2> griddedDisplayMap;
|
||||
|
||||
public DataTime displayedDataTime;
|
||||
|
||||
public DataTime previousDataTime;
|
||||
protected DataTime previousDataTime;
|
||||
|
||||
private String colormapfile = null;
|
||||
|
||||
/* The font used */
|
||||
public IFont font = null;
|
||||
protected IFont font = null;
|
||||
|
||||
private float cwatmax = 0.0f;
|
||||
|
||||
private float cwatmin = 0.0f;
|
||||
|
||||
boolean init = true;
|
||||
private boolean init = true;
|
||||
|
||||
public CWATResource(CWATResourceData data, LoadProperties props) {
|
||||
super(data, props);
|
||||
|
||||
data.addChangeListener(this);
|
||||
this.dataTimes = new ArrayList<DataTime>();
|
||||
griddedDisplayMap = new HashMap<DataTime, GriddedImageDisplay2>();
|
||||
}
|
||||
|
||||
|
@ -146,7 +144,10 @@ public class CWATResource extends
|
|||
for (PluginDataObject pdo : pdos) {
|
||||
try {
|
||||
CWATRecord cwat = (CWATRecord) pdo;
|
||||
resourceData.dataObjectMap.put(cwat.getDataTime(), cwat);
|
||||
synchronized (resourceData.dataObjectMap) {
|
||||
resourceData.dataObjectMap
|
||||
.put(cwat.getDataTime(), cwat);
|
||||
}
|
||||
record = cwat;
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
|
@ -303,7 +304,9 @@ public class CWATResource extends
|
|||
|
||||
@Override
|
||||
public void remove(DataTime dataTime) {
|
||||
this.dataTimes.remove(dataTime);
|
||||
synchronized (resourceData.dataObjectMap) {
|
||||
resourceData.dataObjectMap.remove(dataTime);
|
||||
}
|
||||
GriddedImageDisplay2 display = this.griddedDisplayMap.remove(dataTime);
|
||||
if (display != null) {
|
||||
display.dispose();
|
||||
|
@ -322,4 +325,14 @@ public class CWATResource extends
|
|||
match.setParameterName(paramList);
|
||||
return match;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataTime[] getDataTimes() {
|
||||
DataTime[] times = new DataTime[0];
|
||||
synchronized (resourceData.dataObjectMap) {
|
||||
times = this.resourceData.dataObjectMap.keySet().toArray(times);
|
||||
}
|
||||
Arrays.sort(times);
|
||||
return times;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue