// Track data source and preinitialize chartData
project.addHintListener(chartDataListener);
chartData.readFrom( (ChartData) project.getHint( chartDataKey ) );
+ chartData.reference();
if (chartData.run != null) {
milestoneListener = new MilestoneSpecListener();
chartData.datasource.removeListener( stepListener );
if (chartData.experiment!=null)
chartData.experiment.removeListener( experimentStateListener );
+ chartData.dereference();
chartData.readFrom( null );
}
}
if (doLayout) trendNode.layout();
+ this.chartData.dereference();
this.chartData.readFrom( data );
+ this.chartData.reference();
tp.setDirty();
if (!ObjectUtils.objectEquals(oldExperimentResource, newExperimentResource)) {
tp.setDirty();
}
- @SuppressWarnings("rawtypes")
+ @SuppressWarnings("unchecked")
@Override
- public Object getAdapter(Class adapter) {
+ public <T> T getAdapter(Class<T> adapter) {
if (adapter == INode.class) {
ICanvasContext ctx = cvsCtx;
if (ctx != null)
- return ctx.getSceneGraph();
+ return (T) ctx.getSceneGraph();
}
if (adapter == IPropertyPage.class)
- return new StandardPropertyPage(getSite(), getPropertyPageContexts());
+ return (T) new StandardPropertyPage(getSite(), getPropertyPageContexts());
if (adapter == ICanvasContext.class)
- return cvsCtx;
+ return (T) cvsCtx;
return super.getAdapter(adapter);
}