Example usage for org.apache.commons.configuration Configuration getBoolean

List of usage examples for org.apache.commons.configuration Configuration getBoolean

Introduction

In this page you can find the example usage for org.apache.commons.configuration Configuration getBoolean.

Prototype

Boolean getBoolean(String key, Boolean defaultValue);

Source Link

Document

Get a Boolean associated with the given configuration key.

Usage

From source file:org.seedstack.seed.ws.internal.jms.WSJmsPlugin.java

@Override
public InitState init(InitContext initContext) {
    Configuration wsConfiguration = null;

    for (Plugin plugin : initContext.pluginsRequired()) {
        if (plugin instanceof JmsPlugin) {
            jmsPlugin = (JmsPlugin) plugin;
        }//w w w.j  av a 2 s.  c om

        if (plugin instanceof WSPlugin) {
            wsPlugin = (WSPlugin) plugin;
        }

        if (plugin instanceof ApplicationPlugin) {
            wsConfiguration = ((ApplicationPlugin) plugin).getApplication().getConfiguration()
                    .subset(WS_CONFIGURATION_PREFIX);
        }
    }

    if (wsConfiguration == null) {
        throw new PluginException("Missing required application plugin");
    }

    int cacheSize = wsConfiguration.getInt("jms.transport-cache.max-size", DEFAULT_CACHE_SIZE);
    final Configuration finalWsConfiguration = wsConfiguration;
    connectionCache = CacheBuilder.newBuilder().maximumSize(cacheSize)
            .concurrencyLevel(wsConfiguration.getInt("transport-cache.concurrency", DEFAULT_CACHE_CONCURRENCY))
            .initialCapacity(wsConfiguration.getInt("transport-cache.initial-size", cacheSize / 4))
            .build(new CacheLoader<SoapJmsUri, Connection>() {
                private AtomicInteger atomicInteger = new AtomicInteger(0);

                @Override
                public Connection load(SoapJmsUri soapJmsUri) throws NamingException, JMSException {
                    String lookupVariant = soapJmsUri.getLookupVariant();
                    JmsFactory jmsFactory = jmsPlugin.getJmsFactory();
                    Connection connection;

                    if (SoapJmsUri.JNDI_LOOKUP_VARIANT.equals(lookupVariant)) {
                        String jndiConnectionFactoryName = soapJmsUri.getParameter("jndiConnectionFactoryName");
                        if (StringUtils.isBlank(jndiConnectionFactoryName)) {
                            throw new IllegalArgumentException(
                                    "Missing jndiConnectionFactoryName parameter for JMS URI "
                                            + soapJmsUri.toString());
                        }

                        String connectionName = soapJmsUri.getConnectionName();
                        if (connectionName == null) {
                            connectionName = String.format(ANONYMOUS_CONNECTION_PATTERN,
                                    atomicInteger.getAndIncrement());
                        }

                        ConnectionDefinition connectionDefinition = jmsFactory.createConnectionDefinition(
                                connectionName, soapJmsUri.getConfiguration(finalWsConfiguration),
                                (ConnectionFactory) SoapJmsUri.getContext(soapJmsUri)
                                        .lookup(jndiConnectionFactoryName));

                        connection = jmsFactory.createConnection(connectionDefinition);
                        jmsPlugin.registerConnection(connection, connectionDefinition);
                    } else if (SoapJmsUri.SEED_QUEUE_LOOKUP_VARIANT.equals(lookupVariant)
                            || SoapJmsUri.SEED_TOPIC_LOOKUP_VARIANT.equals(lookupVariant)) {
                        String connectionName = soapJmsUri.getConnectionName();

                        if (StringUtils.isBlank(connectionName)) {
                            throw new IllegalArgumentException(
                                    "Missing connectionName parameter for JMS URI " + soapJmsUri.toString());
                        }

                        connection = jmsPlugin.getConnection(connectionName);
                    } else {
                        throw new IllegalArgumentException("Unsupported lookup variant " + lookupVariant
                                + " for JMS URI " + soapJmsUri.toString());
                    }

                    if (connection == null) {
                        throw new PluginException(
                                "Unable to resolve connection for JMS URI " + soapJmsUri.toString());
                    }

                    return connection;
                }
            });

    for (Map.Entry<String, EndpointDefinition> endpointEntry : wsPlugin
            .getEndpointDefinitions(SUPPORTED_BINDINGS).entrySet()) {
        EndpointDefinition endpointDefinition = endpointEntry.getValue();
        String endpointName = endpointEntry.getKey();
        String serviceName = endpointDefinition.getServiceName().getLocalPart();
        String portName = endpointDefinition.getPortName().getLocalPart();
        String serviceNameAndServicePort = serviceName + "-" + portName;

        SoapJmsUri uri;
        try {
            uri = SoapJmsUri.parse(new URI(endpointDefinition.getUrl()));
            uri.setEndpointName(endpointName);
        } catch (URISyntaxException e) {
            throw new PluginException("Unable to parse endpoint URI", e);
        }

        Configuration endpointConfiguration = uri.getConfiguration(wsConfiguration);
        Connection connection;
        try {
            connection = connectionCache.get(uri);
        } catch (Exception e) {
            throw new PluginException("Unable to create JMS connection for WS " + serviceNameAndServicePort, e);
        }

        Session session;
        try {
            session = connection.createSession(endpointConfiguration.getBoolean("transactional", true),
                    Session.AUTO_ACKNOWLEDGE);
        } catch (JMSException e) {
            throw new PluginException("Unable to create JMS session for WS " + serviceNameAndServicePort, e);
        }

        Destination destination;
        try {
            destination = SoapJmsUri.getDestination(uri, session);
        } catch (Exception e) {
            throw new PluginException("Unable to create JMS destination for WS " + serviceNameAndServicePort,
                    e);
        }

        WSJmsMessageListener messageListener = new WSJmsMessageListener(uri,
                new JmsAdapter(wsPlugin.createWSEndpoint(endpointDefinition, null)), session);

        String messageListenerName = String.format(LISTENER_NAME_PATTERN, endpointName);
        try {
            Class<? extends MessagePoller> poller = getPoller(endpointConfiguration);

            jmsPlugin.registerMessageListener(
                    new MessageListenerInstanceDefinition(messageListenerName, uri.getConnectionName(), session,
                            destination, endpointConfiguration.getString("selector"), messageListener, poller));
        } catch (Exception e) {
            throw SeedException.wrap(e, WSJmsErrorCodes.UNABLE_TO_REGISTER_MESSAGE_LISTENER)
                    .put("messageListenerName", messageListenerName);
        }
        wsJmsMessageListeners.add(messageListener);
    }

    return InitState.INITIALIZED;
}

