/* * (non-Javadoc) * * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ public int compare( ResolvedConceptReferencesIterator itr1, ResolvedConceptReferencesIterator itr2) { try { return itr2.numberRemaining() - itr1.numberRemaining(); } catch (LBResourceUnavailableException e) { throw new RuntimeException(e); } }
@Override public DirectoryResult<T> execute(String state, int start, int maxResults) { ResolvedConceptReferencesIterator iterator; try { iterator = searchExtension.search( state, toCodingSchemeReference(this.codeSystemVersions), MatchAlgorithm.LUCENE); } catch (LBParameterException e) { throw new RuntimeException(e); } ResolvedConceptReferenceList list; boolean atEnd; try { list = iterator.get(start, start + maxResults); atEnd = iterator.numberRemaining() <= start + maxResults; } catch (Exception e) { throw new RuntimeException(e); } List<T> returnList = new ArrayList<T>(); for (ResolvedConceptReference ref : list.getResolvedConceptReference()) { returnList.add(this.doTransform(ref)); } return new DirectoryResult<T>(returnList, atEnd); }
/* * (non-Javadoc) * * @see * org.LexGrid.LexBIG.Utility.Iterators.EntityListIterator#numberRemaining() */ public int numberRemaining() throws LBResourceUnavailableException { int number = 0; for (ResolvedConceptReferencesIterator itr : _iterators) { number += itr.numberRemaining(); } return number; }
/** * Get concept Entity by code * * @param codingScheme * @param code * @return */ public ResolvedConceptReference getConceptByCode(String codingScheme, String code) { CodedNodeSet cns = null; ResolvedConceptReferencesIterator iterator = null; try { LexBIGService lbSvc = RemoteServerUtil.createLexBIGService(); cns = lbSvc.getCodingSchemeConcepts(codingScheme, null); ConceptReferenceList crefs = createConceptReferenceList(new String[] {code}, codingScheme); cns.restrictToCodes(crefs); iterator = cns.resolve(null, null, null); if (iterator.numberRemaining() > 0) { ResolvedConceptReference ref = (ResolvedConceptReference) iterator.next(); return ref; } } catch (LBException e) { _logger.info("Error: " + e.getMessage()); } return null; }