public void forcePointRead(int dataPointId) { DataPointRT dataPoint = dataPoints.get(dataPointId); if (dataPoint == null) throw new RTException("Point is not enabled"); // Tell the data source to read the point value; DataSourceRT ds = getRunningDataSource(dataPoint.getDataSourceId()); if (ds != null) // The data source may have been disabled. Just make sure. ds.forcePointRead(dataPoint); }
public void setDataPointValue(int dataPointId, PointValueTime valueTime, SetPointSource source) { DataPointRT dataPoint = dataPoints.get(dataPointId); if (dataPoint == null) throw new RTException("Point is not enabled"); if (!dataPoint.getPointLocator().isSettable()) throw new RTException("Point is not settable"); // Tell the data source to set the value of the point. DataSourceRT ds = getRunningDataSource(dataPoint.getDataSourceId()); // The data source may have been disabled. Just make sure. if (ds != null) ds.setPointValue(dataPoint, valueTime, source); }
public void relinquish(int dataPointId) { DataPointRT dataPoint = dataPoints.get(dataPointId); if (dataPoint == null) throw new RTException("Point is not enabled"); if (!dataPoint.getPointLocator().isSettable()) throw new RTException("Point is not settable"); if (!dataPoint.getPointLocator().isRelinquishable()) throw new RTException("Point is not relinquishable"); // Tell the data source to relinquish value of the point. DataSourceRT ds = getRunningDataSource(dataPoint.getDataSourceId()); // The data source may have been disabled. Just make sure. if (ds != null) ds.relinquish(dataPoint); }
private void stopDataPoint(int dataPointId) { synchronized (dataPoints) { // Remove this point from the data image if it is there. If not, just quit. DataPointRT p = dataPoints.remove(dataPointId); // Remove it from the data source, and terminate it. if (p != null) { getRunningDataSource(p.getDataSourceId()).removeDataPoint(p); DataPointListener l = getDataPointListeners(dataPointId); if (l != null) l.pointTerminated(); p.terminate(); } } }
private void stopDataSource(int id) { synchronized (runningDataSources) { DataSourceRT dataSource = getRunningDataSource(id); if (dataSource == null) return; // Stop the data points. for (DataPointRT p : dataPoints.values()) { if (p.getDataSourceId() == id) stopDataPoint(p.getId()); } runningDataSources.remove(dataSource); dataSource.terminate(); dataSource.joinTermination(); LOG.info("Data source '" + dataSource.getName() + "' stopped"); } }