Example usage for org.apache.commons.lang3 StringUtils isNumeric

List of usage examples for org.apache.commons.lang3 StringUtils isNumeric

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils isNumeric.

Prototype

public static boolean isNumeric(final CharSequence cs) 

Source Link

Document

Checks if the CharSequence contains only Unicode digits.

Usage

From source file:com.glaf.core.util.RequestUtils.java

public static String getActorId(HttpServletRequest request) {
    String actorId = null;/*from   w  ww .ja v a  2s . c  o  m*/
    String ip = getIPAddress(request);
    ip = DigestUtils.md5Hex(ip);
    HttpSession session = request.getSession(false);
    if (session != null) {
        String value = (String) session.getAttribute(Constants.LOGIN_INFO);
        Map<String, String> cookieMap = decodeValues(ip, value);
        if (StringUtils.equals(cookieMap.get(Constants.LOGIN_IP), ip)) {
            actorId = cookieMap.get(Constants.LOGIN_ACTORID);
            logger.debug("#actorId=" + actorId);
        }
    }

    if (actorId == null) {
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie cookie : cookies) {
                if (StringUtils.equals(cookie.getName(), Constants.COOKIE_NAME)) {
                    String value = cookie.getValue();
                    Map<String, String> cookieMap = decodeValues(ip, value);
                    // logger.debug("#cookieMap=" + cookieMap);
                    if (StringUtils.equals(cookieMap.get(Constants.LOGIN_IP), ip)) {
                        String time = cookieMap.get(Constants.TS);
                        long now = Long.MAX_VALUE - System.currentTimeMillis();
                        if (StringUtils.isNumeric(time)
                                && (Long.parseLong(time) - now) < COOKIE_LIVING_SECONDS * 1000) {
                            actorId = cookieMap.get(Constants.LOGIN_ACTORID);
                            break;
                        }
                    }
                }
            }
        }
    }

    logger.debug("@actorId=" + actorId);

    return actorId;
}

From source file:de.jfachwert.rechnung.Rechnungsmonat.java

private static boolean isDigit(String number) {
    return StringUtils.isNumeric(number);
}

From source file:com.moviejukebox.model.Filmography.java

public void setOrder(String order) {
    if (isValidString(order) && !order.equalsIgnoreCase(Integer.toString(this.order))) {
        if (StringUtils.isNumeric(order)) {
            this.order = Integer.parseInt(order);
            setDirty();/*from   www. j  a  v  a  2  s. c  om*/
        }
    }
}

From source file:com.glaf.activiti.tasklistener.ExtensionTaskCreateListener.java