From source file:org.seedstack.seed.ws.internal.WSPlugin.java

private EndpointDefinition createEndpointDefinition(String endpoint, Configuration endpointConfiguration) {
    // Implementation class
    String implementation = endpointConfiguration.getString("implementation");
    if (implementation == null || implementation.isEmpty()) {
        throw SeedException.createNew(WSErrorCode.IMPLEMENTATION_CLASS_MISSING).put(ENDPOINT_NAME_ATTRIBUTE,
                endpoint);/*from  w  w w.ja v a 2 s  . com*/
    }

    Class<?> implementationClass;
    try {
        implementationClass = Class.forName(implementation);
    } catch (ClassNotFoundException e) {
        throw SeedException.wrap(e, WSErrorCode.UNABLE_TO_LOAD_IMPLEMENTATION_CLASS)
                .put(ENDPOINT_NAME_ATTRIBUTE, endpoint).put(IMPLEMENTATION_CLASS_ATTRIBUTE, implementation);
    }

    // External metadata
    MetadataReader metadataReader = null;
    String externalMetadata = endpointConfiguration.getString("external-metadata");
    if (externalMetadata != null) {
        metadataReader = ExternalMetadataFeature.builder().addResources(externalMetadata).build()
                .getMetadataReader(SeedReflectionUtils.findMostCompleteClassLoader(implementationClass), false);
    }

    EndpointFactory.verifyImplementorClass(implementationClass, metadataReader);

    // Service name
    String serviceName = endpointConfiguration.getString("service-name");
    QName serviceQName;
    if (serviceName == null || serviceName.isEmpty()) {
        WebService annotation = implementationClass.getAnnotation(WebService.class);
        if (annotation != null && !annotation.targetNamespace().isEmpty()
                && !annotation.serviceName().isEmpty()) {
            serviceQName = new QName(annotation.targetNamespace(), annotation.serviceName());
        } else {
            serviceQName = EndpointFactory.getDefaultServiceName(implementationClass, metadataReader);
        }
    } else {
        serviceQName = QName.valueOf(serviceName);
    }

    // Service port
    String portName = endpointConfiguration.getString("port-name");
    QName portQName;
    if (portName == null || portName.isEmpty()) {
        WebService annotation = implementationClass.getAnnotation(WebService.class);
        if (annotation != null && !annotation.targetNamespace().isEmpty() && !annotation.portName().isEmpty()) {
            portQName = new QName(annotation.targetNamespace(), annotation.portName());
        } else {
            portQName = EndpointFactory.getDefaultPortName(serviceQName, implementationClass, metadataReader);
        }
    } else {
        portQName = QName.valueOf(portName);
    }

    // Binding
    String binding = endpointConfiguration.getString("binding");
    if (binding != null) {
        binding = getBindingIdForToken(binding);
    }

    WSBinding wsBinding = createBinding(binding, implementationClass,
            endpointConfiguration.getBoolean("enable-mtom", null),
            endpointConfiguration.getInteger("mtom-treshold", null),
            endpointConfiguration.getString("data-binding-mode", null));

    // WSDL
    String wsdlPath = endpointConfiguration.getString("wsdl",
            EndpointFactory.getWsdlLocation(implementationClass, metadataReader));
    if (wsdlPath == null || wsdlPath.isEmpty()) {
        throw SeedException.createNew(WSErrorCode.WSDL_LOCATION_MISSING).put(ENDPOINT_NAME_ATTRIBUTE, endpoint)
                .put(IMPLEMENTATION_CLASS_ATTRIBUTE, implementation);
    }

    URL wsdlURL;
    try {
        wsdlURL = resourceLoader.getResource(wsdlPath);
    } catch (MalformedURLException e) {
        throw SeedException.wrap(e, WSErrorCode.UNABLE_TO_FIND_WSDL).put(ENDPOINT_NAME_ATTRIBUTE, endpoint)
                .put(WSDL_LOCATION_ATTRIBUTE, wsdlPath);
    }

    if (wsdlURL == null) {
        throw SeedException.createNew(WSErrorCode.UNABLE_TO_FIND_WSDL).put(ENDPOINT_NAME_ATTRIBUTE, endpoint)
                .put(WSDL_LOCATION_ATTRIBUTE, wsdlPath);
    }

    SDDocumentSource primaryWSDL = docs.get(wsdlURL.toExternalForm());
    assert primaryWSDL != null;

    // Entity resolver
    EntityResolver entityResolver;
    try {
        entityResolver = XmlUtil.createEntityResolver(resourceLoader.getCatalogFile());
    } catch (MalformedURLException e) {
        LOGGER.warn("Unable to create entity resolver", e);
        entityResolver = XmlUtil.createEntityResolver(null);
    }

    return new EndpointDefinition(implementationClass, true, serviceQName, portQName, wsBinding, primaryWSDL,
            entityResolver, false, endpointConfiguration.getString("url"), endpointConfiguration);
}

