/** Prepares pixelized data for PlotDataProviders to draw. Should be called before paint. */ public synchronized String updateData() { int width = graphAreaPanel.getWidth(); // - graphAreaPanel.getInsets().left - // graphAreaPanel.getInsets().right; logger.debug("Updating data " + this + "Width = " + width); graphs = new ArrayList<PlotData>(); List<String> errorChannels = new ArrayList<String>(); for (PlotDataProvider channel : plotDataProviders) { // lg.debug("processing channel: " + channel); PlotData data = null; try { data = channel.getPlotData( graphPanel.getTimeRange(), width, graphPanel.getFilter(), graphPanel.getRemoveGain(), graphPanel.getColorMode()); } catch (TraceViewException e) { channel.setRotation(null); try { errorChannels.add( channel.getNetworkName() + "/" + channel.getStation() + "/" + channel.getLocationName() + "/" + channel.getChannelName() + " - " + e.getMessage()); data = channel.getPlotData( graphPanel.getTimeRange(), width, graphPanel.getFilter(), graphPanel.getRemoveGain(), graphPanel.getColorMode()); } catch (TraceViewException | RemoveGainException e1) { // do nothing logger.error("TraceViewException:", e1); } } catch (RemoveGainException e) { try { errorChannels.add( channel.getNetworkName() + "/" + channel.getStation() + "/" + channel.getLocationName() + "/" + channel.getChannelName() + " - " + e.getMessage()); data = channel.getPlotData( graphPanel.getTimeRange(), width, graphPanel.getFilter(), null, graphPanel.getColorMode()); } catch (TraceViewException | RemoveGainException e1) { // do nothing logger.error("TraceViewException:", e1); } } graphs.add(data); meanValue = data.getMeanValue(); } Collections.sort(graphs); if (errorChannels.size() > 0) return errorChannels.get(0); else return ""; }
/** @return Necessary count of data point in graph to draw inside this panel */ public int getPointCount() { return graphAreaPanel.getWidth(); }