Package com.esri.gpt.catalog.discovery

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


    String httpContextPath = Val.chkStr(svcProps.getHttpContextPath());
    String cswBaseUrl = Val.chkStr(svcProps.getCswBaseURL());
    OperationResponse opResponse = context.getOperationResponse();
    Document responseDom = opResponse.getResponseDom();
    PropertyMeaning meaning = returnable.getMeaning();
    PropertyMeaningType meaningType = meaning.getMeaningType();
    Object[] values = returnable.getValues();
    DcElement dcElement = meaning.getDcElement();
    if ((dcElement == null) || dcElement.getElementName().startsWith("!")) {
      return;
    }
   
    // TODO create an empty element if the values are null?
    // return if the values are null
    if (values == null) {
      //Element elField = dom.createElement(returnable.getClientName());
      //elField.appendChild(dom.createTextNode(""));
      //record.appendChild(elField);
      return;
    }
   
    // add an element for each value found
    for (Object oValue: values) {
      if (oValue != null) {
        if (meaning.getValueType().equals(PropertyValueType.GEOMETRY)) {
          if (oValue instanceof Envelope) {
           
            // TODO include multiple envelope types in the response
            Envelope env = (Envelope)oValue;
            String sLower = env.getMinX()+" "+env.getMinY();
            String sUpper = env.getMaxX()+" "+env.getMaxY();
           
            Element elField = responseDom.createElement("ows:WGS84BoundingBox");
            Element elLower = responseDom.createElement("ows:LowerCorner");
            Element elUpper = responseDom.createElement("ows:UpperCorner");
            elLower.appendChild(responseDom.createTextNode(sLower));
            elUpper.appendChild(responseDom.createTextNode(sUpper));
            elField.appendChild(elLower);
            elField.appendChild(elUpper);
            record.appendChild(elField);
           
            elField = responseDom.createElement("ows:BoundingBox");
            elLower = responseDom.createElement("ows:LowerCorner");
            elUpper = responseDom.createElement("ows:UpperCorner");
            elLower.appendChild(responseDom.createTextNode(sLower));
            elUpper.appendChild(responseDom.createTextNode(sUpper));
            elField.appendChild(elLower);
            elField.appendChild(elUpper);
            record.appendChild(elField);
          }
                    
        } else {
         
          String sValue = oValue.toString();
          if (oValue instanceof Timestamp) {
            if (meaningType.equals(PropertyMeaningType.DATEMODIFIED)) {
              sValue = opResponse.toIso8601((Timestamp)oValue);
            } else {
              sValue = opResponse.toIso8601Date((Timestamp)oValue);
            }
          }
          if (meaningType.equals(PropertyMeaningType.XMLURL)) {
            if ((sValue != null) && sValue.startsWith("?getxml=")) {
              sValue = cswBaseUrl+sValue;
            }
          } else if (meaningType.equals(PropertyMeaningType.THUMBNAILURL)) {
            if ((sValue != null) && sValue.startsWith("/thumbnail?uuid")) {
              sValue = httpContextPath+sValue;
            }
          }
          if ((sValue != null) && (dcElement != null) && (dcElement.getElementName().length() > 0)) {
View Full Code Here


  public IStoreable connect(PropertyMeaning meaning) {
   
    Storeable storable = null;
   
    String fieldName = meaning.getName();
    PropertyMeaningType meaningType = meaning.getMeaningType();
    PropertyComparisonType comparisonType = meaning.getComparisonType();
    PropertyValueType valueType = meaning.getValueType();
   
    if (meaning instanceof PropertyMeaning.AnyText) {
      PropertyMeaning.AnyText anyText = (PropertyMeaning.AnyText)meaning;
      storable = new AnyTextProperty(fieldName,anyText.getNamesToConsider());

    } else if (comparisonType.equals(PropertyComparisonType.ANYTEXT)) {
      storable = new AnyTextProperty(fieldName,new StringSet());
     
    } else if (fieldName.equalsIgnoreCase("body")) {
      storable = new Storeable(fieldName);
      DatastoreField field = new DatastoreField(fieldName,
          Field.Store.NO,Field.Index.ANALYZED,Field.TermVector.NO);
      storable.getFields().add(field);
           
    } else if (comparisonType.equals(PropertyComparisonType.KEYWORD)) {
      storable = new Storeable(fieldName);
      storable.setComparisonField(new LowerCaseField(fieldName));
      storable.setRetrievalField(new ReferenceField(fieldName+".ref"));
      storable.getFields().add(storable.getComparisonField());
      storable.getFields().add(storable.getRetrievalField());
     
    } else if (!meaningType.equals(PropertyMeaningType.DATEMODIFIED) &&
                valueType.equals(PropertyValueType.TIMESTAMP)) {
      storable = new Storeable(fieldName);
      storable.setComparisonField(new TimestampField(fieldName));
      storable.setTermsField(new TermsField(fieldName+".input"));
      storable.getFields().add(storable.getComparisonField());
View Full Code Here

TOP

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

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.