From source file:org.seedstack.solr.internal.SolrPlugin.java

private CloudSolrClient buildCloudSolrClient(Configuration solrClientConfiguration, String[] zooKeeperUrls)
        throws MalformedURLException {
    String[] lbUrls = solrClientConfiguration.getStringArray(SolrConfigurationConstants.LB_URLS);

    CloudSolrClient cloudSolrClient;/*from  w  w  w  .  j a v  a  2  s .  com*/
    if (lbUrls != null && lbUrls.length > 0) {
        cloudSolrClient = new CloudSolrClient(zooKeeperUrls[0], new LBHttpSolrClient(lbUrls),
                solrClientConfiguration.getBoolean(SolrConfigurationConstants.UPDATE_TO_LEADERS, true));
    } else {
        cloudSolrClient = new CloudSolrClient(Lists.newArrayList(zooKeeperUrls),
                solrClientConfiguration.getString(SolrConfigurationConstants.CHROOT));
    }

    String defaultCollection = solrClientConfiguration.getString(SolrConfigurationConstants.DEFAULT_COLLECTION);
    if (defaultCollection != null && !defaultCollection.isEmpty()) {
        cloudSolrClient.setDefaultCollection(defaultCollection);
    }

    String idField = solrClientConfiguration.getString(SolrConfigurationConstants.ID_FIELD);
    if (idField != null && !idField.isEmpty()) {
        cloudSolrClient.setIdField(idField);
    }

    if (solrClientConfiguration.containsKey(SolrConfigurationConstants.COLLECTION_CACHE_TTL)) {
        cloudSolrClient.setCollectionCacheTTl(
                solrClientConfiguration.getInt(SolrConfigurationConstants.COLLECTION_CACHE_TTL));
    }

    if (solrClientConfiguration.containsKey(SolrConfigurationConstants.PARALLEL_CACHE_REFRESHES)) {
        cloudSolrClient.setParallelCacheRefreshes(
                solrClientConfiguration.getInt(SolrConfigurationConstants.PARALLEL_CACHE_REFRESHES));
    }

    if (solrClientConfiguration.containsKey(SolrConfigurationConstants.PARALLEL_UPDATES)) {
        cloudSolrClient.setParallelUpdates(
                solrClientConfiguration.getBoolean(SolrConfigurationConstants.PARALLEL_UPDATES));
    }

    if (solrClientConfiguration.containsKey(SolrConfigurationConstants.ZK_CLIENT_TIMEOUT)) {
        cloudSolrClient.setZkClientTimeout(
                solrClientConfiguration.getInt(SolrConfigurationConstants.ZK_CLIENT_TIMEOUT));
    }

    if (solrClientConfiguration.containsKey(SolrConfigurationConstants.ZK_CONNECT_TIMEOUT)) {
        cloudSolrClient.setZkConnectTimeout(
                solrClientConfiguration.getInt(SolrConfigurationConstants.ZK_CONNECT_TIMEOUT));
    }
    return cloudSolrClient;
}

