Example usage for org.springframework.util StopWatch stop

List of usage examples for org.springframework.util StopWatch stop

Introduction

In this page you can find the example usage for org.springframework.util StopWatch stop.

Prototype

public void stop() throws IllegalStateException 

Source Link

Document

Stop the current task.

Usage

From source file:no.abmu.questionnaire.service.QuestionnaireServiceHelperH3Impl.java

public ReportStatus[] getReportStatusBySchemaTypeNameAndVersion(
        List<OrganisationUnitForBrowsing> orgUnitsForBrowsing,
        SchemaTypeNameAndVersion schemaTypeNameAndVersion) {

    StopWatch stopWatch = new StopWatch();
    stopWatch.start();//from w  ww . j ava2 s .c  om

    String codeFieldNumber = schemaTypeNameAndVersion.getCodeFinishField();

    String dbSchemaName = schemaTypeNameAndVersion.getDbSchemaName();
    String version = schemaTypeNameAndVersion.getVersion();

    List<ReportStatus> reportStatusAsList = new ArrayList<ReportStatus>();

    for (OrganisationUnitForBrowsing orgForBrowse : orgUnitsForBrowsing) {

        QuestionnaireData questionnaireData = getQuestionnaireData(orgForBrowse.getOrganisationUnitId(),
                dbSchemaName, version);

        reportStatusAsList.add(createReportStatus(orgForBrowse, questionnaireData, codeFieldNumber));
    }

    stopWatch.stop();

    logger.info("Finish prosessing of reportStatus for schemaTypeNameAndVersion:" + schemaTypeNameAndVersion
            + " with " + orgUnitsForBrowsing.size() + " elements in " + stopWatch.getTotalTimeMillis() + " ms");

    return reportStatusAsList.toArray(new ReportStatus[reportStatusAsList.size()]);

}

From source file:no.abmu.questionnaire.webflow.QuestionnaireFormAction.java

protected Object createFormObject(RequestContext context) {
    if (logger.isDebugEnabled()) {
        logger.debug("Executing createFormObject");
    }//from  ww w  .  j a v  a  2  s .  c om
    StopWatch stopWatch = new StopWatch();
    stopWatch.start("createFormObject");

    FlowVariables flowVariables = (FlowVariables) context.getFlowScope().get("flowVariables");

    Long orgUnitId = flowVariables.getWorkingSchemaOrganisationUnitId();
    String questionnaireNameAsString = flowVariables.getQuestionnaireNameAsString();
    String schemaVersion = flowVariables.getQuestionnaireVersion();
    //        QuestionnaireCommand questionnaireCommand = flowVariables.getQuestionnaireCommand();

    if (logger.isDebugEnabled()) {
        logger.debug("[createWebSchema] flowVariabels ==> " + flowVariables);
    }
    Assert.assertNotNull("orgUnitId", orgUnitId);
    Assert.assertNotNull("questionnaireNameAsString", questionnaireNameAsString);
    Assert.assertNotNull("schemaVersion", schemaVersion);

    String submitEvent = context.getRequestParameters().get("_eventId_submit.y");
    if (submitEvent == null) {
        if (logger.isDebugEnabled()) {
            logger.debug("[createFormObject] submitEvent == null (formObject to user) ");
        }
    } else {
        if (logger.isDebugEnabled()) {
            logger.debug("[createFormObject] submitEvent != null (formObject from user)");
            logger.debug("SubmitEvent='" + submitEvent + "'");
        }
    }

    QuestionnaireCommand questionnaireCommand = getCommandFromDb(orgUnitId, questionnaireNameAsString,
            schemaVersion);

    try {
        stopWatch.stop();
        logger.info("[createFormObject] tok [" + stopWatch.getTotalTimeMillis() + "] ms");
    } catch (IllegalStateException e) {
        // Catch and log error.
        // logger.error("[formBackingObject] Error in stopWatch for user: " + loggedOn.toString());
        logger.error("[formBackingObject] Error in stopWatch: " + e);
    }

    return questionnaireCommand;
}

From source file:no.abmu.questionnaire.webflow.QuestionnaireFormAction.java

