List of usage examples for org.apache.commons.validator GenericValidator isBlankOrNull
public static boolean isBlankOrNull(String value)
Checks if the field isn't null and length of the field is greater than zero not including whitespace.
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); } }