From source file:org.seedstack.spring.internal.SpringPlugin.java

@Override
public InitState init(InitContext initContext) {
    configurationProvider = initContext.dependency(ConfigurationProvider.class);
    Configuration configuration = configurationProvider.getConfiguration();
    Configuration springConfiguration = configuration.subset(SPRING_PLUGIN_CONFIGURATION_PREFIX);

    Map<String, Collection<String>> scannedApplicationContexts = initContext.mapResourcesByRegex();

    SeedConfigurationFactoryBean.configuration = configuration;

    boolean autodetect = springConfiguration.getBoolean("autodetect", true);
    managedTransaction = springConfiguration.getBoolean("manage-transactions", false);
    for (String applicationContextPath : scannedApplicationContexts.get(APPLICATION_CONTEXT_REGEX)) {
        if (autodetect && applicationContextPath.startsWith("META-INF/spring")) {
            applicationContextsPaths.add(applicationContextPath);
            LOGGER.trace("Autodetected spring context at " + applicationContextPath);
        }//w w w .j  a v a 2s. c om
    }

    if (springConfiguration.containsKey("contexts")) {
        String[] explicitContexts = springConfiguration.getStringArray("contexts");
        for (String explicitContext : explicitContexts) {
            applicationContextsPaths.add(explicitContext);
            LOGGER.trace("Configured spring context at " + explicitContext);
        }
    } else if (springConfiguration.containsKey("context")) {
        String explicitContext = springConfiguration.getString("context");
        applicationContextsPaths.add(explicitContext);
        LOGGER.trace("Configured spring context at " + explicitContext);
    }

    LOGGER.info("Initializing spring context(s) " + applicationContextsPaths);
    globalApplicationContext = new ClassPathXmlApplicationContext(
            this.applicationContextsPaths.toArray(new String[this.applicationContextsPaths.size()]));
    return InitState.INITIALIZED;
}