public void notify(DelegateTask delegateTask) {
    logger.debug("-------------------------------------------------------");
    logger.debug("---------------ExtensionTaskCreateListener-------------");
    logger.debug("-------------------------------------------------------");

    ActivitiExtensionService service = ExtensionFactory.getActivitiExtensionService();
    CommandContext commandContext = Context.getCommandContext();
    SqlSession sqlSession = commandContext.getDbSqlSession().getSqlSession();
    service.setSqlSession(sqlSession);/*from w ww  . ja  va 2s  .  co m*/
    DelegateExecution execution = delegateTask.getExecution();
    ExecutionEntity executionEntity = commandContext.getExecutionEntityManager()
            .findExecutionById(execution.getId());
    String processDefinitionId = executionEntity.getProcessDefinitionId();
    ProcessDefinitionEntity processDefinitionEntity = commandContext.getProcessDefinitionEntityManager()
            .findProcessDefinitionById(processDefinitionId);
    String processName = processDefinitionEntity.getKey();
    String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
    String processInstanceId = delegateTask.getProcessInstanceId();

    HistoricProcessInstanceEntity historicProcessInstanceEntity = commandContext
            .getHistoricProcessInstanceEntityManager().findHistoricProcessInstance(processInstanceId);
    String startUserId = historicProcessInstanceEntity.getStartUserId();

    List<String> actorIds = null;
    ExtensionEntity extension = null;

    int taskMgmtType = Constants.TM_DEPT_ROLE_USER_TYPE;
    extension = service.getExtensionTask(processName, delegateTask.getTaskDefinitionKey());

    List<String> defActorIds = null;
    if (extension != null) {
        ExtensionFieldEntity taskMgmtTypeField = extension.getField("taskMgmtType");
        if (taskMgmtTypeField != null && StringUtils.isNumeric(taskMgmtTypeField.getValue())) {
            taskMgmtType = Integer.parseInt(taskMgmtTypeField.getValue());
            logger.debug(taskMgmtType);
        }
        ExtensionFieldEntity actorIdsField = extension.getField("actorIds");
        if (actorIdsField != null) {
            String val = actorIdsField.getValue();
            defActorIds = StringTools.split(val, ",");
        }
    }

    if (extension == null) {
        extension = ThreadHolder.getExtension();
    }

    if (extension == null) {
        extension = (ExtensionEntity) execution.getVariableLocal("extensionTask");
    }

    logger.debug("extension:" + extension);
    logger.debug("taskMgmtType:" + taskMgmtType);

    switch (taskMgmtType) {
    // ?
    case Constants.TM_RUNTIME_TYPE:
        actorIds = this.getRuntimeAssign(execution, processName, taskDefinitionKey);
        break;
    // ??
    case Constants.TM_PROCESS_STARTER_TYPE:
        actorIds = new java.util.ArrayList<String>();
        actorIds.add(startUserId);
        break;
    // ??
    case Constants.TM_PROCESS_STARTER_LEADER_TYPE:
        actorIds = IdentityUtils.getLeaderIds(sqlSession, startUserId);
        logger.debug("??:" + actorIds);
        break;
    // 
    case Constants.TM_USER_TYPE:
        actorIds = defActorIds;
        break;
    // 
    case Constants.TM_DEPT_ROLE_USER_TYPE:
        if (extension != null) {
            actorIds = this.getDeptRoleUsers(execution, sqlSession, extension);
        }
        break;
    // ??
    default:
        break;
    }

    logger.debug("actorIds:" + actorIds);

    if (actorIds == null || actorIds.size() == 0) {
        actorIds = this.getMemberships(execution, sqlSession, processName, taskDefinitionKey);
    }

    if (actorIds != null && actorIds.size() > 0) {
        if (actorIds.size() > 0) {
            if (actorIds.size() > 1) {
                delegateTask.setAssignee(null);
                delegateTask.addCandidateUsers(actorIds);
            } else {
                delegateTask.setAssignee(actorIds.get(0));
            }
        }
        if (sendMail != null && StringUtils.equals(sendMail.getExpressionText(), "true")) {
            MailBean bean = new MailBean();
            bean.setSubject(subject);
            bean.setContent(content);
            bean.setTaskContent(taskContent);
            bean.setTaskName(taskName);
            bean.setTemplateId(templateId);
            bean.sendMail(execution, actorIds);
        }
    } else {

    }
}

From source file:com.webarch.common.lang.StringSeriesTools.java

/**
 * ?//from  w w  w .  ja v  a  2s.co  m
 *
 * @param index
 * @return
 */
public static String getCnNum(final String index) {
    String num = null;
    if (StringUtils.isNumeric(index)) {
        try {
            num = String.valueOf(numStr[Integer.parseInt(index)]);
        } catch (NumberFormatException e) {
            return num;
        }
    }
    return num;
}

From source file:com.nridge.connector.ws.con_ws.task.TaskConnectorWS.java

/**
  * If this task is scheduled to be executed (e.g. its run/test
  * name matches the command line arguments), then this method
  * is guaranteed to be executed prior to the thread being
  * started.//ww  w. j a v  a 2 s  .c o m
  *
  * @param anAppMgr Application manager instance.
  *
  * @throws com.nridge.core.base.std.NSException Application specific exception.
  */
