/** {@inheritDoc} */ @Override @MethodLog public long registerPlatformSensorTypeIdent(long platformId, String fullyQualifiedClassName) { PlatformSensorTypeIdent platformSensorTypeIdent; List<PlatformSensorTypeIdent> platformSensorTypeIdents = platformSensorTypeIdentDao.findByClassNameAndPlatformId( fullyQualifiedClassName, platformId); if (1 == platformSensorTypeIdents.size()) { platformSensorTypeIdent = platformSensorTypeIdents.get(0); } else { // only if it s not registered we need updating PlatformIdent platformIdent = platformIdentDao.load(platformId); platformSensorTypeIdent = new PlatformSensorTypeIdent(); platformSensorTypeIdent.setPlatformIdent(platformIdent); platformSensorTypeIdent.setFullyQualifiedClassName(fullyQualifiedClassName); Set<SensorTypeIdent> sensorTypeIdents = platformIdent.getSensorTypeIdents(); sensorTypeIdents.add(platformSensorTypeIdent); platformSensorTypeIdentDao.saveOrUpdate(platformSensorTypeIdent); platformIdentDao.saveOrUpdate(platformIdent); } return platformSensorTypeIdent.getId(); }
/** {@inheritDoc} */ @Override @MethodLog public long registerMethodSensorTypeIdent( long platformId, String fullyQualifiedClassName, Map<String, Object> parameters) { MethodSensorTypeIdent methodSensorTypeIdent; List<MethodSensorTypeIdent> methodSensorTypeIdents = methodSensorTypeIdentDao.findByClassNameAndPlatformId(fullyQualifiedClassName, platformId); if (1 == methodSensorTypeIdents.size()) { methodSensorTypeIdent = methodSensorTypeIdents.get(0); // update preferences methodSensorTypeIdent.setSettings(parameters); methodSensorTypeIdentDao.saveOrUpdate(methodSensorTypeIdent); } else { // only if the new sensor is registered we need to update the platform ident PlatformIdent platformIdent = platformIdentDao.load(platformId); methodSensorTypeIdent = new MethodSensorTypeIdent(); methodSensorTypeIdent.setPlatformIdent(platformIdent); methodSensorTypeIdent.setFullyQualifiedClassName(fullyQualifiedClassName); methodSensorTypeIdent.setSettings(parameters); Set<SensorTypeIdent> sensorTypeIdents = platformIdent.getSensorTypeIdents(); sensorTypeIdents.add(methodSensorTypeIdent); methodSensorTypeIdentDao.saveOrUpdate(methodSensorTypeIdent); platformIdentDao.saveOrUpdate(platformIdent); } return methodSensorTypeIdent.getId(); }
/** {@inheritDoc} */ @Override @Transactional @MethodLog public long registerJmxSensorTypeIdent(long platformId, String fullyQualifiedClassName) { JmxSensorTypeIdent jmxSensorTypeIdent = new JmxSensorTypeIdent(); jmxSensorTypeIdent.setFullyQualifiedClassName(fullyQualifiedClassName); List<JmxSensorTypeIdent> jmxSensorTypeIdents = jmxSensorTypeIdentDao.findByExample(platformId, jmxSensorTypeIdent); if (1 == jmxSensorTypeIdents.size()) { jmxSensorTypeIdent = jmxSensorTypeIdents.get(0); } else { PlatformIdent platformIdent = platformIdentDao.load(platformId); jmxSensorTypeIdent.setPlatformIdent(platformIdent); Set<SensorTypeIdent> sensorTypeIdents = platformIdent.getSensorTypeIdents(); sensorTypeIdents.add(jmxSensorTypeIdent); jmxSensorTypeIdentDao.saveOrUpdate(jmxSensorTypeIdent); platformIdentDao.saveOrUpdate(platformIdent); } return jmxSensorTypeIdent.getId(); }