From source file:org.seedstack.swagger.internal.SwaggerConfiguration.java

SwaggerConfiguration init(Configuration configuration) {
    Configuration swaggerConfiguration = configuration.subset(PREFIX);
    if (swaggerConfiguration.containsKey("title")) {
        this.title = swaggerConfiguration.getString("title");
    }//from ww  w  .jav a 2  s .  com
    this.description = swaggerConfiguration.getString("description");
    if (swaggerConfiguration.containsKey("version")) {
        this.version = swaggerConfiguration.getString("version");
    }
    this.host = swaggerConfiguration.getString("host");
    this.schemes = arrayToList(swaggerConfiguration.getStringArray("schemes"));
    this.basePath = swaggerConfiguration.getString("base-path");
    this.prettyPrint = swaggerConfiguration.getBoolean("pretty-print", false);
    this.termsOfServiceUrl = swaggerConfiguration.getString("terms-of-service-url");
    this.contactName = swaggerConfiguration.getString("contact.name");
    this.contactUrl = swaggerConfiguration.getString("contact.url");
    this.contactEmail = swaggerConfiguration.getString("contact.email");
    this.licenseName = swaggerConfiguration.getString("license.name");
    this.licenseUrl = swaggerConfiguration.getString("license.url");
    this.filterClass = swaggerConfiguration.getString("filterClass");
    return this;
}

From source file:org.seedstack.w20.internal.W20Plugin.java

@Override
public InitState init(InitContext initContext) {
    if (servletContext == null) {
        logger.info("No servlet context detected, W20 integration disabled");
        return InitState.INITIALIZED;
    }/*from   ww w.  j  a  v  a 2s  .  c om*/

    ApplicationPlugin applicationPlugin = initContext.dependency(ApplicationPlugin.class);
    RestPlugin restPlugin = initContext.dependency(RestPlugin.class);

    Configuration w20Configuration = applicationPlugin.getApplication().getConfiguration()
            .subset(W20Plugin.W20_PLUGIN_CONFIGURATION_PREFIX);

    masterPageEnabled = !w20Configuration.getBoolean("disable-masterpage", false);
    if (masterPageEnabled) {
        if (restPlugin.getConfiguration().getRestPath().isEmpty()) {
            restPlugin.addRootResourceVariant(new Variant(MediaType.TEXT_HTML_TYPE, null, null),
                    MasterpageRootResource.class);
        } else {
            masterPageAsServlet = true;
        }
    }

    Map<String, Collection<String>> scannedManifestPaths = initContext.mapResourcesByRegex();
    ObjectMapper objectMapper = new ObjectMapper();
    for (String manifestPath : scannedManifestPaths.get(FRAGMENTS_REGEX)) {
        try {
            AvailableFragment availableFragment = new AvailableFragment(manifestPath,
                    objectMapper.readValue(classLoader.getResource(manifestPath), Fragment.class));
            w20Fragments.put(availableFragment.getFragmentDefinition().getId(), availableFragment);
            logger.trace("Detected W20 fragment {} at {}", availableFragment.getFragmentDefinition().getId(),
                    manifestPath);
        } catch (Exception e) {
            logger.warn("Unable to parse W20 fragment manifest at " + manifestPath, e);
        }
    }

    logger.debug("Detected {} W20 fragment(s)", w20Fragments.size());

    Collection<String> appConfiguration = scannedManifestPaths.get(APP_CONF_REGEX);
    if (appConfiguration.size() == 1) {
        try {
            String confPath = appConfiguration.iterator().next();
            configuredApplication = objectMapper.readValue(classLoader.getResource(confPath),
                    ConfiguredApplication.class);
            logger.debug("Detected W20 configuration at " + confPath);
        } catch (IOException e) {
            throw new PluginException("Error reading W20 configuration", e);
        }
    } else if (appConfiguration.size() > 1) {
        throw new PluginException("Found more than one W20 configuration: " + appConfiguration);
    }

    Map<Class<?>, Collection<Class<?>>> scannedClassesByParentClass = initContext
            .scannedSubTypesByParentClass();

    Collection<Class<?>> fragmentConfigurationHandlerClasses = scannedClassesByParentClass
            .get(FragmentConfigurationHandler.class);
    if (fragmentConfigurationHandlerClasses != null) {
        for (Class<?> candidate : fragmentConfigurationHandlerClasses) {
            if (FragmentConfigurationHandler.class.isAssignableFrom(candidate)) {
                this.fragmentConfigurationHandlerClasses
                        .add(candidate.asSubclass(FragmentConfigurationHandler.class));
            }
        }
    }

    return InitState.INITIALIZED;
}

From source file:org.sonar.batch.DefaultResourceCreationLock.java

public DefaultResourceCreationLock(Configuration configuration) {
    this.failWhenLocked = configuration.getBoolean("sonar.hardIndexLock", false);
}

From source file:org.sonar.batch.MavenProjectBuilder.java

Project.AnalysisType loadAnalysisType(Configuration configuration) {
    String value = configuration.getString(CoreProperties.DYNAMIC_ANALYSIS_PROPERTY);
    if (value == null) {
        return (configuration.getBoolean("sonar.light", false) ? Project.AnalysisType.STATIC
                : Project.AnalysisType.DYNAMIC);
    }//from w  w  w. j a  v  a 2 s.  c om
    if ("true".equals(value)) {
        return Project.AnalysisType.DYNAMIC;
    }
    if ("reuseReports".equals(value)) {
        return Project.AnalysisType.REUSE_REPORTS;
    }
    return Project.AnalysisType.STATIC;
}

From source file:org.sonar.plugins.cpd.CpdSensor.java

boolean isSkipped(Project project) {
    Configuration conf = project.getConfiguration();
    return conf.getBoolean("sonar.cpd." + project.getLanguageKey() + ".skip",
            conf.getBoolean("sonar.cpd.skip", false));
}

From source file:org.sonar.plugins.csharp.core.CSharpProjectInitializer.java

@Override
public void execute(Project project) {
    Configuration projectConfiguration = project.getConfiguration();
    // Handling encoding
    if (StringUtils.isBlank(projectConfiguration.getString("sonar.sourceEncoding", ""))) {
        LOG.info("'sonar.sourceEncoding' has not been defined: setting it to default value 'UTF-8'.");
        projectConfiguration.setProperty("sonar.sourceEncoding", "UTF-8");
    }/* w ww .ja  v  a2s . co  m*/

    // Handling exclusions
    if (projectConfiguration.getBoolean(CSharpConstants.EXCLUDE_GENERATED_CODE_KEY,
            CSharpConstants.EXCLUDE_GENERATED_CODE_DEFVALUE)) {
        String[] exclusions = projectConfiguration.getStringArray("sonar.exclusions");
        Object[] newExclusions = ArrayUtils.addAll(exclusions, CSharpConstants.DEFAULT_FILES_TO_EXCLUDE);
        projectConfiguration.setProperty("sonar.exclusions", newExclusions);
        // TODO : remove the following line once SONAR-2827 has been fixed
        project.setExclusionPatterns(Arrays.asList(newExclusions).toArray(new String[newExclusions.length]));
    }
}