private QuestionnaireCommand getCommandFromDb(Long orgUnitId, String mainSchemaName, String schemaVersion) {
    Assert.assertNotNull("orgUnitId", orgUnitId);
    Assert.assertNotNull("mainSchemaName", mainSchemaName);
    Assert.assertNotNull("schemaVersion", schemaVersion);

    StopWatch stopWatch = new StopWatch();
    stopWatch.start("createFormObjectFromDb");

    QuestionnaireData questionnaireData = questionnaireService.getOrCreateQuestionnaireData(orgUnitId,
            mainSchemaName, schemaVersion);

    QuestionnaireCommand command = new QuestionnaireCommand(questionnaireData, orgUnitId);

    try {//ww  w. j  a  va 2 s.c  o  m
        FieldData fieldData = command.getQuestionnaireData().getFieldData("103");
        logger.info("getFieldData:" + fieldData + ", value:" + fieldData.getUntypedValue() + ", type:"
                + fieldData.getUntypedValue().getClass());
    } catch (Exception e) {

    }

    try {
        stopWatch.stop();
        logger.info("[getCommandFromDb] tok [" + stopWatch.getTotalTimeMillis() + "] ms");
    } catch (IllegalStateException e) {
        // Catch and log error.
        // logger.error("[formBackingObject] Error in stopWatch for user: " + loggedOn.toString());
        logger.error("[formBackingObject] Error in stopWatch: " + e);
    }

    return command;
}

From source file:no.abmu.questionnaire.webflow.QuestionnaireWebFlowValidator.java

public void validateAndSave(Object object, Errors errors) {
    if (logger.isDebugEnabled()) {
        logger.debug("Executing validateAndSave");
        logger.debug("Object is of type ==>" + object.getClass().getName());
        logger.debug("Number of errors in error object=[" + errors.getErrorCount() + "]");
    }//w w  w .j av a  2 s . c o  m
    Assert.assertTrue("We expect object to implement interface SchemaCommand", object instanceof SchemaCommand);

    StopWatch stopWatchValidate = new StopWatch();
    stopWatchValidate.start("validate");

    validate(object, errors);
    SchemaCommand schemaCommand = (SchemaCommand) object;
    //        schemaCommand.setErrors(errors);

    stopWatchValidate.stop();
    logger.info("[validate] tok [" + stopWatchValidate.getTotalTimeMillis() + "] ms");
    logger.info("Number of errors after validating=[" + errors.getErrorCount() + "].");

    /*        
            logger.info("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
            logger.info("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
            logger.info("Error toString            ==> " + errors.toString());
            logger.info("Error getErrorCount       ==> " + errors.getErrorCount());
            logger.info("Error getGlobalErrorCount ==> " + errors.getGlobalErrorCount());
            logger.info("Error getNestedPath       ==> " + errors.getNestedPath());
            logger.info("Error getObjectName       ==> " + errors.getObjectName());
            logger.info("Error getClass            ==> " + errors.getClass());
            logger.info("NESTED_PATH_SEPARATOR     ==> " + errors.NESTED_PATH_SEPARATOR);
            logger.info("Error getClass            ==> " + errors.getClass());
            logger.info("Error getFieldError       ==> " + errors.getFieldError());
            logger.info("getFieldError('fields[06].value') ==> " + errors.getFieldError("fields[06].value"));
            logger.info("Error getFieldErrors      ==> " + errors.getFieldErrors());
            logger.info("Error getGlobalError      ==> " + errors.getGlobalError());
            logger.info("Error getGlobalErrors     ==> " + errors.getGlobalErrors());
            logger.info("Error hasErrors           ==> " + errors.hasErrors());
            logger.info("Error hasFieldErrors      ==> " + errors.hasFieldErrors());
            logger.info("Error hasGlobalErrors     ==> " + errors.hasGlobalErrors());
            logger.info("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
            logger.info("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE");
    */

    if (!errors.hasErrors()) {
        logger.info("No errors");
        StopWatch stopWatchSave = new StopWatch();
        stopWatchSave.start("save");

        if (schemaCommand instanceof QuestionnaireCommand) {
            logger.info("Command object of type QuestionnaireCommand");
            QuestionnaireCommand command = (QuestionnaireCommand) object;
            Assert.assertNotNull("command", command);
            questionnaireService.storeQuestionnaireData(command.getQuestionnaireData(), command.getOrgUnitId());

        } else if (schemaCommand instanceof SubSchemaCommand) {
            logger.info("Command object of type SubSchemaCommand");
            SubSchemaCommand subSchemaCommand = (SubSchemaCommand) object;
            SubSchemaData subSchemaData = subSchemaCommand.getSubSchemaData();
            logger.info("=============== SubSchemaData which was edited ======================");
            loggingOfSubschema(subSchemaData, 0);
            logger.info("=============== SubSchemaData which was edited ======================");

            QuestionnaireData questionnaireData = subSchemaCommand.getQuestionnaireData();
            Assert.assertNotNull("questionnaireData", questionnaireData);

            if (subSchemaData.getId() == null) {
                questionnaireData.addSubSchemaData(subSchemaData);
            }
            logger.info("=============== All SubSchemaData Before store ======================");
            loggingOfSubSchemas(questionnaireData);
            logger.info("=============== All SubSchemaData Before store ======================");

            questionnaireService.storeQuestionnaireData(questionnaireData);
        } else {
            throw new IllegalArgumentException(
                    "Unsupported command object " + schemaCommand.getClass().getName());
        }

        stopWatchSave.stop();
        logger.info("[save] tok [" + stopWatchSave.getTotalTimeMillis() + "] ms");
    }
}

