/** * * if this is a pv control other pvs, when this pv's value changes, it will stop or restart all * controlled pvs. * * @param ev * @throws Exception error when update all controlled pv's archiving status */ private void updateAllControlPVEnablMent(MonitorEvent ev) throws Exception { final DBR dbr = ev.getDBR(); boolean enable = DBR_Helper.decodeBooleanValue(dbr); ArrayList<String> copyOfControlledPVList = new ArrayList<String>(controlledPVList); if (enable) { enableAllPV = true; for (String pvName : copyOfControlledPVList) { logger.debug(pvName + " will be resumed"); ArchiveEngine.resumeArchivingPV(pvName, configservice); } } else { enableAllPV = false; for (String pvName : copyOfControlledPVList) { logger.debug(pvName + " will be paused"); ArchiveEngine.pauseArchivingPV(pvName, configservice); } } }