Example usage for org.apache.commons.validator GenericValidator isBlankOrNull

List of usage examples for org.apache.commons.validator GenericValidator isBlankOrNull

Introduction

In this page you can find the example usage for org.apache.commons.validator GenericValidator isBlankOrNull.

Prototype

public static boolean isBlankOrNull(String value) 

Source Link

Document

Checks if the field isn't null and length of the field is greater than zero not including whitespace.

Usage

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    String forward = FWD_SUCCESS;

    request.getSession().setAttribute(SAVE_DISABLED, TRUE);

    String page = request.getParameter("page");
    setAnalyzerRequest(request.getParameter("type"));

    DynaActionForm dynaForm = (DynaActionForm) form;
    PropertyUtils.setProperty(dynaForm, "analyzerType", analyzer);

    AnalyzerResultsPaging paging = new AnalyzerResultsPaging();
    if (GenericValidator.isBlankOrNull(page)) {
        // get list of AnalyzerData from table based on analyzer type
        List<AnalyzerResults> analyzerResultsList = getAnalyzerResults();

        if (analyzerResultsList.isEmpty()) {
            PropertyUtils.setProperty(dynaForm, "resultList", new ArrayList<AnalyzerResultItem>());
            String msg = StringUtil.getMessageForKey("result.noResultsFound");
            PropertyUtils.setProperty(dynaForm, "notFoundMsg", msg);
            paging.setEmptyPageBean(request, dynaForm);

        } else {/*from  www. j  a va  2 s .c  o m*/

            /*
             * The problem we are solving is that the accession numbers may
             * not be consecutive but we still want to maintain the order So
             * we will form the groups (by analyzer runs) by going in order
             * but if the accession number is in another group it will be
             * boosted to the first group
             */
            boolean missingTest = false;

            resolveMissingTests(analyzerResultsList);

            List<List<AnalyzerResultItem>> accessionGroupedResultsList = groupAnalyzerResults(
                    analyzerResultsList);

            List<AnalyzerResultItem> analyzerResultItemList = new ArrayList<AnalyzerResultItem>();

            int sampleGroupingNumber = 0;
            for (List<AnalyzerResultItem> group : accessionGroupedResultsList) {
                sampleGroupingNumber++;
                AnalyzerResultItem groupHeader = null;
                for (AnalyzerResultItem resultItem : group) {
                    if (groupHeader == null) {
                        groupHeader = resultItem;
                        setNonConformityStateForResultItem(resultItem);
                    }
                    resultItem.setSampleGroupingNumber(sampleGroupingNumber);

                    // There are two reasons there may not be a test id,
                    // 1. it could not be found due to missing mapping
                    // 2. it may not be looked for if the results are read
                    // only
                    // we only want to capture 1.
                    if (GenericValidator.isBlankOrNull(resultItem.getTestId()) && !resultItem.isReadOnly()) {
                        groupHeader.setGroupIsReadOnly(true);
                        missingTest = true;
                    } else if (resultItem.getIsControl()) {
                        groupHeader.setGroupIsReadOnly(true);
                    }

                    analyzerResultItemList.add(resultItem);
                }
            }

            PropertyUtils.setProperty(dynaForm, "missingTestMsg", new Boolean(missingTest));

            paging.setDatabaseResults(request, dynaForm, analyzerResultItemList);
        }
    } else {
        paging.page(request, dynaForm, page);
    }

    return mapping.findForward(forward);
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

