Issue #2544 Fix recycling issues with Satellite resources.
Former-commit-id:9ff1751f4e
[formerly 166957a22c3447fa2407b13362eece24943675c9] Former-commit-id:e392185d78
This commit is contained in:
parent
542a0946f2
commit
15ae95075d
3 changed files with 49 additions and 20 deletions
|
@ -45,11 +45,14 @@ import com.raytheon.uf.viz.core.rsc.capabilities.AbstractCapability;
|
|||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Dec 21, 2011 mschenke Initial creation
|
||||
* Jun 24, 2013 2122 mschenke Made use built in resource data changed listener
|
||||
* updates will not be lost from construction to initInternal
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- ---------- ----------- --------------------------
|
||||
* Dec 21, 2011 mschenke Initial creation
|
||||
* Jun 24, 2013 2122 mschenke Made use built in resource data changed
|
||||
* listener updates will not be lost from
|
||||
* construction to initInternal
|
||||
* Nov 18, 2013 2544 bsteffen Clear dataTimes in disposeInternal to
|
||||
* fix recycle.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -354,6 +357,11 @@ public abstract class AbstractPluginDataObjectResource<T extends AbstractResourc
|
|||
// Copy Frames and clear member
|
||||
frames = new HashMap<DataTime, Frame>(this.frames);
|
||||
this.frames.clear();
|
||||
|
||||
/* Must clear dataTimes for recycle to work correctly. */
|
||||
if (!dataTimes.isEmpty()) {
|
||||
dataTimes.clear();
|
||||
}
|
||||
}
|
||||
|
||||
// Dispose frame one by one
|
||||
|
|
|
@ -62,12 +62,14 @@ import com.raytheon.uf.viz.core.rsc.capabilities.Capabilities;
|
|||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Feb 4, 2009 chammack Initial creation from original IVizResource
|
||||
* Mar 3, 2009 2032 jsanchez Added getDescriptor and paintProps.
|
||||
* Mar 29, 2013 1638 mschenke Fixed leak of data change listener
|
||||
* Jun 24, 2013 2140 randerso Added getSafeName method
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Feb 04, 2009 chammack Initial creation from original IVizResource
|
||||
* Mar 03, 2009 2032 jsanchez Added getDescriptor and paintProps.
|
||||
* Mar 29, 2013 1638 mschenke Fixed leak of data change listener
|
||||
* Jun 24, 2013 2140 randerso Added getSafeName method
|
||||
* Nov 18, 2013 2544 bsteffen Add recycleInternal so IResourceGroups
|
||||
* can recycle better.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -754,7 +756,7 @@ public abstract class AbstractVizResource<T extends AbstractResourceData, D exte
|
|||
*/
|
||||
public final void recycle() {
|
||||
if (status == ResourceStatus.INITIALIZED) {
|
||||
disposeInternal();
|
||||
recycleInternal();
|
||||
}
|
||||
status = ResourceStatus.NEW;
|
||||
initJob = null;
|
||||
|
@ -763,6 +765,16 @@ public abstract class AbstractVizResource<T extends AbstractResourceData, D exte
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Internally recycle all the graphics objects used by the resource. The
|
||||
* default implementation will simply call disposeInternal to remove
|
||||
* graphics resources and allow init to recreate them. Complex resources may
|
||||
* need more sophisticated behavior.
|
||||
*/
|
||||
protected void recycleInternal() {
|
||||
disposeInternal();
|
||||
}
|
||||
|
||||
public ResourceOrder getResourceOrder() {
|
||||
return RenderingOrderFactory.getRenderingOrder(this);
|
||||
}
|
||||
|
|
|
@ -55,14 +55,15 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Feb 18, 2009 2032 jsanchez Initial Creation.
|
||||
* Updated inspect to display a single value.
|
||||
* Mar 17, 2009 800 jsanchez Avoided displaying unnecessary 0.0.
|
||||
* Jul 31, 2013 2190 mschenke Removed arbitrary check for 0.0 and instead
|
||||
* only check for NaN. SatResource handles fill
|
||||
* values and returns NaN now
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Feb 18, 2009 2032 jsanchez Initial Creation.
|
||||
* Updated inspect to display a single value.
|
||||
* Mar 17, 2009 800 jsanchez Avoided displaying unnecessary 0.0.
|
||||
* Jul 31, 2013 2190 mschenke Removed arbitrary check for 0.0 and instead
|
||||
* only check for NaN. SatResource handles fill
|
||||
* values and returns NaN now
|
||||
* Nov 18, 2013 2544 bsteffen Override recycleInternal
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -101,6 +102,14 @@ public class SatBlendedResource extends
|
|||
resourceData.removeChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void recycleInternal() {
|
||||
for (ResourcePair rp : this.resourceData.getResourceList()) {
|
||||
rp.getResource().recycle();
|
||||
}
|
||||
disposeImage();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue