Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2011, Red Hat, Inc., and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.jboss.as.connector.subsystems.resourceadapters;
 
 import static org.jboss.as.connector.pool.Constants.BACKGROUNDVALIDATION;
 import static org.jboss.as.connector.pool.Constants.BACKGROUNDVALIDATIONMILLIS;
 import static org.jboss.as.connector.pool.Constants.BLOCKING_TIMEOUT_WAIT_MILLIS;
 import static org.jboss.as.connector.pool.Constants.IDLETIMEOUTMINUTES;
 import static org.jboss.as.connector.pool.Constants.MAX_POOL_SIZE;
 import static org.jboss.as.connector.pool.Constants.MIN_POOL_SIZE;
 import static org.jboss.as.connector.pool.Constants.POOL_FLUSH_STRATEGY;
 import static org.jboss.as.connector.pool.Constants.POOL_PREFILL;
 import static org.jboss.as.connector.pool.Constants.POOL_USE_STRICT_MIN;
 import static org.jboss.as.connector.pool.Constants.USE_FAST_FAIL;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.ALLOCATION_RETRY;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.ALLOCATION_RETRY_WAIT_MILLIS;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.APPLICATION;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.ARCHIVE;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.BEANVALIDATIONGROUPS;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.BOOTSTRAPCONTEXT;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.CLASS_NAME;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.ENABLED;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.JNDINAME;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.NO_RECOVERY;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.RECOVERLUGIN_CLASSNAME;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.RECOVERLUGIN_PROPERTIES;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.RECOVERY_PASSWORD;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.RECOVERY_SECURITY_DOMAIN;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.RECOVERY_USERNAME;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.SECURITY_DOMAIN;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.SECURITY_DOMAIN_AND_APPLICATION;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.TRANSACTIONSUPPORT;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.USE_CCM;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.USE_JAVA_CONTEXT;
 import static org.jboss.as.connector.subsystems.resourceadapters.Constants.XA_RESOURCE_TIMEOUT;
 
 import java.util.List;
 import java.util.Map;
 
 
 public class RaOperationUtil {
 
         Map<StringStringconfigProperties = new HashMap<StringString>(0);
         List<CommonConnDefconnectionDefinitions = new ArrayList<CommonConnDef>(0);
         List<CommonAdminObjectadminObjects = new ArrayList<CommonAdminObject>(0);
 //        if (operation.hasDefined(CONFIG_PROPERTIES.getName())) {
 //            configProperties = new HashMap<String, String>(operation.get(CONFIG_PROPERTIES.getName()).asList().size());
 //            for (ModelNode property : operation.get(CONFIG_PROPERTIES.getName()).asList()) {
 //                configProperties.put(property.asProperty().getName(), property.asProperty().getValue().asString());
 //            }
 //        }
         String archive = getStringIfSetOrGetDefault(operation.getName(), null);
         TransactionSupportEnum transactionSupport = operation.hasDefined(.getName()) ? TransactionSupportEnum
                 .valueOf(operation.get(.getName()).asString()) : null;
         String bootstrapContext = getStringIfSetOrGetDefault(operation.getName(), null);
         List<StringbeanValidationGroups = null;
        if (operation.hasDefined(.getName())) {
            beanValidationGroups = new ArrayList<String>(operation.get(.getName()).asList().size());
            for (ModelNode beanValidtion : operation.get(.getName()).asList()) {
                beanValidationGroups.add(beanValidtion.asString());
            }
        }
        ModifiableResourceAdapter ra;
        ra = new ModifiableResourceAdapter(archivetransactionSupportconnectionDefinitions,
                adminObjectsconfigPropertiesbeanValidationGroupsbootstrapContext);
        return ra;
    }
    public static ModifiableConnDef buildConnectionDefinitionObject(final OperationContext contextfinal ModelNode operationfinal String poolNamethrows OperationFailedExceptionValidateException {
        Map<StringStringconfigProperties = new HashMap<StringString>(0);
//        if (operation.hasDefined(CONFIG_PROPERTIES.getName())) {
//            configProperties = new HashMap<String, String>(operation.get(CONFIG_PROPERTIES.getName()).asList().size());
//            for (ModelNode property : operation.get(CONFIG_PROPERTIES.getName()).asList()) {
//                configProperties.put(property.asProperty().getName(), property.asProperty().getValue().asString());
//            }
//        }
        String className = getStringIfSetOrGetDefault(operation.getName(), null);
        String jndiName = getStringIfSetOrGetDefault(operation.getName(), null);
        boolean enabled = getBooleanIfSetOrGetDefault(operation.getName(), .);
        boolean useJavaContext = getBooleanIfSetOrGetDefault(operation.getName(), .);
        boolean useCcm = getBooleanIfSetOrGetDefault(operation.getName(), .);
        Integer maxPoolSize = getIntIfSetOrGetDefault(operation.getName(), .);
        Integer minPoolSize = getIntIfSetOrGetDefault(operation.getName(), .);
        boolean prefill = getBooleanIfSetOrGetDefault(operation.getName(), .);
        boolean useStrictMin = getBooleanIfSetOrGetDefault(operation.getName(), .);
        final FlushStrategy flushStrategy = operation.hasDefined(.getName()) ? FlushStrategy.forName(operation
                .get(.getName()).asString()) : .;
        Integer allocationRetry = getIntIfSetOrGetDefault(operation.getName(), null);
        Long allocationRetryWaitMillis = getLongIfSetOrGetDefault(operation.getName(), null);
        Long blockingTimeoutMillis = getLongIfSetOrGetDefault(operation.getName(), null);
        Long idleTimeoutMinutes = getLongIfSetOrGetDefault(operation.getName(), null);
        Integer xaResourceTimeout = getIntIfSetOrGetDefault(operation.getName(), null);
        CommonTimeOut timeOut = new CommonTimeOutImpl(blockingTimeoutMillisidleTimeoutMinutesallocationRetry,
                allocationRetryWaitMillisxaResourceTimeout);
        CommonPool pool = new CommonPoolImpl(minPoolSizemaxPoolSizeprefilluseStrictMinflushStrategy);
        String securityDomain = getStringIfSetOrGetDefault(operation.getName(), null);
        String securityDomainAndApplication = getStringIfSetOrGetDefault(operation.getName(),
                null);
        Boolean application = getBooleanIfSetOrGetDefault(operation.getName(), null);
        CommonSecurity security = null;
        if (securityDomain != null && securityDomainAndApplication != null && application != null) {
            if (application == nullapplication = .;
            security = new CommonSecurityImpl(securityDomainsecurityDomainAndApplicationapplication);
        }
        Long backgroundValidationMillis = getLongIfSetOrGetDefault(operation.getName(), null);
        boolean backgroundValidation = getBooleanIfSetOrGetDefault(operation.getName(), .);
        boolean useFastFail = getBooleanIfSetOrGetDefault(operation.getName(), .);
        CommonValidation validation = new CommonValidationImpl(backgroundValidationbackgroundValidationMillis,
                useFastFail);
        final String recoveryUsername = getStringIfSetOrGetDefault(operation.getName(), null);
        //TODO This will be cleaned up once it uses attribute definitions
        String recoveryPassword = getResolvedStringIfSetOrGetDefault(contextoperation.getName(), null);
        final String recoverySecurityDomain = getStringIfSetOrGetDefault(operation.getName(), null);
        final Boolean noRecovery = getBooleanIfSetOrGetDefault(operation.getName(), null);
        Recovery recovery = null;
        if (recoveryUsername != null || recoveryPassword != null || recoverySecurityDomain != null ||
            (noRecovery != null && noRecovery.booleanValue())) {
           final Credential credential = new CredentialImpl(recoveryUsernamerecoveryPasswordrecoverySecurityDomain);
           final Extension recoverPlugin = extractExtension(operation.getName(), .getName());
           recovery = new Recovery(credentialrecoverPluginnoRecovery);
        }
        ModifiableConnDef connectionDefinition = new ModifiableConnDef(configPropertiesclassNamejndiNamepoolName,
                enableduseJavaContextuseCcmpooltimeOutvalidationsecurityrecovery);
        return connectionDefinition;
    }
    public static ModifiableAdminObject buildAdminObjects(ModelNode operationfinal String poolName) {
                Map<StringStringconfigProperties = new HashMap<StringString>(0);
                String className = getStringIfSetOrGetDefault(operation.getName(), null);
                String jndiName = getStringIfSetOrGetDefault(operation.getName(), null);
                boolean enabled = getBooleanIfSetOrGetDefault(operation.getName(), .);
                boolean useJavaContext = getBooleanIfSetOrGetDefault(operation.getName(), .);
                ModifiableAdminObject adminObjet = new ModifiableAdminObject(configPropertiesclassNamejndiNamepoolName,
                        enableduseJavaContext);
                return adminObjet;
    }
    private static Long getLongIfSetOrGetDefault(ModelNode dataSourceNodeString keyLong defaultValue) {
        if (dataSourceNode.hasDefined(key)) {
            return dataSourceNode.get(key).asLong();
        } else {
            return defaultValue;
        }
    }
    private static Integer getIntIfSetOrGetDefault(ModelNode dataSourceNodeString keyInteger defaultValue) {
        if (dataSourceNode.hasDefined(key)) {
            return dataSourceNode.get(key).asInt();
        } else {
            return defaultValue;
        }
    }
    private static Boolean getBooleanIfSetOrGetDefault(ModelNode dataSourceNodeString keyBoolean defaultValue) {
        if (dataSourceNode.hasDefined(key)) {
            return dataSourceNode.get(key).asBoolean();
        } else {
            return defaultValue;
        }
    }
    private static String getStringIfSetOrGetDefault(ModelNode dataSourceNodeString keyString defaultValue) {
        if (dataSourceNode.hasDefined(key)) {
            return dataSourceNode.get(key).asString();
        } else {
            return defaultValue;
        }
    }
    private static String getResolvedStringIfSetOrGetDefault(final OperationContext contextfinal ModelNode dataSourceNodefinal String keyfinal String defaultValuethrows OperationFailedException {
        if (dataSourceNode.hasDefined(key)) {
            return context.resolveExpressions(dataSourceNode.get(key)).asString();
        } else {
            return defaultValue;
        }
    }
    private static Extension extractExtension(final ModelNode nodefinal String classNamefinal String propertyName)
            throws ValidateException {
        if (node.hasDefined(className)) {
            String exceptionSorterClassName = node.get(className).asString();
            getStringIfSetOrGetDefault(nodeclassNamenull);
            Map<StringStringexceptionSorterProperty = null;
            if (node.hasDefined(propertyName)) {
                exceptionSorterProperty = new HashMap<StringString>(node.get(propertyName).asList().size());
                for (ModelNode property : node.get(propertyName).asList()) {
                    exceptionSorterProperty.put(property.asProperty().getName(), property.asProperty().getValue().asString());
                }
            }
            return new Extension(exceptionSorterClassNameexceptionSorterProperty);
        } else {
            return null;
        }
    }
New to GrepCode? Check out our FAQ X