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.analysisexchange.daoimpl.AnalysisExchangeDAOImpl.java
@SuppressWarnings("unchecked") public AnalysisExchange getAnalysisExchangeByInternalAnalysisId(String internalAnalysisId) throws LIMSRuntimeException { AnalysisExchange result = null;/*from w ww . ja va 2s. co m*/ if (!GenericValidator.isBlankOrNull(internalAnalysisId)) { try { String sql = "from AnalysisExchange ae where ae.internalAnalysisId = :internalAnalysisId"; org.hibernate.Query query = HibernateUtil.getSession().createQuery(sql); query.setInteger("internalAnalysisId", Integer.parseInt(internalAnalysisId)); List<AnalysisExchange> list = query.list(); if (list.size() > 0) { result = list.get(0); } //closeSession(); } catch (Exception e) { handleException(e, "getAnalysisExchangeByInternalAnalysisId"); LogEvent.logError("AnalysisExchangeDAOImpl", "getAnalysisExchangeByInternalAnalysisId()", e.toString()); } } return result; }
From source file:us.mn.state.health.lims.analyzerimport.action.AnalyzerImportServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String password = null;//from w ww. j ava 2s . com String user = null; AnalyzerReader reader = null; boolean fileRead = false; InputStream stream = null; try { ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iterator = upload.getItemIterator(request); while (iterator.hasNext()) { FileItemStream item = iterator.next(); stream = item.openStream(); String name = null; if (item.isFormField()) { if (PASSWORD.equals(item.getFieldName())) { password = streamToString(stream); } else if (USER.equals(item.getFieldName())) { user = streamToString(stream); } } else { name = item.getName(); reader = AnalyzerReaderFactory.getReaderFor(name); if (reader != null) { fileRead = reader.readStream(new InputStreamReader(stream)); } } stream.close(); } } catch (Exception ex) { throw new ServletException(ex); } finally { if (stream != null) { try { stream.close(); } catch (IOException e) { // LOG.warning(e.toString()); } } } if (GenericValidator.isBlankOrNull(user) || GenericValidator.isBlankOrNull(password)) { response.getWriter().print("missing user"); response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT); return; } if (!userValid(user, password)) { response.getWriter().print("invalid user/password"); response.setStatus(HttpServletResponse.SC_FORBIDDEN); return; } if (fileRead) { boolean successful = reader.insertAnalyzerData(systemUserId); if (successful) { response.getWriter().print("success"); response.setStatus(HttpServletResponse.SC_OK); return; } else { response.getWriter().print(reader.getError()); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } } else { response.getWriter().print(reader.getError()); response.setStatus(HttpServletResponse.SC_BAD_REQUEST); return; } }
From source file:us.mn.state.health.lims.analyzerimport.action.AnalyzerTestNameUpdateAction.java
private void validateAnalyzerAndTestName(String analyzerId, String analyzerTestName, String testId, ActionMessages errors) {/*from ww w . j av a2 s . co m*/ //This is not very efficient but this is a very low usage action if (GenericValidator.isBlankOrNull(analyzerId) || GenericValidator.isBlankOrNull(analyzerTestName) || GenericValidator.isBlankOrNull(testId)) { errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionError("error.all.required")); return; } AnalyzerTestMappingDAO mappingDAO = new AnalyzerTestMappingDAOImpl(); List<AnalyzerTestMapping> testMappingList = mappingDAO.getAllAnalyzerTestMappings(); for (AnalyzerTestMapping testMapping : testMappingList) { if (analyzerId.equals(testMapping.getAnalyzerId()) && analyzerTestName.equals(testMapping.getAnalyzerTestName())) { errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionError("error.analyzer.test.name.duplicate")); } } }
From source file:us.mn.state.health.lims.analyzerimport.analyzerreaders.CobasC311Reader.java
private AnalyzerResults createAnalyzerResult(String analyzerTestName, String[] fields, int index, String accessionNumber, Timestamp orderTimeStamp) { if (fields.length <= index) { return null; }//from w w w . j av a 2s .c o m String result = fields[index].trim(); if (GenericValidator.isBlankOrNull(result)) { return null; } AnalyzerResults analyzerResults = new AnalyzerResults(); MappedTestName mappedName = AnalyzerTestNameCache.instance().getMappedTest(AnalyzerTestNameCache.COBAS_C311, analyzerTestName); if (mappedName == null) { mappedName = AnalyzerTestNameCache.instance().getEmptyMappedTestName(AnalyzerTestNameCache.COBAS_C311, analyzerTestName); } analyzerResults.setAnalyzerId(mappedName.getAnalyzerId()); analyzerResults.setResult(adjustResult(analyzerTestName, result)); analyzerResults.setCompleteDate(orderTimeStamp); analyzerResults.setTestId(mappedName.getTestId()); analyzerResults.setIsControl( accessionNumber.length() < 9 || !VALID_PREFIXES.contains(accessionNumber.subSequence(0, 3))); analyzerResults.setTestName(mappedName.getOpenElisTestName()); analyzerResults.setResultType("N"); analyzerResults.setAccessionNumber(accessionNumber); return analyzerResults; }
From source file:us.mn.state.health.lims.analyzerimport.analyzerreaders.CobasReader.java
public boolean insert(List<String> lines, String currentUserId) { boolean successful = true; if (lines == null) { return true; }/*from w w w .ja v a 2 s . c o m*/ if (GenericValidator.isBlankOrNull(currentUserId)) { return false; } List<AnalyzerResults> results = new ArrayList<AnalyzerResults>(); List<AnalyzerResults> notMatchedResults = new ArrayList<AnalyzerResults>(); Map<String, AnalyzerResults[]> accessionToResultMap = new HashMap<String, AnalyzerResults[]>(); List<String> accessionOrder = new ArrayList<String>(); for (String line : lines) { createAnalyzerResultFromLine(line, accessionToResultMap, accessionOrder, notMatchedResults); } for (String accessionNumber : accessionOrder) { AnalyzerResults[] resultSet = accessionToResultMap.get(accessionNumber); for (int i = 0; i < 4; i++) { if (resultSet[i] != null) { addValueToResults(results, resultSet[i]); } } for (AnalyzerResults analyzerResult : notMatchedResults) { addValueToResults(results, analyzerResult); } } if (results.size() > 0) { Transaction tx = HibernateProxy.beginTransaction(); try { persistResults(results, currentUserId); tx.commit(); } catch (LIMSRuntimeException lre) { tx.rollback(); successful = false; } finally { HibernateProxy.closeSession(); } } return successful; }
From source file:us.mn.state.health.lims.analyzerimport.analyzerreaders.EvolisReader.java
private void addAnalyzerResultFromLine(List<AnalyzerResults> results, String line) { line = line.replace("\"", "").replace(DELIMITER, ":"); String[] fields = line.split(":"); String analyzerAccessionNumber = fields[Id]; if (fields.length == 7 && !GenericValidator.isBlankOrNull(analyzerAccessionNumber) && analyzerAccessionNumber.length() > 6 && fields[assay].length() > 5) { MappedTestName mappedName = AnalyzerTestNameCache.instance().getMappedTest(AnalyzerTestNameCache.EVOLIS, fields[assay]);//from w ww .ja va2 s .c o m AnalyzerResults analyzerResults = new AnalyzerResults(); analyzerResults.setAnalyzerId(mappedName.getAnalyzerId()); analyzerResults.setResult(getDictioanryValueForResult(fields[result])); analyzerResults.setResultType("D"); analyzerResults.setCompleteDate(new Timestamp(new Date().getTime())); analyzerResults.setTestId(mappedName.getTestId()); analyzerResults.setAccessionNumber(analyzerAccessionNumber); analyzerResults.setTestName(mappedName.getOpenElisTestName()); analyzerResults.setIsControl(false); results.add(analyzerResults); AnalyzerResults resultFromDB = readerUtil.createAnalyzerResultFromDB(analyzerResults); if (resultFromDB != null) { results.add(resultFromDB); } } }
From source file:us.mn.state.health.lims.analyzerimport.analyzerreaders.FacscaliburReader.java
private void addAnalyzerResultFromLine(List<AnalyzerResults> results, String line) { String[] fields = line.split(DELIMITER); AnalyzerReaderUtil readerUtil = new AnalyzerReaderUtil(); String analyzerAccessionNumber = fields[Sample_ID]; String date = fields[Collection_Date]; for (int i = 0; i < testNameIndex.length; i++) { if (!GenericValidator.isBlankOrNull(testNameIndex[i])) { MappedTestName mappedName = AnalyzerTestNameCache.instance() .getMappedTest(AnalyzerTestNameCache.FACSCALIBUR, testNameIndex[i]); if (mappedName == null) { mappedName = AnalyzerTestNameCache.instance() .getEmptyMappedTestName(AnalyzerTestNameCache.FACSCALIBUR, testNameIndex[i]); }/*from www. ja v a 2 s.c o m*/ AnalyzerResults analyzerResults = new AnalyzerResults(); analyzerResults.setAnalyzerId(mappedName.getAnalyzerId()); String result = fields[i]; analyzerResults.setResult(result); analyzerResults.setUnits(unitsIndex[i]); String dateTime = date; Timestamp timestamp = getTimestampFromDate(dateTime); analyzerResults.setCompleteDate(timestamp); analyzerResults.setTestId(mappedName.getTestId()); analyzerResults.setAccessionNumber(analyzerAccessionNumber); analyzerResults.setTestName(mappedName.getOpenElisTestName()); if (analyzerAccessionNumber != null) { analyzerResults.setIsControl(analyzerAccessionNumber.startsWith(CONTROL_ACCESSION_PREFIX)); } else { analyzerResults.setIsControl(false); } results.add(analyzerResults); AnalyzerResults resultFromDB = readerUtil.createAnalyzerResultFromDB(analyzerResults); if (resultFromDB != null) { results.add(resultFromDB); } } } }
From source file:us.mn.state.health.lims.analyzerimport.analyzerreaders.FACSCantoReader.java
private void addAnalyzerResultFromLine(List<AnalyzerResults> results, String line) { String[] fields = StringUtil.separateCSVWithMixedEmbededQuotes(line); //This insures that the row has not been truncated if (fields.length < maxViewedIndex) { return;/*www . jav a 2 s . com*/ } AnalyzerReaderUtil readerUtil = new AnalyzerReaderUtil(); String analyzerAccessionNumber = fields[Sample_ID].replace("\"", ""); analyzerAccessionNumber = StringUtil.strip(analyzerAccessionNumber, " "); String date = fields[Date_Analyzed].replace("\"", ""); //this is sort of dumb, we have the indexes we are interested in for (int i = 0; i < testNameIndex.length; i++) { if (!GenericValidator.isBlankOrNull(testNameIndex[i])) { MappedTestName mappedName = AnalyzerTestNameCache.instance() .getMappedTest(AnalyzerTestNameCache.FACSCANTO, testNameIndex[i].replace("\"", "")); if (mappedName == null) { mappedName = AnalyzerTestNameCache.instance().getEmptyMappedTestName( AnalyzerTestNameCache.FACSCANTO, testNameIndex[i].replace("\"", "")); } AnalyzerResults analyzerResults = new AnalyzerResults(); analyzerResults.setAnalyzerId(mappedName.getAnalyzerId()); String result = fields[i].replace("\"", ""); result = roundTwoDigits(result); analyzerResults.setResult(result); analyzerResults.setUnits(unitsIndex[i]); analyzerResults.setCompleteDate( DateUtil.convertStringDateToTimestampWithPatternNoLocale(date, DATE_PATTERN)); //analyzerResults.setCompleteTime(DateUtil.convertStringDateToTimestamp(date)); analyzerResults.setTestId(mappedName.getTestId()); analyzerResults.setAccessionNumber(analyzerAccessionNumber); analyzerResults.setTestName(mappedName.getOpenElisTestName()); if (analyzerAccessionNumber != null) { analyzerResults.setIsControl(analyzerAccessionNumber.startsWith(CONTROL_ACCESSION_PREFIX)); } else { analyzerResults.setIsControl(false); } results.add(analyzerResults); AnalyzerResults resultFromDB = readerUtil.createAnalyzerResultFromDB(analyzerResults); if (resultFromDB != null) { results.add(resultFromDB); } } } }
From source file:us.mn.state.health.lims.analyzerimport.analyzerreaders.SysmexReader.java
private void addAnalyzerResultFromLine(List<AnalyzerResults> results, String line) { String[] fields = line.split(DELIMITER); AnalyzerReaderUtil readerUtil = new AnalyzerReaderUtil(); String analyzerAccessionNumber = fields[ACCESSION]; Timestamp timestamp = DateUtil.convertStringDateToTimestampWithPattern(fields[DATE] + " " + fields[TIME], DATE_PATTERN);//from www . j a v a2 s . c om List<AnalyzerResults> readOnlyResults = new ArrayList<AnalyzerResults>(); //the reason for the indirection is to get the order of tests correct for (int i = 0; i < orderedTestIndexs.length; i++) { int testIndex = orderedTestIndexs[i]; if (!GenericValidator.isBlankOrNull(testNameIndex[testIndex])) { MappedTestName mappedName = AnalyzerTestNameCache.instance() .getMappedTest(AnalyzerTestNameCache.SYSMEX_XT2000_NAME, testNameIndex[testIndex]); if (mappedName == null) { mappedName = AnalyzerTestNameCache.instance().getEmptyMappedTestName( AnalyzerTestNameCache.SYSMEX_XT2000_NAME, testNameIndex[testIndex]); } AnalyzerResults analyzerResults = new AnalyzerResults(); analyzerResults.setAnalyzerId(mappedName.getAnalyzerId()); double result = Double.NaN; try { result = Double.parseDouble(fields[testIndex]) / scaleIndex[testIndex]; } catch (NumberFormatException nfe) { //no-op -- defaults to NAN } analyzerResults.setResult(String.valueOf(result)); analyzerResults.setUnits(unitsIndex[testIndex]); analyzerResults.setCompleteDate(timestamp); analyzerResults.setTestId(mappedName.getTestId()); analyzerResults.setAccessionNumber(analyzerAccessionNumber); analyzerResults.setTestName(mappedName.getOpenElisTestName()); analyzerResults.setReadOnly(readOnlyIndex[testIndex]); if (analyzerAccessionNumber != null) { analyzerResults.setIsControl(analyzerAccessionNumber.startsWith(CONTROL_ACCESSION_PREFIX)); } else { analyzerResults.setIsControl(false); } if (analyzerResults.isReadOnly()) { readOnlyResults.add(analyzerResults); } else { results.add(analyzerResults); } AnalyzerResults resultFromDB = readerUtil.createAnalyzerResultFromDB(analyzerResults); if (resultFromDB != null) { results.add(resultFromDB); } } } results.addAll(readOnlyResults); }
From source file:us.mn.state.health.lims.analyzerimport.valueholder.AnalyzerTestMapping.java
public String getUniqueIdentifyer() { if (GenericValidator.isBlankOrNull(uniqueIdentifyer)) { uniqueIdentifyer = getAnalyzerId() + "-" + getAnalyzerTestName(); }//from w w w .j a v a 2 s .c o m return uniqueIdentifyer; }