From source file:no.abmu.user.service.UserServiceImpl.java

public boolean createUsersForOrganisationType(String organisationTypeName) {
    Assert.checkRequiredArgument("organisationTypeName", organisationTypeName);

    StopWatch stopWatch = new StopWatch("reportDataForOrganisationUnits");
    stopWatch.start("Sok i DB");

    boolean resultOKForAllOrganisationUnits = true;
    OrgUnitQueryFinderSpecification finderSpecification = new OrgUnitQueryFinderSpecification(
            organisationTypeName);/*from w ww.j  a  v a 2  s  .  c om*/
    Collection<OrganisationUnit> orgUnits = organisationUnitService.find(finderSpecification);
    stopWatch.stop();
    int numOfOrgUnits = orgUnits.size();
    logger.info("Searching orgunit tok " + stopWatch.getTotalTimeMillis()
            + " milliseconds and number of OrgUnits input " + numOfOrgUnits + " elements ");

    Set<RoleRelation> roleRelations = createRoleRelationsForOrganisationType(organisationTypeName);
    for (RoleRelation rr : roleRelations) {

        logger.debug("RoleRelation: " + rr.toString());
    }

    for (OrganisationUnit organisationUnit : orgUnits) {
        Long orgUnitId = organisationUnit.getId();
        UserFinderSpecification finder = new UserFinderSpecification(orgUnitId);
        Collection users = find(finder);
        if (users.size() > 0) {
            resultOKForAllOrganisationUnits = false;
            logger.warn("Skipping for organisationUnit id='" + orgUnitId + "' name='"
                    + organisationUnit.getName().getReference() + "' who allready has one or more user(s).");
        } else {
            createUserFromOrganisationUnit(organisationUnit, roleRelations, true);
        }
    }

    return resultOKForAllOrganisationUnits;
}

From source file:no.abmu.user.service.UserServiceImpl.java