private void resolveMissingTests(List<AnalyzerResults> analyzerResultsList) {
    boolean reloadCache = true;
    List<AnalyzerResults> resolvedResults = new ArrayList<AnalyzerResults>();

    for (AnalyzerResults analyzerResult : analyzerResultsList) {
        if (GenericValidator.isBlankOrNull(analyzerResult.getTestId())) {
            if (reloadCache) {
                AnalyzerTestNameCache.instance().reloadCache();
                reloadCache = false;/*from w  w w  . j a v a2 s.  c  o m*/
            }
        }

        String analyzerTestName = analyzerResult.getTestName();
        MappedTestName mappedTestName = AnalyzerTestNameCache.instance().getMappedTest(analyzer,
                analyzerTestName);
        if (mappedTestName != null) {
            analyzerResult.setTestName(mappedTestName.getOpenElisTestName());
            analyzerResult.setTestId(mappedTestName.getTestId());
            resolvedResults.add(analyzerResult);
        }
    }

    if (resolvedResults.size() > 0) {
        Transaction tx = HibernateUtil.getSession().beginTransaction();

        try {
            for (AnalyzerResults analyzerResult : resolvedResults) {
                analyzerResult.setSysUserId(currentUserId);
                analyzerResultsDAO.updateData(analyzerResult);
            }

            tx.commit();
        } catch (LIMSRuntimeException lre) {
            tx.rollback();
        } finally {
            HibernateUtil.closeSession();
        }

    }

}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

