List of usage examples for org.apache.commons.configuration Configuration isEmpty
boolean isEmpty();
From source file:org.apache.torque.TorqueInstance.java
/** * Reads the settings for the DataSourceFactories from the * configuration and creates and/or configures the DataSourceFactories * and the database objects./*from w ww.j av a 2 s . c o m*/ * If no DataSorceFactory is assigned to the database with the name * <code>DEFAULT_NAME</code>, a reference to the DataSourceFactory * of the default database is made from the database with the name * <code>DEFAULT_NAME</code>. * * @param conf the Configuration representing the properties file. * * @throws TorqueException Any exceptions caught during processing will be * rethrown wrapped into a TorqueException. */ private void initDataSourceFactories(Configuration conf) throws TorqueException { log.debug("initDataSourceFactories(" + conf + ")"); Configuration c = conf.subset(DataSourceFactory.DSFACTORY_KEY); if (c == null || c.isEmpty()) { String error = "Invalid configuration: " + "No keys starting with " + Torque.TORQUE_KEY + "." + DataSourceFactory.DSFACTORY_KEY + " found in configuration"; log.error(error); throw new TorqueException(error); } // read dsfactory config (may contain schema) try { for (Iterator<?> it = c.getKeys(); it.hasNext();) { String key = (String) it.next(); if (key.endsWith(DataSourceFactory.FACTORY_KEY)) { String classname = c.getString(key); String handle = key.substring(0, key.indexOf('.')); log.debug("handle: " + handle + " DataSourceFactory: " + classname); Class<?> dsfClass = Class.forName(classname); DataSourceFactory dsf = (DataSourceFactory) dsfClass.newInstance(); Configuration subConf = c.subset(handle); dsf.initialize(subConf); Database database = getOrCreateDatabase(handle); database.setDataSourceFactory(dsf); // deprecated method of schema configuration // TODO: remove in Torque 4.1 String schema = subConf.getString(Torque.SCHEMA_KEY, null); if (!StringUtils.isEmpty(schema)) { log.warn("Defining the schema in the dsfactory " + "is deprecated, please configure it " + "via the config key " + "torque.database.${databasename}.schema"); } database.setSchema(schema); } } } catch (RuntimeException e) { log.error("Error reading DataSourceFactory configuration", e); throw new TorqueRuntimeException(e); } catch (Exception e) { log.error("Error reading DataSourceFactory configuration", e); throw new TorqueException(e); } Database defaultDatabase = databases.get(defaultDBName); if (defaultDatabase == null || defaultDatabase.getDataSourceFactory() == null) { String error = "Invalid configuration : " + "No DataSourceFactory definition for default DB found. " + "A DataSourceFactory must be defined under the key" + Torque.TORQUE_KEY + "." + DataSourceFactory.DSFACTORY_KEY + "." + defaultDBName + "." + DataSourceFactory.FACTORY_KEY; log.error(error); throw new TorqueException(error); } }
From source file:org.apache.torque.TorqueInstance.java
/** * Reads the schema configuration from the database definitions in * the configuration and assigns the defined schemata to the databases. * * @param conf the Configuration representing the properties file. * * @throws TorqueException Any exceptions caught during processing will be * rethrown wrapped into a TorqueException. *//*www .ja v a2s .c o m*/ private void initSchemata(Configuration conf) throws TorqueException { log.debug("initSchemata(" + conf + ")"); // read schema configuration from database setting Configuration c = conf.subset(Torque.DATABASE_KEY); if (c == null || c.isEmpty()) { String error = "Invalid configuration: " + "No keys starting with " + Torque.TORQUE_KEY + "." + Torque.DATABASE_KEY + " found in configuration"; log.error(error); throw new TorqueException(error); } try { for (Iterator<?> it = c.getKeys(); it.hasNext();) { String key = (String) it.next(); int indexOfDot = key.indexOf('.'); if (indexOfDot == -1) { continue; } String handle = key.substring(0, indexOfDot); log.debug("database handle: " + handle); Configuration subConf = c.subset(handle); Database database = getOrCreateDatabase(handle); String schema = subConf.getString(Torque.SCHEMA_KEY, null); // check database schema because schema may have already been // set via the dsfactory if (StringUtils.isEmpty(schema)) { schema = database.getSchema(); } if (StringUtils.isEmpty(schema)) { schema = conf.getString(Torque.DEFAULT_SCHEMA_KEY, null); } database.setSchema(schema); } } catch (RuntimeException e) { log.error("Error reading DataSourceFactory configuration", e); throw new TorqueRuntimeException(e); } catch (Exception e) { log.error("Error reading DataSourceFactory configuration", e); throw new TorqueException(e); } }
From source file:org.apache.torque.TorqueInstance.java
/** * Sets the configuration for Torque and all dependencies. * The prefix <code>TORQUE_KEY</code> will be removed from the * configuration keys for the provided configuration. * * @param conf the Configuration./*from w w w .j a v a 2 s .co m*/ * * @throws TorqueException if the configuration does not contain * any keys starting with <code>Torque.TORQUE_KEY</code>. */ public void setConfiguration(Configuration conf) throws TorqueException { log.debug("setConfiguration(" + conf + ")"); Configuration subConf = conf.subset(Torque.TORQUE_KEY); if (subConf == null || subConf.isEmpty()) { String error = ("Invalid configuration. No keys starting with " + Torque.TORQUE_KEY + " found in configuration"); log.error(error); throw new TorqueException(error); } this.conf = subConf; }
From source file:org.glite.slcs.shibclient.metadata.ShibbolethClientMetadata.java
protected void checkConfiguration() throws SLCSConfigurationException { Configuration metadata = getConfiguration().subset("ShibbolethClientMetadata"); if (metadata.isEmpty()) { String filename = getFilename(); LOG.error("ShibbolethClientMetadata(" + filename + "): Element ShibbolethClientMetadata missing"); throw new SLCSConfigurationException( "Element ShibbolethClientMetadata not defined or empty in: " + filename); }/* ww w .j a v a2 s. co m*/ }
From source file:org.glite.slcs.shibclient.metadata.ShibbolethClientMetadata.java
/** * Parses the <ShibbolethClientMetadata> element and return a map of (id,idpObject) * @return a Map of (idpID,idpObject)//from w ww. ja v a2 s .c o m * @throws SLCSConfigurationException */ private Map<String, Provider> parseProviders() throws SLCSConfigurationException { Map<String, Provider> entities = new HashMap<String, Provider>(); LOG.debug("get configuration subset: ShibbolethClientMetadata"); Configuration metadata = getConfiguration().subset("ShibbolethClientMetadata"); // external metadata defined with filename= attribute? String metadataFilename = metadata.getString("[@filename]"); LOG.debug("metadata filename=" + metadataFilename); String metadataUrl = metadata.getString("[@url]"); LOG.debug("metadata url=" + metadataUrl); if (metadataFilename != null) { // load external metadata file try { LOG.info("load metadata from file: " + metadataFilename); FileConfiguration metadataFileConfiguration = loadConfiguration(metadataFilename); metadataSource_ = metadataFileConfiguration.getFile().getAbsolutePath(); metadata = metadataFileConfiguration; } catch (SLCSConfigurationException e) { LOG.error("Failed to load external ShibbolethClientMetadata: " + metadataFilename, e); throw e; } } // check for metadata url and download else if (metadataUrl != null) { // download external metadata file try { URL url = new URL(metadataUrl); LOG.info("download metadata from url: " + url); // httpclient is used to download the config metadata = downloadConfiguration(url); metadataSource_ = metadataUrl; } catch (MalformedURLException mue) { LOG.error("Invalid URL for external ShibbolethClientMetadata: " + metadataUrl, mue); throw new SLCSConfigurationException( "ShibbolethClientMetadata url=" + metadataUrl + " parameter is invalid", mue); } catch (SLCSConfigurationException sce) { LOG.error("Failed to download ShibbolethClientMetadata from: " + metadataUrl, sce); throw sce; } } else { LOG.info("inline metadata from: " + getFilename()); metadataSource_ = getFilename(); } // process metadata String name = null; String url = null; String id = null; Configuration config = null; // SLCS SP config = metadata.subset("ServiceProvider"); if (!config.isEmpty()) { LOG.debug("ServiceProvider element found"); id = config.getString("[@id]"); if (id == null || id.equals("")) { id = DEFAULT_SLCS_PROVIDERID; } this.slcsProviderId_ = id; name = config.getString("name"); url = config.getString("url"); ServiceProvider sp = new ServiceProvider(id, name, url); LOG.debug("add " + sp); entities.put(id, sp); } else { throw new SLCSConfigurationException("ServiceProvider element not found in metadata"); } // All IdPs Configuration idpsConfig = metadata.subset("IdentityProviders"); if (idpsConfig.isEmpty()) { throw new SLCSConfigurationException("IdentityProviders element not found in metadata"); } List<String> idps = idpsConfig.getList("IdentityProvider[@id]"); int nIdp = idps.size(); if (nIdp < 1) { throw new SLCSConfigurationException("No IdentityProvider element found in metadata"); } LOG.debug(nIdp + " IdentityProvider elements found"); for (int i = 0; i < nIdp; i++) { config = idpsConfig.subset("IdentityProvider(" + i + ")"); id = config.getString("[@id]"); name = config.getString("name"); url = config.getString("url"); String authTypeName = config.getString("authentication[@type]"); String authUrl = config.getString("authentication.url"); if (authUrl == null) { authUrl = url; } IdentityProvider idp = new IdentityProvider(id, name, url, authTypeName, authUrl); // optional entityID for SAML2 support String entityID = config.getString("[@entityID]"); if (entityID != null) { idp.setEntityID(entityID); } if (idp.getAuthType() == IdentityProvider.SSO_AUTHTYPE_CAS || idp.getAuthType() == IdentityProvider.SSO_AUTHTYPE_PUBCOOKIE || idp.getAuthType() == IdentityProvider.SSO_AUTHTYPE_FORM) { // read form name and username and password field names String formName = config.getString("authentication.form[@name]", ""); idp.setAuthFormName(formName); String formUsername = config.getString("authentication.form.username"); idp.setAuthFormUsername(formUsername); String formPassword = config.getString("authentication.form.password"); idp.setAuthFormPassword(formPassword); } else { // basic or ntlm String realm = config.getString("authentication.realm"); idp.setAuthRealm(realm); } LOG.debug("add " + idp); entities.put(id, idp); } return entities; }
From source file:org.lable.oss.dynamicconfig.core.commonsconfiguration.ConcurrentConfigurationTest.java
@Test public void testMethodWrappers() { CombinedConfiguration mockConfiguration = mock(CombinedConfiguration.class); Configuration concurrentConfiguration = new ConcurrentConfiguration(mockConfiguration, null); concurrentConfiguration.subset("subset"); concurrentConfiguration.isEmpty(); concurrentConfiguration.containsKey("key"); concurrentConfiguration.getProperty("getprop"); concurrentConfiguration.getKeys("getkeys"); concurrentConfiguration.getKeys();/*from w ww. j a v a2 s .co m*/ concurrentConfiguration.getProperties("getprops"); concurrentConfiguration.getBoolean("getboolean1"); concurrentConfiguration.getBoolean("getboolean2", true); concurrentConfiguration.getBoolean("getboolean3", Boolean.FALSE); concurrentConfiguration.getByte("getbyte1"); concurrentConfiguration.getByte("getbyte2", (byte) 0); concurrentConfiguration.getByte("getbyte3", Byte.valueOf((byte) 0)); concurrentConfiguration.getDouble("getdouble1"); concurrentConfiguration.getDouble("getdouble2", 0.2); concurrentConfiguration.getDouble("getdouble3", Double.valueOf(0.2)); concurrentConfiguration.getFloat("getfloat1"); concurrentConfiguration.getFloat("getfloat2", 0f); concurrentConfiguration.getFloat("getfloat3", Float.valueOf(0f)); concurrentConfiguration.getInt("getint1"); concurrentConfiguration.getInt("getint2", 0); concurrentConfiguration.getInteger("getint3", 0); concurrentConfiguration.getLong("getlong1"); concurrentConfiguration.getLong("getlong2", 0L); concurrentConfiguration.getLong("getlong3", Long.valueOf(0L)); concurrentConfiguration.getShort("getshort1"); concurrentConfiguration.getShort("getshort2", (short) 0); concurrentConfiguration.getShort("getshort3", Short.valueOf((short) 0)); concurrentConfiguration.getBigDecimal("getbigd1"); concurrentConfiguration.getBigDecimal("getbigd2", BigDecimal.valueOf(0.4)); concurrentConfiguration.getBigInteger("getbigi1"); concurrentConfiguration.getBigInteger("getbigi2", BigInteger.valueOf(2L)); concurrentConfiguration.getString("getstring1"); concurrentConfiguration.getString("getstring2", "def"); concurrentConfiguration.getStringArray("stringarray"); concurrentConfiguration.getList("getlist1"); concurrentConfiguration.getList("getlist2", Arrays.asList("a", "b")); verify(mockConfiguration, times(1)).subset("subset"); verify(mockConfiguration, times(1)).isEmpty(); verify(mockConfiguration, times(1)).containsKey("key"); verify(mockConfiguration, times(1)).getProperty("getprop"); verify(mockConfiguration, times(1)).getKeys("getkeys"); verify(mockConfiguration, times(1)).getKeys(); verify(mockConfiguration, times(1)).getProperties("getprops"); verify(mockConfiguration, times(1)).getBoolean("getboolean1"); verify(mockConfiguration, times(1)).getBoolean("getboolean2", true); verify(mockConfiguration, times(1)).getBoolean("getboolean3", Boolean.FALSE); verify(mockConfiguration, times(1)).getByte("getbyte1"); verify(mockConfiguration, times(1)).getByte("getbyte2", (byte) 0); verify(mockConfiguration, times(1)).getByte("getbyte3", Byte.valueOf((byte) 0)); verify(mockConfiguration, times(1)).getDouble("getdouble1"); verify(mockConfiguration, times(1)).getDouble("getdouble2", 0.2); verify(mockConfiguration, times(1)).getDouble("getdouble3", Double.valueOf(0.2)); verify(mockConfiguration, times(1)).getFloat("getfloat1"); verify(mockConfiguration, times(1)).getFloat("getfloat2", 0f); verify(mockConfiguration, times(1)).getFloat("getfloat3", Float.valueOf(0f)); verify(mockConfiguration, times(1)).getInt("getint1"); verify(mockConfiguration, times(1)).getInt("getint2", 0); verify(mockConfiguration, times(1)).getInteger("getint3", Integer.valueOf(0)); verify(mockConfiguration, times(1)).getLong("getlong1"); verify(mockConfiguration, times(1)).getLong("getlong2", 0L); verify(mockConfiguration, times(1)).getLong("getlong3", Long.valueOf(0L)); verify(mockConfiguration, times(1)).getShort("getshort1"); verify(mockConfiguration, times(1)).getShort("getshort2", (short) 0); verify(mockConfiguration, times(1)).getShort("getshort3", Short.valueOf((short) 0)); verify(mockConfiguration, times(1)).getBigDecimal("getbigd1"); verify(mockConfiguration, times(1)).getBigDecimal("getbigd2", BigDecimal.valueOf(0.4)); verify(mockConfiguration, times(1)).getBigInteger("getbigi1"); verify(mockConfiguration, times(1)).getBigInteger("getbigi2", BigInteger.valueOf(2L)); verify(mockConfiguration, times(1)).getString("getstring1"); verify(mockConfiguration, times(1)).getString("getstring2", "def"); verify(mockConfiguration, times(1)).getStringArray("stringarray"); verify(mockConfiguration, times(1)).getList("getlist1"); verify(mockConfiguration, times(1)).getList("getlist2", Arrays.asList("a", "b")); }
From source file:org.restcomm.connect.dao.mybatis.MybatisExtensionsConfigurationDao.java
@Override public boolean validate(ExtensionConfiguration extensionConfiguration) { ExtensionConfiguration.configurationType configurationType = extensionConfiguration.getConfigurationType(); if (configurationType.equals(ExtensionConfiguration.configurationType.JSON)) { Gson gson = new Gson(); try {//w w w . j av a2s . c o m Object o = gson.fromJson((String) extensionConfiguration.getConfigurationData(), Object.class); String json = new GsonBuilder().setPrettyPrinting().create().toJson(o); return (json != null || !json.isEmpty()); } catch (Exception e) { if (logger.isDebugEnabled()) { logger.debug("invalid json format, exception: " + e); } } finally { gson = null; } } else if (configurationType.equals(ExtensionConfiguration.configurationType.XML)) { Configuration xml = null; try { XMLConfiguration xmlConfiguration = new XMLConfiguration(); xmlConfiguration.setDelimiterParsingDisabled(true); xmlConfiguration.setAttributeSplittingDisabled(true); InputStream is = IOUtils.toInputStream(extensionConfiguration.getConfigurationData().toString()); xmlConfiguration.load(is); xml = xmlConfiguration; return (xml != null || !xml.isEmpty()); } catch (Exception e) { if (logger.isDebugEnabled()) { logger.debug("invalid xml document, exception: " + e); } } finally { xml = null; } } return false; }
From source file:org.restcomm.connect.dns.DnsProvisioningManagerProvider.java
/** * @return initialized instance of DnsProvisioningManager *///www . j av a 2 s. c o m private DnsProvisioningManager create() { Configuration dnsProvisioningConfiguration = configuration.subset("dns-provisioning"); if (dnsProvisioningConfiguration == null || dnsProvisioningConfiguration.isEmpty()) { logger.warn("dns-provisioning configuration is null or empty"); return null; } final boolean enabled = configuration.getBoolean("dns-provisioning[@enabled]", false); if (!enabled) { logger.warn("dns-provisioning is disabled in configuration"); return null; } final String dnsProvisioningManagerClass = configuration.getString("dns-provisioning[@class]"); if (dnsProvisioningManagerClass == null || dnsProvisioningManagerClass.trim().equals("")) { logger.warn("dns-provisioning is enabled but manager class is null or empty"); return null; } DnsProvisioningManager dnsProvisioningManager; try { dnsProvisioningManager = (DnsProvisioningManager) new ObjectFactory(getClass().getClassLoader()) .getObjectInstance(dnsProvisioningManagerClass); dnsProvisioningManager.init(dnsProvisioningConfiguration); } catch (ObjectInstantiationException e) { throw new RuntimeException(e); } return dnsProvisioningManager; }
From source file:org.restcomm.connect.http.CallsEndpoint.java
@PostConstruct public void init() { configuration = (Configuration) context.getAttribute(Configuration.class.getName()); Configuration amazonS3Configuration = configuration.subset("amazon-s3"); configuration = configuration.subset("runtime-settings"); callManager = (ActorRef) context.getAttribute("org.restcomm.connect.telephony.CallManager"); daos = (DaoManager) context.getAttribute(DaoManager.class.getName()); accountsDao = daos.getAccountsDao(); recordingsDao = daos.getRecordingsDao(); super.init(configuration); CallDetailRecordConverter converter = new CallDetailRecordConverter(configuration); listConverter = new CallDetailRecordListConverter(configuration); final RecordingConverter recordingConverter = new RecordingConverter(configuration); builder = new GsonBuilder(); builder.registerTypeAdapter(CallDetailRecord.class, converter); builder.registerTypeAdapter(CallDetailRecordList.class, listConverter); builder.registerTypeAdapter(Recording.class, recordingConverter); builder.setPrettyPrinting();//w w w .ja v a 2 s. co m gson = builder.create(); xstream = new XStream(); xstream.alias("RestcommResponse", RestCommResponse.class); xstream.registerConverter(converter); xstream.registerConverter(recordingConverter); xstream.registerConverter(new RecordingListConverter(configuration)); xstream.registerConverter(new RestCommResponseConverter(configuration)); xstream.registerConverter(listConverter); instanceId = RestcommConfiguration.getInstance().getMain().getInstanceId(); normalizePhoneNumbers = configuration.getBoolean("normalize-numbers-for-outbound-calls"); if (!amazonS3Configuration.isEmpty()) { // Do not fail with NPE is amazonS3Configuration is not present for older install boolean amazonS3Enabled = amazonS3Configuration.getBoolean("enabled"); if (amazonS3Enabled) { securityLevel = RecordingSecurityLevel .valueOf(amazonS3Configuration.getString("security-level", "secure").toUpperCase()); recordingConverter.setSecurityLevel(securityLevel); } } }
From source file:org.restcomm.connect.http.RecordingsEndpoint.java
@PostConstruct public void init() { final DaoManager storage = (DaoManager) context.getAttribute(DaoManager.class.getName()); configuration = (Configuration) context.getAttribute(Configuration.class.getName()); Configuration amazonS3Configuration = configuration.subset("amazon-s3"); configuration = configuration.subset("runtime-settings"); super.init(configuration); dao = storage.getRecordingsDao();// w w w . j a v a2 s. c o m final RecordingConverter converter = new RecordingConverter(configuration); listConverter = new RecordingListConverter(configuration); final GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Recording.class, converter); builder.registerTypeAdapter(RecordingList.class, listConverter); builder.setPrettyPrinting(); gson = builder.create(); xstream = new XStream(); xstream.alias("RestcommResponse", RestCommResponse.class); xstream.registerConverter(converter); xstream.registerConverter(new RecordingListConverter(configuration)); xstream.registerConverter(new RestCommResponseConverter(configuration)); if (!amazonS3Configuration.isEmpty()) { // Do not fail with NPE is amazonS3Configuration is not present for older install boolean amazonS3Enabled = amazonS3Configuration.getBoolean("enabled"); if (amazonS3Enabled) { final String accessKey = amazonS3Configuration.getString("access-key"); final String securityKey = amazonS3Configuration.getString("security-key"); final String bucketName = amazonS3Configuration.getString("bucket-name"); final String bucketFolder = amazonS3Configuration.getString("folder"); final boolean reducedRedundancy = amazonS3Configuration.getBoolean("reduced-redundancy"); final int minutesToRetainPublicUrl = amazonS3Configuration.getInt("minutes-to-retain-public-url", 10); final boolean removeOriginalFile = amazonS3Configuration.getBoolean("remove-original-file"); final String bucketRegion = amazonS3Configuration.getString("bucket-region"); final boolean testing = amazonS3Configuration.getBoolean("testing", false); final String testingUrl = amazonS3Configuration.getString("testing-url", null); s3AccessTool = new S3AccessTool(accessKey, securityKey, bucketName, bucketFolder, reducedRedundancy, minutesToRetainPublicUrl, removeOriginalFile, bucketRegion, testing, testingUrl); securityLevel = RecordingSecurityLevel .valueOf(amazonS3Configuration.getString("security-level", "secure").toUpperCase()); converter.setSecurityLevel(securityLevel); } } xstream.registerConverter(listConverter); instanceId = RestcommConfiguration.getInstance().getMain().getInstanceId(); }