public void setNewDeadlineForOrgTypeAndRole(String organisationTypeName, String userRoleName,
        boolean createMissingRole) {

    Assert.checkRequiredArgument("organisationTypeName", organisationTypeName);
    Assert.checkRequiredArgument("userRoleName", userRoleName);
    Assert.checkRequiredArgument("createMissingRole", createMissingRole);

    String deadlineAsText = reportingDeadlineService.getActualDeadline(organisationTypeName, userRoleName);
    String opningDateAsText = reportingDeadlineService.getOpningDate(organisationTypeName, userRoleName);
    Date deadline = DateUtil.parseISODate(deadlineAsText);
    Date opningDate = DateUtil.parseISODate(opningDateAsText);

    logger.info("[setNewDeadline] Deadline " + deadline);

    StopWatch stopWatch = new StopWatch("reportDataForOrganisationUnits");
    stopWatch.start("Sok i DB");

    OrgUnitFinderSpecificationBean finderBean = new OrgUnitFinderSpecificationBean();
    finderBean.setOrganisationTypeName(organisationTypeName);
    finderBean.setActiveDate(new Date());

    OrgUnitQueryFinderSpecification finderSpecification = new OrgUnitQueryFinderSpecification(finderBean);
    Collection<OrganisationUnit> orgUnits = organisationUnitService.find(finderSpecification);
    stopWatch.stop();
    int numOfOrgUnits = orgUnits.size();
    logger.info("Searching orgunit tok " + stopWatch.getTotalTimeMillis()
            + " milliseconds and number of OrgUnits input " + numOfOrgUnits + " elements ");

    logger.info("Start prosessing of setting new deadlines for organisationType:" + organisationTypeName
            + " with " + numOfOrgUnits + " organisationUnits");
    StopWatch roleRelationstopWatch = new StopWatch("reportDataForOrganisationUnits");
    roleRelationstopWatch.start("Sok i DB");

    int i = 0;/*from w  ww . j a v  a 2 s . c o m*/
    List<RoleRelation> roleRelationStoreList = new ArrayList<RoleRelation>();
    for (OrganisationUnit organisationUnit : orgUnits) {
        RoleRelationFinderSpecification roleRelationFinderSpecification = new RoleRelationFinderSpecification(
                organisationUnit.getId(), userRoleName);

        Collection<RoleRelation> roleRelations = userDao.find(roleRelationFinderSpecification);
        logger.info("For organisationId='" + organisationUnit.getId() + "' and userRoleName='" + userRoleName
                + "' has " + roleRelations.size() + " # roleRelations, organisationUnitName ==> "
                + organisationUnit.getDefaultName());

        for (RoleRelation roleRelation : roleRelations) {
            if (roleRelation.getRole().getName().equals(userRoleName)) {

                roleRelation.setStartDate(opningDate);
                roleRelation.setEndDate(deadline);
                roleRelationStoreList.add(roleRelation);

            }
        }

        if ((roleRelations.size() == 0) && createMissingRole) {
            logger.info("Now try to create new roleRealiation for user " + organisationUnit.getId());
            UserFinderSpecification userFinderSpecification = new UserFinderSpecification(
                    organisationUnit.getId());

            Collection<User> users = userDao.find(userFinderSpecification);
            if (users.size() == 0) {
                logger.info("No user exist for organisationUnit with id='" + organisationUnit.getId()
                        + "' we do not create new users here.");
            } else if (users.size() == 1) {
                logger.info("One user we create and add new roleRelation to user");
                // First find or create role
                Role role = findOrAddRoleByName(userRoleName);
                RoleRelation roleRelation = new RoleRelation(role, opningDate, deadline);
                User user = users.iterator().next();
                user.addRole(roleRelation);
                userDao.saveOrUpdate(user);
            } else {
                logger.info("More than one user, we don't do anything.");
            }
        }

        i++;
        if ((i % 100) == 0) {
            logger.info("Has processed setting deadline " + i + " of " + numOfOrgUnits
                    + " for organisationUnitType:" + organisationTypeName);
        }
    }

    int numberOfUpdates = roleRelationStoreList.size();
    userDao.saveOrUpdate(roleRelationStoreList.toArray());

    removeUserForOrganisationUnitsFromUserCache(orgUnits);
    roleRelationstopWatch.stop();
    logger.info("Finish setting deadline for organisation type :" + organisationTypeName + " with "
            + numOfOrgUnits + " elements and have updated " + numberOfUpdates + " roleRelations in "
            + roleRelationstopWatch.getTotalTimeMillis() + " ms");

}

From source file:no.abmu.user.service.UserServiceImpl.java

public SchemaList letterDataAddressFromUserDB(String orgTypeName, String userRoleName) {
    Assert.checkRequiredArgument("orgTypeName", orgTypeName);
    Assert.checkRequiredArgument("userRoleName", userRoleName);

    // Getting due date
    String reportDueDate = reportingDeadlineService.getOfficialDeadline(orgTypeName, userRoleName);

    // Getting id and name for organisationType
    StopWatch stopWatchPostalAddress = new StopWatch("postalAddress");
    stopWatchPostalAddress.start("postalAddress");
    OrgUnitBrowseFinderSpecification finderSpecification = new OrgUnitBrowseFinderSpecification(orgTypeName);

    Collection orgUnits = organisationUnitService.find(finderSpecification);
    stopWatchPostalAddress.stop();
    int numOfOrgUnits = orgUnits.size();
    logger.info("Getting institutions tok " + stopWatchPostalAddress.getTotalTimeMillis() + " milliseconds for "
            + orgUnits.size() + " elements " + " for organisationType " + orgTypeName);

    // Getting username and password
    StopWatch userNameAndPasswordStopWatch = new StopWatch("reportDataForOrganisationUnits");
    userNameAndPasswordStopWatch.start("Sok i DB");
    logger.info("Start getting username and passwords for organisationType:" + orgTypeName + " with "
            + numOfOrgUnits + " organisationUnits");

    SchemaList schemaList = new SchemaList();
    int n = 0;/*ww w. ja  v  a  2  s .c  o  m*/
    for (Iterator i = orgUnits.iterator(); i.hasNext(); n++) {
        OrganisationUnitForBrowsing orgUnit = (OrganisationUnitForBrowsing) i.next();
        Long organisationUnitId = orgUnit.getOrganisationUnitId();

        HashMap<String, Object> report = new HashMap<String, Object>();
        report.put("id", orgUnit.getOrganisationUnitId());
        report.put("name", orgUnit.getOrganisationUnitName());
        report.put("report_due_date", reportDueDate);

        Collection<User> users = find(new UserFinderSpecification(organisationUnitId, userRoleName));
        putUserNamePasswordAndAddressToJasperReport(report, users, organisationUnitId);
        schemaList.add(report);

        if ((n % 100) == 0) {
            logger.info("Has processed getting username and passwords " + n + " of " + numOfOrgUnits
                    + " for organisationUnitType:" + orgTypeName);
        }
    }

    userNameAndPasswordStopWatch.stop();
    logger.info("Finish getting username and password for organisation type :" + orgTypeName + " with "
            + numOfOrgUnits + " elements in " + userNameAndPasswordStopWatch.getTotalTimeMillis() + " ms");

    return schemaList;
}