@Override
public void init(AppMgr anAppMgr) throws NSException {
    mAppMgr = anAppMgr;
    Logger appLogger = mAppMgr.getLogger(this, "init");

    appLogger.trace(mAppMgr.LOGMSG_TRACE_ENTER);

    mIsAlive = new AtomicBoolean(false);

    // Write our configuration properties for troubleshooting purposes.

    mAppMgr.writeCfgProperties(appLogger);

    // Assign our between crawl sleep time.

    mSleepTimeInMinutes = 15;
    String sleepTimeString = mAppMgr.getString(Constants.CFG_PROPERTY_PREFIX + ".run_sleep_between");
    if (StringUtils.endsWithIgnoreCase(sleepTimeString, "m")) {
        String minuteString = StringUtils.stripEnd(sleepTimeString, "m");
        if ((StringUtils.isNotEmpty(minuteString)) && (StringUtils.isNumeric(minuteString)))
            mSleepTimeInMinutes = Integer.parseInt(minuteString);
    } else if ((StringUtils.isNotEmpty(sleepTimeString)) && (StringUtils.isNumeric(sleepTimeString)))
        mSleepTimeInMinutes = Integer.parseInt(sleepTimeString);

    // The extract queue holds documents that have been extracted from the content source.

    int extractQueueSize = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".extract.queue_length",
            Connector.QUEUE_LENGTH_DEFAULT);
    BlockingQueue extractQueue = new ArrayBlockingQueue(extractQueueSize);
    mAppMgr.addProperty(Connector.QUEUE_EXTRACT_NAME, extractQueue);

    // The transform queue holds documents that have been transformed after extraction.

    int transformQueueSize = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".transform.queue_length",
            Connector.QUEUE_LENGTH_DEFAULT);
    BlockingQueue transformQueue = new ArrayBlockingQueue(transformQueueSize);
    mAppMgr.addProperty(Connector.QUEUE_TRANSFORM_NAME, transformQueue);

    // The publish queue holds documents that have been published to the search index.

    int publishQueueSize = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".publish.queue_length",
            Connector.QUEUE_LENGTH_DEFAULT);
    BlockingQueue publishQueue = new ArrayBlockingQueue(publishQueueSize);
    mAppMgr.addProperty(Connector.QUEUE_PUBLISH_NAME, publishQueue);

    // Load our schema definition from the data source folder.

    DataBag schemaBag;
    String schemaPathFileName = String.format("%s%c%s", mAppMgr.getString(mAppMgr.APP_PROPERTY_DS_PATH),
            File.separatorChar, Constants.SCHEMA_FILE_NAME);
    DataBagXML dataBagXML = new DataBagXML();
    try {
        dataBagXML.load(schemaPathFileName);
        schemaBag = dataBagXML.getBag();
    } catch (Exception e) {
        String msgStr = String.format("%s: %s", schemaPathFileName, e.getMessage());
        appLogger.error(msgStr);
        appLogger.warn("Using internal document schema as alternative - data source schema ignored.");
        schemaBag = schemaBag();
    }

    mAppMgr.addProperty(Connector.PROPERTY_SCHEMA_NAME, schemaBag);

    // Create our mail manager instance.

    MailManager mailManager = new MailManager(mAppMgr, Constants.CFG_PROPERTY_PREFIX + ".mail");
    mAppMgr.addProperty(Connector.PROPERTY_MAIL_NAME, mailManager);

    // Create/Load service time tracking file.

    mServiceTimer = new ServiceTimer(mAppMgr);
    mServiceTimer.setPropertyPrefix(Constants.CFG_PROPERTY_PREFIX);
    String stPathFileName = mServiceTimer.createServicePathFileName();
    File stFile = new File(stPathFileName);
    if (stFile.exists())
        mServiceTimer.load();

    // Is there an explicit list of phases to execute?

    String propertyName = Constants.CFG_PROPERTY_PREFIX + ".phase_list";
    String phaseProperty = mAppMgr.getString(propertyName);
    if (StringUtils.isNotEmpty(phaseProperty)) {
        if (mAppMgr.isPropertyMultiValue(propertyName))
            mPhases = mAppMgr.getStringArray(propertyName);
        else {
            mPhases = new String[1];
            mPhases[0] = phaseProperty;
        }
    }

    // Load and assign our crawl follow and ignore instances.

    CrawlFollow crawlFollow = new CrawlFollow(mAppMgr);
    crawlFollow.setCfgPropertyPrefix(Constants.CFG_PROPERTY_PREFIX + ".extract");
    try {
        crawlFollow.load();
    } catch (NSException | IOException e) {
        String msgStr = String.format("Crawl Follow: %s", e.getMessage());
        appLogger.error(msgStr);
    }
    mAppMgr.addProperty(Constants.PROPERTY_CRAWL_FOLLOW, crawlFollow);

    CrawlIgnore crawlIgnore = new CrawlIgnore(mAppMgr);
    crawlIgnore.setCfgPropertyPrefix(Constants.CFG_PROPERTY_PREFIX + ".extract");
    try {
        crawlIgnore.load();
    } catch (NSException | IOException e) {
        String msgStr = String.format("Crawl Ignore: %s", e.getMessage());
        appLogger.error(msgStr);
    }
    mAppMgr.addProperty(Constants.PROPERTY_CRAWL_IGNORE, crawlIgnore);

    // Clear out crawl queue from previous service sessions.

    CrawlQueue crawlQueue = new CrawlQueue(mAppMgr);
    crawlQueue.reset();

    appLogger.trace(mAppMgr.LOGMSG_TRACE_DEPART);

    mIsAlive.set(true);
}