protected AnalyzerResultItem analyzerResultsToAnalyzerResultItem(AnalyzerResults result) {

    AnalyzerResultItem resultItem = new AnalyzerResultItem();
    resultItem.setAccessionNumber(result.getAccessionNumber());
    resultItem.setAnalyzerId(result.getAnalyzerId());
    resultItem.setIsControl(result.getIsControl());
    resultItem.setTestName(result.getTestName());
    resultItem.setUnits(getUnits(result.getUnits()));
    resultItem.setId(result.getId());//from ww w. j  a  va 2s .c  o  m
    resultItem.setTestId(result.getTestId());
    resultItem.setCompleteDate(result.getCompleteDateForDisplay());
    resultItem.setLastUpdated(result.getLastupdated());
    resultItem.setReadOnly((result.isReadOnly() || result.getTestId() == null));
    resultItem.setResult(getResultForItem(result));
    resultItem.setTestResultType(result.getResultType());
    resultItem.setDictionaryResultList(getDictionaryResultList(result));
    resultItem.setIsHighlighted(!GenericValidator.isBlankOrNull(result.getDuplicateAnalyzerResultId())
            || GenericValidator.isBlankOrNull(result.getTestId()));
    resultItem.setUserChoiceReflex(giveUserChoice(result));
    resultItem.setUserChoicePending(false);

    if (resultItem.isUserChoiceReflex()) {
        setChoiceForCurrentValue(resultItem, result);
        resultItem.setUserChoicePending(!GenericValidator.isBlankOrNull(resultItem.getSelectionOneText()));
    }
    return resultItem;
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

private void setChoiceForCurrentValue(AnalyzerResultItem resultItem, AnalyzerResults analyzerResult) {
    /*//from   ww w.j  a v  a 2s  .  com
     * If there are no siblings for the reflex then we just need to find if
     * there are choices for the current value
     * 
     * If there are siblings then we need to find if they are currently
     * satisfied
     */
    TestReflex selectionOne = null;
    TestReflex selectionTwo = null;

    if (!TestReflexUtil.testIsTriggeringReflexWithSibs(analyzerResult.getTestId())) {
        List<TestReflex> reflexes = reflexUtil.getTestReflexsForDictioanryResultTestId(
                analyzerResult.getResult(), analyzerResult.getTestId(), true);
        resultItem.setReflexSelectionId(null);
        for (TestReflex reflex : reflexes) {
            if (selectionOne == null) {
                selectionOne = reflex;
            } else {
                selectionTwo = reflex;
            }
        }

    } else {

        Sample sample = getSampleForAnalyzerResult(analyzerResult);

        List<Analysis> analysisList = analysisDAO.getAnalysesBySampleId(sample.getId());

        List<TestReflex> reflexesForDisplayedTest = reflexUtil.getTestReflexsForDictioanryResultTestId(
                analyzerResult.getResult(), analyzerResult.getTestId(), true);

        for (TestReflex possibleTestReflex : reflexesForDisplayedTest) {
            if (TestReflexUtil.isUserChoiceReflex(possibleTestReflex)) {
                if (GenericValidator.isBlankOrNull(possibleTestReflex.getSiblingReflexId())) {
                    if (possibleTestReflex.getActionScriptlet() != null) {
                        selectionOne = possibleTestReflex;
                        break;
                    } else if (selectionOne == null) {
                        selectionOne = possibleTestReflex;
                    } else {
                        selectionTwo = possibleTestReflex;
                        break;
                    }
                } else {
                    // find if the sibling reflex is satisfied
                    TestReflex sibTestReflex = new TestReflex();
                    sibTestReflex.setId(possibleTestReflex.getSiblingReflexId());

                    testReflexDAO.getData(sibTestReflex);

                    TestResult sibTestResult = new TestResult();
                    sibTestResult.setId(sibTestReflex.getTestResultId());
                    testResultDAO.getData(sibTestResult);

                    for (Analysis analysis : analysisList) {
                        List<Result> resultList = resultDAO.getResultsByAnalysis(analysis);
                        Test test = analysis.getTest();

                        for (Result result : resultList) {
                            TestResult testResult = testResultDAO
                                    .getTestResultsByTestAndDictonaryResult(test.getId(), result.getValue());
                            if (testResult != null
                                    && testResult.getId().equals(sibTestReflex.getTestResultId())) {
                                if (possibleTestReflex.getActionScriptlet() != null) {
                                    selectionOne = possibleTestReflex;
                                    break;
                                } else if (selectionOne == null) {
                                    selectionOne = possibleTestReflex;
                                } else {
                                    selectionTwo = possibleTestReflex;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    populateAnalyzerResultItemWithReflexes(resultItem, selectionOne, selectionTwo);
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

private void populateAnalyzerResultItemWithReflexes(AnalyzerResultItem resultItem, TestReflex selectionOne,
        TestReflex selectionTwo) {//w w  w. j  ava 2 s  .c o  m
    if (selectionOne != null) {
        if (selectionTwo == null && !GenericValidator.isBlankOrNull(selectionOne.getActionScriptletId())
                && !GenericValidator.isBlankOrNull(selectionOne.getTestId())) {

            resultItem.setSelectionOneText(TestReflexUtil.makeReflexTestName(selectionOne));
            resultItem.setSelectionOneValue(TestReflexUtil.makeReflexTestValue(selectionOne));
            resultItem.setSelectionTwoText(TestReflexUtil.makeReflexScriptName(selectionTwo));
            resultItem.setSelectionTwoValue(TestReflexUtil.makeReflexScriptValue(selectionOne));
        } else if (selectionTwo != null) {
            if (selectionOne.getTest() != null) {
                resultItem.setSelectionOneText(TestReflexUtil.makeReflexTestName(selectionOne));
                resultItem.setSelectionOneValue(TestReflexUtil.makeReflexTestValue(selectionOne));
            } else {
                resultItem.setSelectionOneText(TestReflexUtil.makeReflexScriptName(selectionOne));
                resultItem.setSelectionOneValue(TestReflexUtil.makeReflexScriptValue(selectionOne));
            }

            if (selectionTwo.getTest() != null) {
                resultItem.setSelectionTwoText(TestReflexUtil.makeReflexTestName(selectionTwo));
                resultItem.setSelectionTwoValue(TestReflexUtil.makeReflexTestValue(selectionOne));
            } else {
                resultItem.setSelectionTwoText(TestReflexUtil.makeReflexScriptName(selectionTwo));
                resultItem.setSelectionTwoValue(TestReflexUtil.makeReflexScriptValue(selectionOne));
            }
        }
    }
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

private String getResultForItem(AnalyzerResults result) {

    if ("N".equals(result.getResultType()) || "A".equals(result.getResultType())
            || "R".equals(result.getResultType()) || GenericValidator.isBlankOrNull(result.getResultType())
            || GenericValidator.isBlankOrNull(result.getResult())) {

        return result.getResult();
    }// w  w w  .ja va2s .  com

    //If it's readonly or the selectlist can not be gotten then we want the result
    //otherwise we want the id so the correct selection will be choosen
    if (result.isReadOnly() || result.getTestId() == null || result.getIsControl()) {
        return dictionaryDAO.getDictionaryById(result.getResult()).getDictEntry();
    } else {
        return result.getResult();
    }
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

private String getUnits(String units) {
    if (GenericValidator.isBlankOrNull(units) || "null".equals(units)) {
        return "";
    }//from  w ww .j a v  a2  s  . c o  m
    return units;
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

private List<Dictionary> getDictionaryResultList(AnalyzerResults result) {
    if ("N".equals(result.getResultType()) || "A".equals(result.getResultType())
            || "R".equals(result.getResultType()) || GenericValidator.isBlankOrNull(result.getResultType())
            || result.getTestId() == null) {
        return null;
    }//from w  ww  .  j av  a2s  .  c o m

    List<Dictionary> dictionaryList = new ArrayList<Dictionary>();

    List<TestResult> testResults = testResultDAO.getActiveTestResultsByTest(result.getTestId());

    for (TestResult testResult : testResults) {
        dictionaryList.add(dictionaryDAO.getDictionaryById(testResult.getValue()));
    }

    return dictionaryList;
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsAction.java

protected void setAnalyzerRequest(String requestType) {
    if (!GenericValidator.isBlankOrNull(requestType)) {
        analyzer = AnalyzerTestNameCache.instance().getDBNameForActionName(requestType);
    }/*w w w .j a va  2 s.  c  o m*/
}

From source file:us.mn.state.health.lims.analyzerresults.action.AnalyzerResultsSaveAction.java

protected ActionForward performAction(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    String forward = FWD_SUCCESS;

    BaseActionForm dynaForm = (BaseActionForm) form;

    AnalyzerResultsPaging paging = new AnalyzerResultsPaging();
    paging.updatePagedResults(request, dynaForm);
    List<AnalyzerResultItem> resultItemList = paging.getResults(request);

    List<AnalyzerResultItem> actionableResults = extractActionableResult(resultItemList);

    if (actionableResults.isEmpty()) {
        return mapping.findForward(forward);
    }/*from w w  w  .  j  a v  a 2 s . c o  m*/

    ActionMessages errors = validateSavableItems(actionableResults);

    if (errors.size() > 0) {
        saveErrors(request, errors);
        request.setAttribute(Globals.ERROR_KEY, errors);

        return mapping.findForward(FWD_VALIDATION_ERROR);
    }

    sampleGroupList = new ArrayList<SampleGrouping>();
    sysUserId = getSysUserId(request);

    resultItemList.removeAll(actionableResults);
    List<AnalyzerResultItem> childlessControls = extractChildlessControls(resultItemList);
    List<AnalyzerResults> deletableAnalyzerResults = getRemovableAnalyzerResults(actionableResults,
            childlessControls);

    createResultsFromItems(actionableResults);

    Transaction tx = HibernateUtil.getSession().beginTransaction();

    try {
        removeHandledResultsFromAnalyzerResults(deletableAnalyzerResults);

        boolean saveSuccess = insertResults(request);

        if (saveSuccess) {
            tx.commit();
        } else {
            tx.rollback();
            return mapping.findForward(FWD_VALIDATION_ERROR);
        }
    } catch (LIMSRuntimeException lre) {
        tx.rollback();
        errors = new ActionErrors();
        ActionError accessionError = new ActionError("errors.UpdateException");
        errors.add(ActionErrors.GLOBAL_MESSAGE, accessionError);
        saveErrors(request, errors);
        request.setAttribute(Globals.ERROR_KEY, errors);

        return mapping.findForward(FWD_VALIDATION_ERROR);
    }

    setSuccessFlag(request, forward);

    if (GenericValidator.isBlankOrNull(dynaForm.getString("analyzerType"))) {
        return mapping.findForward(forward);
    } else {
        Map<String, String> params = new HashMap<String, String>();
        params.put("type", dynaForm.getString("analyzerType"));
        params.put("forward", forward);
        return getForwardWithParameters(mapping.findForward(forward), params);
    }

}