diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/services/DummyMetaDataService.java @ 597:cf38b983d1f3

Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service. gnv-artifacts/trunk@653 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Mon, 01 Feb 2010 14:52:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/services/DummyMetaDataService.java	Mon Feb 01 14:52:05 2010 +0000
@@ -0,0 +1,93 @@
+/**
+ *
+ */
+package de.intevation.gnv.artifacts.services;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.apache.log4j.Logger;
+
+import com.vividsolutions.jts.geom.Geometry;
+
+import de.intevation.gnv.artifacts.services.requestobjects.DefaultFIS;
+import de.intevation.gnv.artifacts.services.requestobjects.DefaultParameter;
+import de.intevation.gnv.artifacts.services.requestobjects.FIS;
+import de.intevation.gnv.artifacts.services.requestobjects.Layer;
+import de.intevation.gnv.artifacts.services.requestobjects.MapService;
+import de.intevation.gnv.artifacts.services.requestobjects.Parameter;
+
+/**
+ * Dummy of the MetaDataWebservice to simulate an answering Service
+ * until the Databasebackend will serve the required Data.
+ * bb
+ * @author Tim Englich <tim.englich@intevation.de>
+ *
+ */
+public class DummyMetaDataService extends MetaDataService{
+
+    /**
+     * the logger, used to log exceptions and additionally information
+     */
+    private static Logger log = Logger.getLogger(DummyMetaDataService.class);
+    /**
+     * The UID of this Class.
+     */
+    private static final long serialVersionUID = 4712607258043392650L;
+
+    /**
+     * Constructor
+     */
+    public DummyMetaDataService() {
+        super();
+    }
+
+    /**
+     * @see de.intevation.gnv.artifacts.services.MetaDataService#getFIS(java.util.Collection)
+     */
+    @Override
+    protected Collection<FIS> getFIS(Collection<MapService> mapServices)
+                                                                        throws MetaDataServiceException {
+        log.debug("DummyMetaDataService.getFIS ==> MapServices");
+        Collection<FIS> returnValue = null;
+        if (mapServices != null && !mapServices.isEmpty()){
+            returnValue = new ArrayList<FIS>(mapServices.size());
+            Iterator<MapService> mit = mapServices.iterator();
+            while(mit.hasNext()){
+                MapService mapService = mit.next();
+                Collection<Layer> layer = mapService.getLayer();
+                Collection<Parameter> parameter = 
+                    new ArrayList<Parameter>(layer.size());
+                if (layer != null){
+                    Iterator<Layer> layerIt = layer.iterator();
+                    while (layerIt.hasNext()){
+                        Layer tmpLayer = layerIt.next();
+                        if (!tmpLayer.isGroupLayer()){
+                            parameter.add(new DefaultParameter(tmpLayer.getID(), 
+                                                               tmpLayer.getName()));
+                        }
+                    }
+                }
+                returnValue.add(new DefaultFIS(mapService.getID(),parameter));
+            }
+        }
+        return returnValue;
+    }
+
+    /**
+     * @see de.intevation.gnv.artifacts.services.MetaDataService#getFIS(com.vividsolutions.jts.geom.Geometry)
+     */
+    @Override
+    protected Collection<FIS> getFIS(Geometry g)
+                                                throws MetaDataServiceException {
+        log.debug("DummyMetaDataService.getFIS ==> Geometry");
+        Collection<FIS> returnValue = null;
+        if (g != null){
+            returnValue = new ArrayList<FIS>(2);
+            returnValue.add(new DefaultFIS("fis_modeldata"));
+            returnValue.add(new DefaultFIS("fis_marnet"));
+        }
+        return returnValue;
+    }
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org