From source file:com.nridge.connector.fs.con_fs.task.TaskConnectorFS.java

/**
  * If this task is scheduled to be executed (e.g. its run/test
  * name matches the command line arguments), then this method
  * is guaranteed to be executed prior to the thread being
  * started.//  w  w w .  j a v a  2s.c  o m
  *
  * @param anAppMgr Application manager instance.
  *
  * @throws com.nridge.core.base.std.NSException Application specific exception.
  */
@Override
public void init(AppMgr anAppMgr) throws NSException {
    mAppMgr = anAppMgr;
    Logger appLogger = mAppMgr.getLogger(this, "init");

    appLogger.trace(mAppMgr.LOGMSG_TRACE_ENTER);

    mIsAlive = new AtomicBoolean(false);

    // Write our configuration properties for troubleshooting purposes.

    mAppMgr.writeCfgProperties(appLogger);

    // Assign our between crawl sleep time.

    mSleepTimeInMinutes = 15;
    String sleepTimeString = mAppMgr.getString(Constants.CFG_PROPERTY_PREFIX + ".run_sleep_between");
    if (StringUtils.endsWithIgnoreCase(sleepTimeString, "m")) {
        String minuteString = StringUtils.stripEnd(sleepTimeString, "m");
        if ((StringUtils.isNotEmpty(minuteString)) && (StringUtils.isNumeric(minuteString)))
            mSleepTimeInMinutes = Integer.parseInt(minuteString);
    } else if ((StringUtils.isNotEmpty(sleepTimeString)) && (StringUtils.isNumeric(sleepTimeString)))
        mSleepTimeInMinutes = Integer.parseInt(sleepTimeString);

    // The extract queue holds documents that have been extracted from the content source.

    int extractQueueSize = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".extract.queue_length",
            Connector.QUEUE_LENGTH_DEFAULT);
    BlockingQueue extractQueue = new ArrayBlockingQueue(extractQueueSize);
    mAppMgr.addProperty(Connector.QUEUE_EXTRACT_NAME, extractQueue);

    // The transform queue holds documents that have been transformed after extraction.

    int transformQueueSize = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".transform.queue_length",
            Connector.QUEUE_LENGTH_DEFAULT);
    BlockingQueue transformQueue = new ArrayBlockingQueue(transformQueueSize);
    mAppMgr.addProperty(Connector.QUEUE_TRANSFORM_NAME, transformQueue);

    // The publish queue holds documents that have been published to the search index.

    int publishQueueSize = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".publish.queue_length",
            Connector.QUEUE_LENGTH_DEFAULT);
    BlockingQueue publishQueue = new ArrayBlockingQueue(publishQueueSize);
    mAppMgr.addProperty(Connector.QUEUE_PUBLISH_NAME, publishQueue);

    // Load our schema definition from the data source folder.

    DataBag schemaBag;
    String schemaPathFileName = String.format("%s%c%s", mAppMgr.getString(mAppMgr.APP_PROPERTY_DS_PATH),
            File.separatorChar, Constants.SCHEMA_FILE_NAME);
    DataBagXML dataBagXML = new DataBagXML();
    try {
        dataBagXML.load(schemaPathFileName);
        schemaBag = dataBagXML.getBag();
    } catch (Exception e) {
        String msgStr = String.format("%s: %s", schemaPathFileName, e.getMessage());
        appLogger.error(msgStr);
        appLogger.warn("Using internal document schema as alternative - data source schema ignored.");
        schemaBag = schemaBag();
    }

    mAppMgr.addProperty(Connector.PROPERTY_SCHEMA_NAME, schemaBag);

    // Create our mail manager instance.

    MailManager mailManager = new MailManager(mAppMgr, Constants.CFG_PROPERTY_PREFIX + ".mail");
    mAppMgr.addProperty(Connector.PROPERTY_MAIL_NAME, mailManager);

    // Create/Load service time tracking file.

    mServiceTimer = new ServiceTimer(mAppMgr);
    mServiceTimer.setPropertyPrefix(Constants.CFG_PROPERTY_PREFIX);
    String stPathFileName = mServiceTimer.createServicePathFileName();
    File stFile = new File(stPathFileName);
    if (stFile.exists())
        mServiceTimer.load();

    // Is there an explicit list of phases to execute?

    String propertyName = Constants.CFG_PROPERTY_PREFIX + ".phase_list";
    String phaseProperty = mAppMgr.getString(propertyName);
    if (StringUtils.isNotEmpty(phaseProperty)) {
        if (mAppMgr.isPropertyMultiValue(propertyName))
            mPhases = mAppMgr.getStringArray(propertyName);
        else {
            mPhases = new String[1];
            mPhases[0] = phaseProperty;
        }
    }

    // Clear out crawl queue from previous service sessions.

    CrawlQueue crawlQueue = new CrawlQueue(mAppMgr);
    crawlQueue.reset();

    // Create Restlet server instance.

    int portNumber = mAppMgr.getInt(Constants.CFG_PROPERTY_PREFIX + ".restlet.port_number",
            Constants.APPLICATION_PORT_NUMBER_DEFAULT);
    RestletApplication restletApplication = new RestletApplication(mAppMgr);

    appLogger.info("Starting Restlet Server.");
    mServer = new Server(Protocol.HTTP, portNumber, restletApplication);
    try {
        mServer.start();
    } catch (Exception e) {
        appLogger.error("Restlet Server (start): " + e.getMessage(), e);
        throw new NSException(e.getMessage());
    }

    appLogger.trace(mAppMgr.LOGMSG_TRACE_DEPART);

    mIsAlive.set(true);
}

