List of usage examples for org.apache.commons.configuration HierarchicalConfiguration configurationAt
public SubnodeConfiguration configurationAt(String key)
From source file:com.eyeq.pivot4j.ui.property.ConditionalProperty.java
/** * @see com.eyeq.pivot4j.ui.property.AbstractProperty#saveSettings(org.apache.commons.configuration.HierarchicalConfiguration) *///w w w .ja va 2 s . com @Override public void saveSettings(HierarchicalConfiguration configuration) { super.saveSettings(configuration); if (defaultValue != null) { configuration.setProperty("default", defaultValue); } if (values != null) { int index = 0; configuration.setProperty("conditions", ""); SubnodeConfiguration configurations = configuration.configurationAt("conditions"); for (ConditionalValue value : values) { String prefix = String.format("condition-property(%s)", index++); configurations.setProperty(prefix + ".condition", ""); configurations.setProperty(prefix + ".value", value.getValue()); SubnodeConfiguration conditionConfig = configurations.configurationAt(prefix + ".condition"); value.getCondition().saveSettings(conditionConfig); } } }
From source file:com.vangent.hieos.empi.config.EMPIConfig.java
/** * * @param hc//w ww .ja v a 2 s. c o m * @throws EMPIException */ private void loadAccountNumberTreatmentConfig(HierarchicalConfiguration hc) throws EMPIException { HierarchicalConfiguration hcAccountNumberTreatment = hc.configurationAt(ACCOUNT_NUMBER_TREATMENT); accountNumberTreatmentConfig = new AccountNumberTreatmentConfig(); accountNumberTreatmentConfig.load(hcAccountNumberTreatment, this); }
From source file:net.datenwerke.sandbox.util.SandboxParser.java
public void configureSandboxService(SandboxService sandboxService, Configuration config) { if (!(config instanceof HierarchicalConfiguration)) throw new IllegalArgumentException("Expected HierarchicalConfiguration format"); HierarchicalConfiguration conf = (HierarchicalConfiguration) config; /* general properties */ SubnodeConfiguration properties = null; try {// www .j a va2 s . co m properties = conf.configurationAt("security.properties"); } catch (IllegalArgumentException e) { } if (null != properties) { /* remote */ boolean remoteConfig = properties.getBoolean("remote.configureService", false); if (remoteConfig) { boolean remote = properties.getBoolean("remote[@enable]", false); if (remote) { Integer poolsize = properties.getInteger("remote.jvm[@poolsize]", 2); Integer freelancersize = properties.getInteger("remote.jvm[@freelancersize]", 2); String vmArgs = properties.getString("remote.jvm.vmargs", null); Integer rmiMinPort = properties.getInteger("remote.jvm.rmi[@minport]", 10000); Integer rmiMaxPort = properties.getInteger("remote.jvm.rmi[@maxport]", 10200); sandboxService.shutdownJvmPool(); JvmPoolImpl jvmPoolImpl = new JvmPoolImpl( new JvmPoolConfigImpl(poolsize, freelancersize, new JvmInstantiatorImpl(rmiMinPort, rmiMaxPort, null != vmArgs && "".equals(vmArgs.trim()) ? null : vmArgs))); sandboxService.initJvmPool(jvmPoolImpl); } else { sandboxService.shutdownJvmPool(); } } /* daemons */ Integer monitorCheckInterval = properties.getInteger("monitor[@checkinterval]", 10); sandboxService.setMonitorDaemonCheckInterval(monitorCheckInterval); Integer monitorWatchdogCheckInterval = properties.getInteger("monitor[@watchdogCheckinterval]", 10000); sandboxService.setMonitorWatchdogCheckInterval(monitorWatchdogCheckInterval); /* codesource */ boolean enableCodesource = properties.getBoolean("codesource[@enable]", false); sandboxService.setCodesourceSecurityChecks(enableCodesource); } /* sandboxes */ parse(config); for (Entry<String, SandboxContext> e : getRestrictionSets().entrySet()) sandboxService.registerContext(e.getKey(), e.getValue()); }
From source file:edu.psu.citeseerx.messaging.MsgService.java
/** * Configures a JMS provider based on configuration, passing execution * to other handlers for specific channel descriptors. * @param config/*from www. j a va2s.c om*/ * @throws Exception */ private void processProvider(HierarchicalConfiguration config) throws Exception { String url = config.getString("url"); String clientID = config.getString("clientID"); JMSProvider provider = new JMSProvider(url); provider.setClientID(clientID); jmsProviders.put(url, provider); System.out.println("processing provider: " + url); List queues = config.getList("queue.name"); for (int i = 0; i < queues.size(); i++) { processChannel(provider, config.configurationAt("queue(" + i + ")"), QUEUE); } List topics = config.getList("topic.name"); for (int i = 0; i < topics.size(); i++) { processChannel(provider, config.configurationAt("topic(" + i + ")"), TOPIC); } }
From source file:edu.kit.dama.scheduler.servlet.JobSchedulerInitializerListener.java
/** * Load configuration from XML-File/* w ww.jav a 2 s . com*/ */ private void loadConfiguration() { URL configURL; HierarchicalConfiguration hc; try { configURL = DataManagerSettings.getConfigurationURL(); LOGGER.debug("Loading configuration from {}", configURL); hc = new HierarchicalConfiguration(new XMLConfiguration(configURL)); LOGGER.debug("Configuration successfully loaded"); } catch (ConfigurationException ex) { // error in configuration // reason see debug log message: LOGGER.warn("Failed to load configuration, using default values.", ex); loadDefaultConfiguration(); return; } SubnodeConfiguration configurationAt = hc.configurationAt(CONFIG_ROOT); if (configurationAt != null) { String jobStoreDriverParam = null; try { jobStoreDriverParam = configurationAt.getString(JOB_STORE_DRIVER, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", JOB_STORE_DRIVER); } if (jobStoreDriverParam != null) { jobStoreDriver = jobStoreDriverParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", JOB_STORE_DRIVER, DEFAULT_JOB_STORE_DRIVER); jobStoreDriver = DEFAULT_JOB_STORE_DRIVER; } String jobStoreConnectionStringParam = null; try { jobStoreConnectionStringParam = configurationAt.getString(JOB_STORE_CONNECTION_STRING, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", JOB_STORE_CONNECTION_STRING); } if (jobStoreConnectionStringParam != null) { jobStoreConnectionString = jobStoreConnectionStringParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", JOB_STORE_CONNECTION_STRING, DEFAULT_JOB_STORE_CONNECTION_STRING); jobStoreConnectionString = DEFAULT_JOB_STORE_CONNECTION_STRING; } String jobStoreUserParam = null; try { jobStoreUserParam = configurationAt.getString(JOB_STORE_USER, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", JOB_STORE_USER); } if (jobStoreUserParam != null) { jobStoreUser = jobStoreUserParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", JOB_STORE_USER, DEFAULT_JOB_STORE_USER); jobStoreUser = DEFAULT_JOB_STORE_USER; } String jobStorePasswordParam = null; try { jobStorePasswordParam = configurationAt.getString(JOB_STORE_PASSWORD, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", JOB_STORE_PASSWORD); } if (jobStoreUserParam != null) { jobStorePassword = jobStorePasswordParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", JOB_STORE_PASSWORD, DEFAULT_JOB_STORE_PASSWORD); jobStorePassword = DEFAULT_JOB_STORE_PASSWORD; } Boolean waitOnShutdownParam = null; try { waitOnShutdownParam = configurationAt.getBoolean(CONFIG_WAIT_ON_SHUTDOWN, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", CONFIG_WAIT_ON_SHUTDOWN); } if (waitOnShutdownParam != null) { waitOnShutdown = waitOnShutdownParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", CONFIG_WAIT_ON_SHUTDOWN, DEFAULT_WAIT_ON_SHUTDOWN); waitOnShutdown = DEFAULT_WAIT_ON_SHUTDOWN; } Boolean addDefaultSchedulesParam = null; try { addDefaultSchedulesParam = configurationAt.getBoolean(ADD_DEFAULT_SCHEDULES, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", ADD_DEFAULT_SCHEDULES); } if (addDefaultSchedulesParam != null) { addDefaultSchedules = addDefaultSchedulesParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", ADD_DEFAULT_SCHEDULES, DEFAULT_ADD_DEFAULT_SCHEDULES); addDefaultSchedules = DEFAULT_ADD_DEFAULT_SCHEDULES; } Integer startDelaySecondsParam = null; try { startDelaySecondsParam = configurationAt.getInteger(CONFIG_START_DELAY_SECONDS, null); } catch (ConversionException ex) { LOGGER.error("Failed to parse parameter '{}'.", CONFIG_START_DELAY_SECONDS); } if (startDelaySecondsParam != null) { startDelaySeconds = startDelaySecondsParam; } else { LOGGER.info("No parameter '{}' defined, defaulting to {}.", CONFIG_START_DELAY_SECONDS, DEFAULT_START_DELAY_SECONDS); startDelaySeconds = DEFAULT_START_DELAY_SECONDS; } } else { LOGGER.info("No scheduler configuration node found in datamanager config. Using default values."); } }
From source file:edu.kit.dama.mdm.core.MetaDataManagement.java
/** * Load configuration from XML-File// w w w . j a va2 s .c om */ private void loadConfiguration() { String firstImplementation = null; String firstPersistenceUnit = null; HierarchicalConfiguration hc = null; List<String> persistenceUnits = null; URL configURL = null; try { configURL = DataManagerSettings.getConfigurationURL(); LOGGER.debug("Loading configuration from {}", configURL); hc = new HierarchicalConfiguration(new XMLConfiguration(configURL)); LOGGER.debug("Configuration successfully loaded"); } catch (ConfigurationException ex) { // error in configuration // reason see debug log message: LOGGER.error("Failed to load configuration.", ex); throw new RuntimeException(ex); } SubnodeConfiguration configurationAt = hc.configurationAt(CONFIG_ROOT); List fields = configurationAt.configurationsAt(CONFIG_PERSISTENCE_IMPL); LOGGER.debug("Found {} configured persistence implementations", fields.size()); persistenceUnitMap = new HashMap<>(); persistenceClassMap = new HashMap<>(); persistenceUnitDefaultMap = new HashMap<>(); String implementationName; IPersistenceFactory iPersistenceFactory = null; for (Iterator it = fields.iterator(); it.hasNext();) { HierarchicalConfiguration sub = (HierarchicalConfiguration) it.next(); LOGGER.debug("Reading sub-configuration"); // First get all persistence units. persistenceUnits = new ArrayList<>(); try { List<HierarchicalConfiguration> persistenceUnitsList = sub .configurationsAt(CONFIG_PERSISTENCE_UNIT); if (persistenceUnitsList == null) { persistenceUnitsList = new LinkedList<>(); } LOGGER.debug("Configuration contains {} persistence units.", persistenceUnitsList.size()); firstPersistenceUnit = null; for (HierarchicalConfiguration item : persistenceUnitsList) { String value = item.getString("."); String defaultAttribute = item.getString("[@default]"); LOGGER.debug("PersistenceUnit found: " + value); LOGGER.debug("@default = {}", defaultAttribute); if (Boolean.parseBoolean(defaultAttribute)) { if (firstPersistenceUnit == null) { LOGGER.debug("{} is used as default persistence unit.", value); firstPersistenceUnit = value; } else { LOGGER.warn( "{} is an additional persistence unit defined as default. We'll ignore this.", value); } } LOGGER.debug("Adding persistence unit to list of units."); persistenceUnits.add(value); } } catch (Exception any) { LOGGER.error("Failed to read persistence units.", any); } LOGGER.debug("firstPersistenceUnit: " + firstPersistenceUnit); if ((persistenceUnits.size() > 0) && (firstPersistenceUnit == null)) { LOGGER.debug("No default persistence unit defined. Using first entry ({})", persistenceUnits.get(0)); firstPersistenceUnit = persistenceUnits.get(0); } LOGGER.debug("Getting implementation name."); implementationName = sub.getString(CONFIG_PERSISTENCE_NAME); LOGGER.debug("Implementation name '{}' found.", implementationName); if (firstImplementation == null) { LOGGER.debug("Using implementation '{}' as first implementation.", implementationName); firstImplementation = implementationName; } LOGGER.debug("Testing implementation '{}'", implementationName); if (sub.containsKey(CONFIG_DEFAULT_PERSISTENCE)) { LOGGER.debug("'{}' is configured as default implementation.", implementationName); if (defaultImplementation != null) { LOGGER.warn("{} is an additional implementation defined as default. We'll ignore this.", implementationName); } else { defaultImplementation = implementationName; } } Class<?> loadClass; boolean success = false; String persistenceClass = sub.getString(CONFIG_PERSISTENCE_CLASS); try { LOGGER.debug("Loading class '{}': ", persistenceClass); loadClass = getClass().getClassLoader().loadClass(persistenceClass); LOGGER.debug("Checking IPersistenceFactory.class.assignableFrom({})", persistenceClass); success = IPersistenceFactory.class.isAssignableFrom(loadClass); iPersistenceFactory = null; if (success) { LOGGER.debug("Creating instance of class {}", persistenceClass); iPersistenceFactory = (IPersistenceFactory) loadClass.newInstance(); LOGGER.debug("Persistence factory successfully instantiated."); } else { LOGGER.error("IPersistenceFactory seems not to be assignable from class {}", persistenceClass); } } catch (InstantiationException | IllegalAccessException | ClassNotFoundException ex) { LOGGER.error("Failed to create instance of persistence implementation " + persistenceClass, ex); success = false; } if (success) { persistenceUnitMap.put(implementationName, persistenceUnits); persistenceClassMap.put(implementationName, iPersistenceFactory); persistenceUnitDefaultMap.put(implementationName, firstPersistenceUnit); } else { throw new edu.kit.dama.mdm.core.exception.ConfigurationException( "Failed to initialize persistence factory from URL '" + configURL + "'. See logfile for details."); } } if (defaultImplementation == null) { LOGGER.debug("Default implementation not set, yet. Using first one ({}) as default.", firstImplementation); defaultImplementation = firstImplementation; } }
From source file:at.ac.tuwien.auto.iotsys.gateway.connectors.knx.KNXDeviceLoaderETSImpl.java
private void parseGroupAddressConfig(HierarchicalConfiguration groupConfig, Hashtable<String, String> groupAddressByDatapointId) { // if there are no group elements return for (int groupsIdx = 0; groupsIdx < sizeOfConfiguration( groupConfig.getProperty("group.[@id]")); groupsIdx++) { String groupAddress = groupConfig.getString("group(" + groupsIdx + ").[@address]"); // find instance elements for this group HierarchicalConfiguration concreteGroup = groupConfig.configurationAt("group(" + groupsIdx + ")"); for (int instanceIdx = 0; instanceIdx < sizeOfConfiguration( concreteGroup.getProperty("instance.[@id]")); instanceIdx++) { String instanceId = concreteGroup.getString("instance(" + instanceIdx + ").[@id]"); log.info("Mapping instanceID: " + instanceId + " to " + groupAddress); if (!groupAddressByDatapointId.containsKey(instanceId)) groupAddressByDatapointId.put(instanceId, groupAddress); }//from w w w .j av a 2 s . co m // recursively perform this method for nested groups parseGroupAddressConfig(concreteGroup, groupAddressByDatapointId); } }
From source file:com.intuit.tank.vm.settings.VmManagerConfig.java
/** * /*from ww w.j a v a2 s .c o m*/ * @param config */ @SuppressWarnings("unchecked") public VmManagerConfig(@Nonnull HierarchicalConfiguration config) { this.config = config; if (this.config != null) { List<HierarchicalConfiguration> creds = config.configurationsAt("credentials"); if (creds != null) { for (HierarchicalConfiguration credentialsConfig : creds) { CloudCredentials cloudCredentials = new CloudCredentials(credentialsConfig); credentialsMap.put(cloudCredentials.getType(), cloudCredentials); } } List<HierarchicalConfiguration> tags = config.configurationsAt("tags/tag"); if (tags != null) { for (HierarchicalConfiguration tagsConfig : tags) { InstanceTag tag = new InstanceTag(tagsConfig.getString("@name"), tagsConfig.getString("")); if (tag.isValid()) { tagList.add(tag); } } } HierarchicalConfiguration defaultInstance = config.configurationAt("default-instance-description"); List<HierarchicalConfiguration> regionConfigs = config.configurationsAt("instance-descriptions"); if (regionConfigs != null) { for (HierarchicalConfiguration regionConfig : regionConfigs) { VMRegion region = VMRegion.valueOf(regionConfig.getString("@region")); Map<VMImageType, InstanceDescription> instanceMap = new HashMap<VMImageType, InstanceDescription>(); regionMap.put(region, instanceMap); List<HierarchicalConfiguration> instanceConfigs = regionConfig .configurationsAt("instance-descripion"); for (HierarchicalConfiguration instanceConfig : instanceConfigs) { InstanceDescription description = new InstanceDescription(instanceConfig, defaultInstance); instanceMap.put(description.getType(), description); } } } // get reserved elastic ips List<HierarchicalConfiguration> eipConfig = config.configurationsAt("reserved-elastic-ips/eip"); if (eipConfig != null) { for (HierarchicalConfiguration eip : eipConfig) { reservedElasticIps.add(eip.getString("")); } } // get instance type definitions List<HierarchicalConfiguration> instanceTypesConfig = config.configurationsAt("instance-types/type"); instanceTypes = new ArrayList<VmInstanceType>(); if (instanceTypesConfig != null) { for (HierarchicalConfiguration instanceTypeConfig : instanceTypesConfig) { // example: <type name="c3.large" cost=".105" users="500" cpus="2" ecus="7" mem="3.75" /> VmInstanceType type = VmInstanceType.builder().withName(instanceTypeConfig.getString("@name")) .withCost(instanceTypeConfig.getDouble("@cost", 0D)) .withMemory(instanceTypeConfig.getDouble("@mem", 0D)) .withJvmArgs(instanceTypeConfig.getString("@jvmArgs")) .withEcus(instanceTypeConfig.getInt("@ecus", 0)) .withCpus(instanceTypeConfig.getInt("@cpus", 0)) .withDefault(instanceTypeConfig.getBoolean("@default", false)) .withUsers(instanceTypeConfig.getInt("@users", 0)).build(); instanceTypes.add(type); } } } }
From source file:at.ac.tuwien.auto.iotsys.gateway.connectors.knx.KNXDeviceLoaderETSImpl.java
private void parseBuildingView(HierarchicalConfiguration partConfig, Obj parent, Network n, ObjectBroker objectBroker, Hashtable<String, EntityImpl> entityById) { for (int partsIdx = 0; partsIdx < sizeOfConfiguration(partConfig.getProperty("part.[@id]")); partsIdx++) { String partId = partConfig.getString("part(" + partsIdx + ").[@id]"); String partName = arrayToString(partConfig.getStringArray("part(" + partsIdx + ").[@name]")); String partDescription = arrayToString( partConfig.getStringArray("part(" + partsIdx + ").[@description]")); String partType = partConfig.getString("part(" + partsIdx + ").[@type]"); PartImpl part = new PartImpl(partId, partName, partDescription, partType); // add part to parent part if (parent instanceof ViewBuildingImpl) ((ViewBuildingImpl) parent).addPart(part); else if (parent instanceof PartImpl) ((PartImpl) parent).addPart(part); else/*from ww w.jav a 2 s . c o m*/ parent.add(part); objectBroker.addObj(part, true); // add instances to part HierarchicalConfiguration concretePart = partConfig.configurationAt("part(" + partsIdx + ")"); for (int instanceIdx = 0; instanceIdx < sizeOfConfiguration( concretePart.getProperty("instance.[@id]")); instanceIdx++) { String instanceId = concretePart.getString("instance(" + instanceIdx + ").[@id]"); Obj instance = part.addInstance(entityById.get(instanceId)); objectBroker.addObj(instance); } // recursively add more parts parseBuildingView(concretePart, part, n, objectBroker, entityById); } }
From source file:at.ac.tuwien.auto.iotsys.gateway.connectors.knx.KNXDeviceLoaderETSImpl.java
private void parseEntites(KNXConnector knxConnector, ObjectBroker objectBroker, Hashtable<String, EntityImpl> entityById, Hashtable<String, DatapointImpl> datapointById, NetworkImpl n, Hashtable<String, String> resourceById, Hashtable<String, String> groupAddressByDatapointID, boolean enableGroupComm, boolean enableHistories) { for (int entityIdx = 0; entityIdx < sizeOfConfiguration( devicesConfig.getProperty("entities.entity[@id]")); entityIdx++) { // Entity HierarchicalConfiguration entityConfig = devicesConfig .configurationAt("entities.entity(" + entityIdx + ")"); String entityId = entityConfig.getString("[@id]"); String entityName = arrayToString(entityConfig.getStringArray("[@name]")); String entityDescription = arrayToString(entityConfig.getStringArray("[@description]")); String entityOrderNumber = entityConfig.getString("[@orderNumber]"); String entityManufacturerId = entityConfig.getString("[@manufacturerId]"); EntityImpl entity = new EntityImpl(entityId, entityName, entityDescription, resourceById.get(entityManufacturerId), entityOrderNumber); entityById.put(entityId, entity); n.getEntities().addEntity(entity); objectBroker.addObj(entity, true); // Translations for (int transIdx = 0; transIdx < sizeOfConfiguration( entityConfig.getProperty("translations.translation[@language]")); transIdx++) { HierarchicalConfiguration transConfig = entityConfig .configurationAt("translations.translation(" + transIdx + ")"); String language = transConfig.getString("[@language]"); String attribute = transConfig.getString("[@attribute]"); String value = arrayToString(transConfig.getStringArray("[@value]")); try { entity.addTranslation(language, attribute, value); } catch (Exception e) { log.warning(e.getMessage()); }// w ww.ja va 2s. c o m } // DPs for (int datapointIdx = 0; datapointIdx < sizeOfConfiguration( entityConfig.getProperty("datapoints.datapoint[@id]")); datapointIdx++) { HierarchicalConfiguration datapointConfig = entityConfig .configurationAt("datapoints.datapoint(" + datapointIdx + ")"); String dataPointName = arrayToString(datapointConfig.getStringArray("[@name]")); String dataPointTypeIds = datapointConfig.getString("[@datapointTypeIds]"); String dataPointId = datapointConfig.getString("[@id]"); String dataPointDescription = arrayToString(datapointConfig.getStringArray("[@description]")); String dataPointWriteFlag = datapointConfig.getString("[@writeFlag]"); String dataPointReadFlag = datapointConfig.getString("[@readFlag]"); // String dataPointPriority = datapointConfig.getString("[@priority]"); // String dataPointCommunicationFlag = datapointConfig.getString("[@communicationFlag]"); // String dataPointReadOnInitFlag = datapointConfig.getString("[@readOnInitFlag]"); // String dataPointTransmitFlag = datapointConfig.getString("[@transmitFlag]"); // String updateFlag = datapointConfig.getString("[@updateFlag]"); // use only the first DPTS if (dataPointTypeIds.indexOf(" ") >= 0) { dataPointTypeIds = dataPointTypeIds.substring(0, dataPointTypeIds.indexOf(" ")); } log.info("Found data point type id: " + dataPointTypeIds); String clazzName = "at.ac.tuwien.auto.iotsys.gateway.obix.objects.knx.datapoint.impl." + dataPointTypeIds.replace('-', '_') + "_ImplKnx"; Class<?> clazz = null; try { log.info("Loading: " + clazzName); clazz = Class.forName(clazzName); } catch (ClassNotFoundException e) { log.warning(clazzName + " not found. Cannot instantiate according sub data point type. Trying fallback to generic main type."); int firstIndexOf = dataPointTypeIds.indexOf('-'); int secondIndexOf = dataPointTypeIds.indexOf('-', firstIndexOf + 1); clazzName = "at.ac.tuwien.auto.iotsys.gateway.obix.objects.knx.datapoint.impl." + "DPT_" + dataPointTypeIds.substring(firstIndexOf + 1, secondIndexOf) + "_ImplKnx"; // try { log.info("Loading: " + clazzName); clazz = Class.forName(clazzName); } catch (ClassNotFoundException e1) { e1.printStackTrace(); log.warning(clazzName + " not found. Cannot instantiate according main data point type."); } } try { if (clazz != null) { Constructor<?> constructor = clazz.getConstructor(KNXConnector.class, DataPointInit.class); Object[] object = new Object[2]; object[0] = knxConnector; DataPointInit dptInit = new DataPointInit(); dptInit.setDisplay(dataPointDescription); dptInit.setDisplayName(dataPointName); dptInit.setReadable( EnumsImpl.getInstance().getEnum(EnumEnabled.HREF).getBool(dataPointReadFlag)); dptInit.setName(dataPointId); dptInit.setGroupAddress( new GroupAddress(Integer.parseInt(groupAddressByDatapointID.get(dataPointId)))); dptInit.setWritable( EnumsImpl.getInstance().getEnum(EnumEnabled.HREF).getBool(dataPointWriteFlag)); object[1] = dptInit; DatapointImpl dataPoint = (DatapointImpl) constructor.newInstance(object); datapointById.put(dataPointId, dataPoint); entity.addDatapoint(dataPoint); if (enableGroupComm) objectBroker.enableGroupComm(dataPoint); if (enableHistories) objectBroker.addHistoryToDatapoints(dataPoint); objectBroker.addObj(dataPoint, true); // Search for child "value" Obj dpValue = dataPoint.get("value"); if (dpValue != null) { dpValue.setDisplayName(dataPointDescription); } // Translations (DP) for (int transIdx = 0; transIdx < sizeOfConfiguration( datapointConfig.getProperty("translations.translation[@language]")); transIdx++) { HierarchicalConfiguration transConfig = datapointConfig .configurationAt("translations.translation(" + transIdx + ")"); String language = transConfig.getString("[@language]"); String attribute = transConfig.getString("[@attribute]"); String value = arrayToString(transConfig.getStringArray("[@value]")); try { dataPoint.addTranslation(language, attribute, value); // translation for DisplayName of value if (attribute.toLowerCase().trim().equals("description") && dpValue != null) { dpValue.addTranslation(language, TranslationAttribute.displayName, value); } } catch (Exception e) { log.warning(e.getMessage()); } } } } catch (NoSuchMethodException e) { log.warning(clazzName + " no such method. Cannot instantiate according datapoint."); } catch (SecurityException e) { log.warning(clazzName + " security exception. Cannot instantiate according datapoint."); } catch (InstantiationException e) { log.warning(clazzName + " instantiation exception. Cannot instantiate according datapoint."); } catch (IllegalAccessException e) { log.warning(clazzName + " illegal access exception. Cannot instantiate according datapoint."); } catch (IllegalArgumentException e) { log.warning(clazzName + " illegal argument exception. Cannot instantiate according datapoint."); e.printStackTrace(); } catch (InvocationTargetException e) { log.warning( clazzName + " invocation target exception. Cannot instantiate according datapoint."); e.printStackTrace(); } } } }