Пример #1
0
 /*
  * (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);
    }
Пример #3
0
 /*
  * (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;
  }