From source file:com.shenit.commons.utils.DataUtils.java

/**
 * Make a object to boolean/*from  ww w  . j  a v a2  s .  c om*/
 * @param apply
 * @return
 */
public static boolean toBoolean(Object obj) {
    if (obj == null)
        return false;
    String str = obj.toString();
    if (obj instanceof Number) {
        //special handle for number object, 0 is false, and other s are true
        return !obj.equals(0);
    } else if (StringUtils.isNumeric(str)) {
        //no matter how, just compare with 0
        return Long.parseLong(str) != 0;
    } else {
        return new Boolean(obj.toString());
    }
}

From source file:com.glaf.base.modules.sys.rest.SysTreeResource.java

@GET
@POST/*  ww w.j  a  v  a  2s. co m*/
@Path("/treeJson")
@ResponseBody
@Produces({ MediaType.APPLICATION_OCTET_STREAM })
public byte[] treeJson(@Context HttpServletRequest request) {
    logger.debug("params:" + RequestUtils.getParameterMap(request));
    String nodeCode = request.getParameter("nodeCode");

    String parent_id = request.getParameter("node");
    if (StringUtils.isEmpty(parent_id)) {
        parent_id = request.getParameter("parentId");
    }
    if (StringUtils.isEmpty(parent_id)) {
        parent_id = request.getParameter("pId");
    }
    if (StringUtils.isEmpty(parent_id)) {
        parent_id = request.getParameter("parent_id");
    }
    TreeModel treeModel = null;
    List<TreeModel> treeModels = new java.util.ArrayList<TreeModel>();
    if (StringUtils.isNotEmpty(parent_id) && StringUtils.isNumeric(parent_id)) {
        treeModel = sysTreeService.findById(Long.parseLong(parent_id));
        if (treeModel != null) {
            List<SysTree> trees = sysTreeService.getSysTreeList(treeModel.getId());
            if (trees != null && !trees.isEmpty()) {
                for (SysTree tree : trees) {
                    treeModels.add(tree);
                }
            }
        }
    } else if (StringUtils.isNotEmpty(nodeCode)) {
        treeModel = sysTreeService.getSysTreeByCode(nodeCode);
        if (treeModel != null) {
            List<SysTree> trees = sysTreeService.getSysTreeList(treeModel.getId());
            if (trees != null && !trees.isEmpty()) {
                for (SysTree tree : trees) {
                    treeModels.add(tree);
                }
            }
        }
    }

    JSONArray array = new JSONArray();
    if (treeModel != null && treeModels != null && !treeModels.isEmpty()) {
        for (TreeModel t : treeModels) {
            JSONObject json = t.toJsonObject();
            json.put("isParent", true);
            // json.put("halfCheck", true);
            // json.put("check", true);
            json.put("pId", treeModel.getId());
            array.add(json);
        }
    }

    logger.debug(array.toJSONString());

    // JacksonTreeHelper treeHelper = new JacksonTreeHelper();
    // ArrayNode responseJSON = treeHelper.getTreeArrayNode(treeModels);
    try {
        return array.toJSONString().getBytes("UTF-8");
    } catch (IOException e) {
        return array.toJSONString().getBytes();
    }
}

