public PlotData(PlotInstance plotInstance, DataTable dataTable) { if (plotInstance == null) { throw new IllegalArgumentException("null not allowed for plotInstance"); } this.plotInstance = plotInstance; plotInstance.setPlotData(this); PlotConfiguration plotConfiguration = plotInstance.getMasterPlotConfiguration(); // if (plotConfiguration.getPrioritizedListenerCount() > 0) { // plotConfiguration.clearPrioritizedListeners(); // } plotConfiguration.addPlotConfigurationListener(this, true); this.originalDataTable = dataTable; originalDataTable.addDataTableListener(this, true); valueMappingDataTable = new ValueMappingDataTableView(originalDataTable); for (int i = 0; i < valueMappingDataTable.getColumnNumber(); ++i) { if (valueMappingDataTable.isNominal(i)) { valueMappingDataTable.setMappingProvider( i, new NominalSortingDataTableMapping(valueMappingDataTable, i, true)); } } // add filtered data table view to view stack filteredDataTableView = new FilteredDataTable(valueMappingDataTable); // add sorted data table view on view stack (without sort provider for now) sortedDataTableView = new SortedDataTableView(filteredDataTableView, null); sortedDataTableView.addDataTableListener(this, true); // init valueSourceDataMap for (ValueSource valueSource : plotConfiguration.getAllValueSources()) { ValueSourceData valueSourceData = new ValueSourceData(valueSource, plotInstance); valueSourceDataMap.put(valueSource.getId(), valueSourceData); } // init dimensionConfigDataMap for (DefaultDimensionConfig dimensionConfig : plotConfiguration.getDefaultDimensionConfigs().values()) { DimensionConfigData dimensionConfigData = new DimensionConfigData(plotInstance, dimensionConfig); dimensionConfigDataMap.put(dimensionConfig.getId(), dimensionConfigData); } DefaultDimensionConfig domainConfig; domainConfig = plotConfiguration.getDomainConfigManager().getDomainConfig(true); dimensionConfigDataMap.put( domainConfig.getId(), new DimensionConfigData(plotInstance, domainConfig)); domainConfig = plotConfiguration.getDomainConfigManager().getDomainConfig(false); dimensionConfigDataMap.put( domainConfig.getId(), new DimensionConfigData(plotInstance, domainConfig)); // init DomainConfigManagerData domainConfigManagerData = new DomainConfigManagerData(plotInstance); // init RangeAxisDataMap for (RangeAxisConfig rangeAxisConfig : plotConfiguration.getRangeAxisConfigs()) { RangeAxisData rangeAxisData = new RangeAxisData(rangeAxisConfig, plotInstance); rangeAxisDataMap.put(rangeAxisConfig.getId(), rangeAxisData); } clearCache(); }