Package com.esri.gpt.catalog.discovery

Examples of com.esri.gpt.catalog.discovery.DiscoveredRecords


        }
      }
      String recQName = recNamespacePfx+":"+recLocalName;
     
      // append each record
      DiscoveredRecords records = query.getResult().getRecords();
      for (DiscoveredRecord record: records) {
        Element elRecord = responseDom.createElementNS(recNamespaceUri,recQName);
        for (Returnable returnable: record.getFields()) {
          this.appendDiscoveredField(context,elRecord,returnable);
        }
        parent.appendChild(elRecord);
      }
   
    // non Dublin Core based responses
    } else {
     
      IOriginalXmlProvider oxp = context.getProviderFactory().makeOriginalXmlProvider(context);
      DiscoveredRecords records = query.getResult().getRecords();
      for (DiscoveredRecord record: records) {
        String responseXml = Val.chkStr(record.getResponseXml());
        if (responseXml.length() > 0) {
          Document dom = DomUtil.makeDomFromString(responseXml,true);
          NodeList nl = dom.getChildNodes();
View Full Code Here


      LuceneQueryAdapterImpl lqa = new LuceneQueryAdapterImpl();
      lqa.execute(context, query);
      ResourceIdentifier resourceIdentifier = ResourceIdentifier.newIdentifier(context);
     
      // traverse through discovered records and build IFeedRecord for each of them (as DiscoveredRecordAdapter)
      DiscoveredRecords records = query.getResult().getRecords();
      for (DiscoveredRecord dr: records) {
        DiscoveredRecordAdapter record = new DiscoveredRecordAdapter(resourceIdentifier,dr);
        Map<String, IFeedAttribute> attrs = new HashMap<String, IFeedAttribute>();
        Map<String,List<String>> data = lqa.getMapping().get(dr);
        if (data!=null) {
View Full Code Here

      }
              
      // process the hits, build the results
      LOGGER.finer("Processing "+nTotal+" records from: "+(startRecord+1)+" to: "+numDocs);
      Storeable storeable;
      DiscoveredRecords records = discoveryResult.getRecords();
      IndexReader reader = searcher.getIndexReader();
      for (int i=startRecord; i<numDocs; i++) {
        ScoreDoc scoreDoc = scoreDocs[i];
        Document document = reader.document(scoreDoc.doc);
        DiscoveredRecord record = new DiscoveredRecord();
       
        // Dublin Core based responses
        if (isDublinCoreResponse) {
          for (Discoverable target: returnables) {
            ArrayList<Object> values = new ArrayList<Object>();
            storeable = (Storeable)target.getStorable();
           
            if (storeable instanceof AnyTextProperty) {
              values = null;
             
            } else if (storeable instanceof GeometryProperty) {
              GeometryProperty geom = (GeometryProperty)storeable;
              values.add(geom.readEnvelope(document));
             
            } else if (target.getMeaning().getMeaningType().equals(PropertyMeaningType.XMLURL)) {
              String uuid = document.get(Storeables.FIELD_UUID);
              uuid = URLEncoder.encode(uuid,"UTF-8");
              values.add("?getxml="+uuid);
             
            } else {          
              DatastoreField retrievalField = storeable.getRetrievalField();
              Field[] fields = document.getFields(retrievalField.getName());
              if (fields != null) {
                for (Field f: fields) {
                  Object value = retrievalField.makeValueToReturn(f.stringValue());
                  values.add(value);
                }
              }
            }
           
            if (values != null) {
              Object [] oValues = null;
              if (values.size() >= 0) oValues = values.toArray();
              record.addField(target,oValues);
            }
          }
       
        // non Dublin Core based responses
        } else {
          String responseXml = null;
          if (isBriefResponse && (responseXml == null)) {
            Field field = document.getField(Storeables.FIELD_XML_BRIEF);
            if (field != null) {
              responseXml = field.stringValue();
            }
          } else if (isSummaryResponse && (responseXml == null)) {
            Field field = document.getField(Storeables.FIELD_XML_SUMMARY);
            if (field != null) {
              responseXml = field.stringValue();
            }
          } else if (responseXml == null) {
            Field field = document.getField(Storeables.FIELD_XML);
            if (field != null) {
              responseXml = field.stringValue();
            }          
          }
          record.setResponseXml(responseXml);
        }
        onRecord(record, document);
        records.add(record);
      }
      int nPopulated = records.size();
      LOGGER.finer("Populated "+nPopulated+" records.");
     
    } finally {
      getIndexAdapter().closeSearcher(searcher);
    }
View Full Code Here

TOP

Related Classes of com.esri.gpt.catalog.discovery.DiscoveredRecords

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.