From source file:no.abmu.user.service.UserServiceImpl.java

private SchemaList letterAddressFromOrganisationregister(String orgTypeName, String reportDueDate,
        String userRoleName, Boolean createMissingRoleRelationOnExistingUser) {

    // Getting postal address data for organisationType
    Collection<PostalAddressReport> postalAddresses = getPostalAddresses(orgTypeName);
    int numOfPostalAddresses = postalAddresses.size();

    // Getting username and password
    StopWatch userNameAndPasswordStopWatch = new StopWatch("reportDataForOrganisationUnits");
    userNameAndPasswordStopWatch.start("Sok i DB");
    logger.info("Start getting username and passwords for organisationType:" + orgTypeName + " with "
            + numOfPostalAddresses + " organisationUnits");

    SchemaList schemaList = new SchemaList();
    int n = 0;/*from   www  .  j  av  a  2 s.  c o m*/
    for (PostalAddressReport postalAddressReport : postalAddresses) {
        n++;
        Map<String, Object> report = putPostalAddressUserNameAndPassword(postalAddressReport, userRoleName,
                createMissingRoleRelationOnExistingUser, orgTypeName);
        report.put("report_due_date", reportDueDate);
        schemaList.add(report);

        if ((n % 100) == 0) {
            logger.info("Has processed getting username and passwords " + n + " of " + numOfPostalAddresses
                    + " for organisationUnitType:" + orgTypeName);
        }

    }

    userNameAndPasswordStopWatch.stop();
    logger.info("Finish getting username and password for organisation type :" + orgTypeName + " with "
            + numOfPostalAddresses + " elements in " + userNameAndPasswordStopWatch.getTotalTimeMillis()
            + " ms");

    return schemaList;

}

From source file:no.abmu.user.service.UserServiceImpl.java

private Collection<PostalAddressReport> getPostalAddresses(String orgTypeName) {

    // Getting postal address data for organisationType of today.
    StopWatch stopWatchPostalAddress = new StopWatch("postalAddress");
    stopWatchPostalAddress.start("postalAddress");

    Date toDay = new Date();
    logger.info("ToDay: " + toDay);
    OrgUnitFinderSpecificationBean finderBean = new OrgUnitFinderSpecificationBean();
    finderBean.setOrganisationTypeName(orgTypeName);
    finderBean.setActiveDate(toDay);/*from   w  ww  .j  a  va 2 s. co  m*/

    PostalAddressFinderSpecification finderSpecification = new PostalAddressFinderSpecification(finderBean);
    Collection<PostalAddressReport> postalAddresses = organisationUnitService.find(finderSpecification);

    stopWatchPostalAddress.stop();
    logger.info(
            "Getting postal addresses tok " + stopWatchPostalAddress.getTotalTimeMillis() + " milliseconds for "
                    + postalAddresses.size() + " elements " + " for organisationType " + orgTypeName);

    Comparator<OrgUnitReport> comparator = new OrgUnitReportCountyAndNameComparator();
    SortedSet<PostalAddressReport> reports = new TreeSet<PostalAddressReport>(comparator);
    reports.addAll(postalAddresses);

    return reports;
}

From source file:org.alfresco.repo.search.impl.solr.DbOrIndexSwitchingQueryLanguage.java

