WfsCapabilities.java

  1. package de.turnertech.ows.common;

  2. import java.util.Arrays;
  3. import java.util.Collections;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;

  7. import de.turnertech.ows.gml.FeatureType;
  8. import de.turnertech.ows.parameter.OwsServiceValue;
  9. import de.turnertech.ows.parameter.WfsVersionValue;

  10. public class WfsCapabilities {
  11.    
  12.     private String serviceTitle;

  13.     private String serviceAbstract;

  14.     private List<String> keywords;

  15.     private OwsServiceValue serviceType;

  16.     private List<WfsVersionValue> serviceTypeVersions;

  17.     private List<FeatureType> featureTypes;

  18.     private Map<String, Boolean> filterConformance;

  19.     private String fees;

  20.     private String accessConstraints;

  21.     public WfsCapabilities() {
  22.         serviceTitle = "Default Service Title";
  23.         serviceAbstract = "Default Service Abstract";
  24.         serviceType = OwsServiceValue.WFS;
  25.         serviceTypeVersions = Arrays.asList(WfsVersionValue.V2_0_0, WfsVersionValue.V2_0_2);
  26.         keywords = Arrays.asList("Default Keyword");
  27.         fees = "NONE";
  28.         accessConstraints = "NONE";
  29.         featureTypes = Collections.emptyList();
  30.        
  31.         filterConformance = new HashMap<>();
  32.         filterConformance.put("ImplementsQuery", false);
  33.         filterConformance.put("ImplementsAdHocQuery", false);
  34.         filterConformance.put("ImplementsFunctions", false);
  35.         filterConformance.put("ImplementsMinStandardFilter", false);
  36.         filterConformance.put("ImplementsStandardFilter", false);
  37.         filterConformance.put("ImplementsMinSpatialFilter", false);
  38.         filterConformance.put("ImplementsSpatialFilter", false);
  39.         filterConformance.put("ImplementsMinTemporalFilter", false);
  40.         filterConformance.put("ImplementsTemporalFilter", false);
  41.         filterConformance.put("ImplementsVersionNav", false);
  42.         filterConformance.put("ImplementsSorting", false);
  43.         filterConformance.put("ImplementsExtendedOperators", false);
  44.     }

  45.     /**
  46.      * @return the serviceTitle
  47.      */
  48.     public String getServiceTitle() {
  49.         return serviceTitle;
  50.     }

  51.     /**
  52.      * @param serviceTitle the serviceTitle to set
  53.      */
  54.     public void setServiceTitle(String serviceTitle) {
  55.         this.serviceTitle = serviceTitle;
  56.     }

  57.     /**
  58.      * @return the serviceAbstract
  59.      */
  60.     public String getServiceAbstract() {
  61.         return serviceAbstract;
  62.     }

  63.     /**
  64.      * @param serviceAbstract the serviceAbstract to set
  65.      */
  66.     public void setServiceAbstract(String serviceAbstract) {
  67.         this.serviceAbstract = serviceAbstract;
  68.     }

  69.     /**
  70.      * @return the serviceType
  71.      */
  72.     public OwsServiceValue getServiceType() {
  73.         return serviceType;
  74.     }

  75.     /**
  76.      * @return the serviceTypeVersions
  77.      */
  78.     public List<WfsVersionValue> getServiceTypeVersions() {
  79.         return serviceTypeVersions;
  80.     }

  81.     /**
  82.      * @param serviceTypeVersions the serviceTypeVersions to set
  83.      */
  84.     public void setServiceTypeVersions(List<WfsVersionValue> serviceTypeVersions) {
  85.         this.serviceTypeVersions = serviceTypeVersions;
  86.     }

  87.     /**
  88.      * @return the fees
  89.      */
  90.     public String getFees() {
  91.         return fees;
  92.     }

  93.     /**
  94.      * @param fees the fees to set
  95.      */
  96.     public void setFees(String fees) {
  97.         this.fees = fees;
  98.     }

  99.     /**
  100.      * @return the accessConstraints
  101.      */
  102.     public String getAccessConstraints() {
  103.         return accessConstraints;
  104.     }

  105.     /**
  106.      * @param accessConstraints the accessConstraints to set
  107.      */
  108.     public void setAccessConstraints(String accessConstraints) {
  109.         this.accessConstraints = accessConstraints;
  110.     }

  111.     /**
  112.      * @return the keywords
  113.      */
  114.     public List<String> getKeywords() {
  115.         return keywords;
  116.     }

  117.     /**
  118.      * @param keywords the keywords to set
  119.      */
  120.     public void setKeywords(List<String> keywords) {
  121.         this.keywords = keywords;
  122.     }

  123.     public FeatureType getFeatureType(String namespace, String name) {
  124.         for(FeatureType featureType : featureTypes) {
  125.             if(featureType.getName().equals(name) && featureType.getNamespace().equals(namespace)) {
  126.                 return featureType;
  127.             }
  128.         }
  129.         return null;
  130.     }

  131.     /**
  132.      * @return the featureTypes
  133.      */
  134.     public List<FeatureType> getFeatureTypes() {
  135.         return featureTypes;
  136.     }

  137.     /**
  138.      * @param featureTypes the featureTypes to set
  139.      */
  140.     public void setFeatureTypes(List<FeatureType> featureTypes) {
  141.         this.featureTypes = featureTypes;
  142.     }

  143.     /**
  144.      * @return the filterConformance
  145.      */
  146.     public Map<String, Boolean> getFilterConformance() {
  147.         return filterConformance;
  148.     }

  149.    

  150. }