From source file:com.glaf.core.jdbc.connection.TomcatJdbcConnectionProvider.java

protected void parsePoolProperties(PoolConfiguration poolProperties, Properties properties) {

    String value = null;/*ww  w.  ja  v  a 2 s . c o  m*/

    value = properties.getProperty(ConnectionConstants.PROP_DEFAULTAUTOCOMMIT);
    if (value != null) {
        poolProperties.setDefaultAutoCommit(Boolean.valueOf(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_DEFAULTREADONLY);
    if (value != null) {
        poolProperties.setDefaultReadOnly(Boolean.valueOf(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_DEFAULTTRANSACTIONISOLATION);
    if (value != null) {
        int level = ConnectionConstants.UNKNOWN_TRANSACTIONISOLATION;
        if ("NONE".equalsIgnoreCase(value)) {
            level = Connection.TRANSACTION_NONE;
        } else if ("READ_COMMITTED".equalsIgnoreCase(value)) {
            level = Connection.TRANSACTION_READ_COMMITTED;
        } else if ("READ_UNCOMMITTED".equalsIgnoreCase(value)) {
            level = Connection.TRANSACTION_READ_UNCOMMITTED;
        } else if ("REPEATABLE_READ".equalsIgnoreCase(value)) {
            level = Connection.TRANSACTION_REPEATABLE_READ;
        } else if ("SERIALIZABLE".equalsIgnoreCase(value)) {
            level = Connection.TRANSACTION_SERIALIZABLE;
        } else {
            try {
                level = Integer.parseInt(value);
            } catch (NumberFormatException e) {
                System.err.println("Could not parse defaultTransactionIsolation: " + value);
                System.err.println("WARNING: defaultTransactionIsolation not set");
                System.err.println("using default value of database driver");
                level = ConnectionConstants.UNKNOWN_TRANSACTIONISOLATION;
            }
        }
        poolProperties.setDefaultTransactionIsolation(level);
    }

    value = properties.getProperty(ConnectionConstants.PROP_DEFAULTCATALOG);
    if (value != null) {
        poolProperties.setDefaultCatalog(value);
    }

    value = properties.getProperty(ConnectionConstants.PROP_MAXACTIVE);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setMaxActive(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_MAXIDLE);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setMaxIdle(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_MINIDLE);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setMinIdle(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_INITIALSIZE);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setInitialSize(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_MAXWAIT);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setMaxWait(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_TESTONBORROW);
    if (value != null) {
        poolProperties.setTestOnBorrow(Boolean.valueOf(value).booleanValue());
    }

    value = properties.getProperty(ConnectionConstants.PROP_TESTONRETURN);
    if (value != null) {
        poolProperties.setTestOnReturn(Boolean.valueOf(value).booleanValue());
    }

    value = properties.getProperty(ConnectionConstants.PROP_TESTONCONNECT);
    if (value != null) {
        poolProperties.setTestOnConnect(Boolean.valueOf(value).booleanValue());
    }

    value = properties.getProperty(ConnectionConstants.PROP_TIMEBETWEENEVICTIONRUNSMILLIS);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setTimeBetweenEvictionRunsMillis(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_NUMTESTSPEREVICTIONRUN);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setNumTestsPerEvictionRun(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_MINEVICTABLEIDLETIMEMILLIS);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setMinEvictableIdleTimeMillis(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_TESTWHILEIDLE);
    if (value != null) {
        poolProperties.setTestWhileIdle(Boolean.valueOf(value).booleanValue());
    }

    value = properties.getProperty(ConnectionConstants.PROP_VALIDATOR_CLASS_NAME);
    if (value != null) {
        poolProperties.setValidatorClassName(value);
    }

    value = properties.getProperty(ConnectionConstants.PROP_VALIDATIONINTERVAL);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setValidationInterval(Long.parseLong(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_ACCESSTOUNDERLYINGCONNECTIONALLOWED);
    if (value != null) {
        poolProperties.setAccessToUnderlyingConnectionAllowed(Boolean.valueOf(value).booleanValue());
    }

    value = properties.getProperty(ConnectionConstants.PROP_REMOVEABANDONED);
    if (value != null) {
        poolProperties.setRemoveAbandoned(Boolean.valueOf(value).booleanValue());
    }

    value = properties.getProperty(ConnectionConstants.PROP_REMOVEABANDONEDTIMEOUT);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setRemoveAbandonedTimeout(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_LOGABANDONED);
    if (value != null) {
        poolProperties.setLogAbandoned(Boolean.valueOf(value).booleanValue());
    }

    if (poolProperties.getUsername() != null) {
        poolProperties.getDbProperties().setProperty("user", poolProperties.getUsername());
    }
    if (poolProperties.getPassword() != null) {
        poolProperties.getDbProperties().setProperty("password", poolProperties.getPassword());
    }

    value = properties.getProperty(ConnectionConstants.PROP_INITSQL);
    if (value != null) {
        poolProperties.setInitSQL(value);
    }

    value = properties.getProperty(ConnectionConstants.PROP_INTERCEPTORS);
    if (value != null) {
        poolProperties.setJdbcInterceptors(value);
    }

    value = properties.getProperty(ConnectionConstants.PROP_JMX_ENABLED);
    if (value != null) {
        poolProperties.setJmxEnabled(Boolean.parseBoolean(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_FAIR_QUEUE);
    if (value != null) {
        poolProperties.setFairQueue(Boolean.parseBoolean(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_USE_EQUALS);
    if (value != null) {
        poolProperties.setUseEquals(Boolean.parseBoolean(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_ABANDONWHENPERCENTAGEFULL);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setAbandonWhenPercentageFull(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_MAXAGE);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setMaxAge(Long.parseLong(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_USE_CON_LOCK);
    if (value != null) {
        poolProperties.setUseLock(Boolean.parseBoolean(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_SUSPECT_TIMEOUT);
    if (value != null && StringUtils.isNumeric(value)) {
        poolProperties.setSuspectTimeout(Integer.parseInt(value));
    }

    value = properties.getProperty(ConnectionConstants.PROP_ALTERNATE_USERNAME_ALLOWED);
    if (value != null) {
        poolProperties.setAlternateUsernameAllowed(Boolean.parseBoolean(value));
    }

}