public ResultSet executeQuery(SearchParameters searchParameters, ADMLuceneSearcherImpl admLuceneSearcher) {
    QueryConsistency consistency = searchParameters.getQueryConsistency();
    if (consistency == QueryConsistency.DEFAULT) {
        consistency = queryConsistency;//  w  w w .  ja v a  2 s  .  co  m
    }

    switch (consistency) {
    case EVENTUAL:
        if (indexQueryLanguage != null) {
            if (logger.isDebugEnabled()) {
                logger.debug("Using SOLR query: " + dbQueryLanguage.getName() + " for " + searchParameters);
            }
            StopWatch stopWatch = new StopWatch("index only");
            stopWatch.start();
            ResultSet results = indexQueryLanguage.executeQuery(searchParameters, admLuceneSearcher);
            stopWatch.stop();
            if (logger.isDebugEnabled()) {
                logger.debug("SOLR returned " + results.length() + " results in "
                        + stopWatch.getLastTaskTimeMillis() + "ms");
            }
            return results;
        } else {
            throw new QueryModelException("No query language available");
        }
    case TRANSACTIONAL:
        if (dbQueryLanguage != null) {
            if (logger.isDebugEnabled()) {
                logger.debug("Trying db query for " + dbQueryLanguage.getName() + " for " + searchParameters);
            }
            StopWatch stopWatch = new StopWatch("database only");
            stopWatch.start();
            ResultSet results = dbQueryLanguage.executeQuery(flattenDBQuery(searchParameters),
                    admLuceneSearcher);
            stopWatch.stop();
            if (logger.isDebugEnabled()) {
                logger.debug("DB returned " + results.length() + " results in "
                        + stopWatch.getLastTaskTimeMillis() + "ms");
            }
            return results;
        } else {
            throw new QueryModelException("No query language available");
        }
    case HYBRID:
        if (!hybridEnabled) {
            throw new DisabledFeatureException("Hybrid query is disabled.");
        }
        return executeHybridQuery(searchParameters, admLuceneSearcher);
    case DEFAULT:
    case TRANSACTIONAL_IF_POSSIBLE:
    default:
        StopWatch stopWatch = new StopWatch("DB if possible");
        if (dbQueryLanguage != null) {
            try {
                if (logger.isDebugEnabled()) {
                    logger.debug(
                            "Trying db query for " + dbQueryLanguage.getName() + " for " + searchParameters);
                }
                stopWatch.start();
                ResultSet results = dbQueryLanguage.executeQuery(flattenDBQuery(searchParameters),
                        admLuceneSearcher);
                stopWatch.stop();
                if (logger.isDebugEnabled()) {
                    logger.debug("DB returned " + results.length() + " results in "
                            + stopWatch.getLastTaskTimeMillis() + "ms");
                }
                return results;
            } catch (QueryModelException qme) {
                if (stopWatch.isRunning()) {
                    stopWatch.stop();
                }
                // MNT-10323: Logging configuration on JBoss leads to clogging of the log with a lot of these errors because of INFO level when WQS module is installed
                if (logger.isDebugEnabled()) {
                    logger.debug(
                            "DB query failed for " + dbQueryLanguage.getName() + " for " + searchParameters,
                            qme);
                }

                if (indexQueryLanguage != null) {
                    if (logger.isDebugEnabled()) {
                        logger.debug(
                                "Using SOLR query: " + dbQueryLanguage.getName() + " for " + searchParameters);
                    }
                    stopWatch.start();
                    ResultSet results = indexQueryLanguage.executeQuery(searchParameters, admLuceneSearcher);
                    stopWatch.stop();
                    if (logger.isDebugEnabled()) {
                        logger.debug("SOLR returned " + results.length() + " results in "
                                + stopWatch.getLastTaskTimeMillis() + "ms");
                    }
                    return results;
                }
            }
        } else {
            if (indexQueryLanguage != null) {
                if (logger.isDebugEnabled()) {
                    logger.debug("(No DB QL) Using SOLR query: " + "dbQueryLanguage==null" + " for "
                            + searchParameters);
                }
                stopWatch.start();
                ResultSet results = indexQueryLanguage.executeQuery(searchParameters, admLuceneSearcher);
                stopWatch.stop();
                if (logger.isDebugEnabled()) {
                    logger.debug("SOLR returned " + results.length() + " results in "
                            + stopWatch.getLastTaskTimeMillis() + "ms");
                }
                return results;
            }
        }
        throw new QueryModelException("No query language available");
    }

}