diff --git a/pom.xml b/pom.xml
index 8971923..96f074f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
it.geosolutions
geoserver-manager
- 1.2-SNAPSHOT
+ 1.3-SNAPSHOT
jar
diff --git a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java
index 0c71858..bbbe0b1 100644
--- a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java
+++ b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java
@@ -602,6 +602,7 @@ public class GeoServerRESTPublisher {
public RESTCoverageStore createExternaMosaicDatastore(String workspace,
String storeName, File mosaicDir, ParameterConfigure configure,
ParameterUpdate update) throws FileNotFoundException {
+
/*
* Carlo (23 Nov 2011):
* commented out since this directory should be readable by targhet GeoServer
diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/GSResourceEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/GSResourceEncoder.java
index ee7920c..99e6284 100644
--- a/src/main/java/it/geosolutions/geoserver/rest/encoder/GSResourceEncoder.java
+++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/GSResourceEncoder.java
@@ -26,11 +26,12 @@
package it.geosolutions.geoserver.rest.encoder;
import it.geosolutions.geoserver.rest.encoder.coverage.GSCoverageEncoder;
-import it.geosolutions.geoserver.rest.encoder.feature.GSFeatureDimensionInfoEncoder;
import it.geosolutions.geoserver.rest.encoder.feature.GSFeatureTypeEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
-import it.geosolutions.geoserver.rest.encoder.metadata.GSMetadataEncoder;
+import it.geosolutions.geoserver.rest.encoder.metadata.GSFeatureDimensionInfoEncoder;
+import it.geosolutions.geoserver.rest.encoder.utils.NestedElementEncoder;
import it.geosolutions.geoserver.rest.encoder.utils.PropertyXMLEncoder;
+import it.geosolutions.geoserver.rest.encoder.utils.XmlElement;
import org.jdom.Element;
import org.jdom.filter.Filter;
@@ -46,12 +47,20 @@ import org.jdom.filter.Filter;
* @author ETj (etj at geo-solutions.it)
* @author Carlo Cancellieri - carlo.cancellieri@geo-solutions.it
*/
-public abstract class GSResourceEncoder
+public abstract class GSResourceEncoder
extends PropertyXMLEncoder {
- private final static String NAME = "name";
+ public final static String NAME = "name";
+ public final static String METADATA="metadata";
+ public final static String KEYWORDS="keywords";
- final private GSMetadataEncoder metadata = new GSMetadataEncoder();
- final private Element keywordsListEncoder = new Element("keywords");
+ final private GSMetadataEncoder metadata = new GSMetadataEncoder();
+ final private Element keywordsListEncoder = new Element(KEYWORDS);
+
+ private class GSMetadataEncoder extends NestedElementEncoder{
+ public GSMetadataEncoder() {
+ super(METADATA);
+ }
+ }
/**
* @param rootName
@@ -72,15 +81,25 @@ public abstract class GSResourceEncoder
set("enabled", (enabled) ? "true" : "false");
}
+ // TODO MetadataLink
+// public void setMetadata(String key, String url){
+// metadata.set(key, url);
+// }
+
/**
* @param key
* @param dimensionInfo
* @deprecated will be set to protected in the next release
*/
- public void addMetadata(String key, T dimensionInfo) {
+ protected void addMetadata(String key, XmlElement dimensionInfo) {
metadata.add(key, dimensionInfo.getRoot());
}
+ protected void setMetadata(String key, XmlElement dimensionInfo) {
+ metadata.set(key, dimensionInfo.getRoot());
+ }
+
+
/**
* @param key
* the name of the metadata to add (f.e.: elevation, time)
@@ -90,9 +109,6 @@ public abstract class GSResourceEncoder
return metadata.remove(key);
}
- public void setMetadata(String key, T dimensionInfo) {
- metadata.set(key, dimensionInfo.getRoot());
- }
public void addKeyword(String keyword) {
final Element el = new Element("string");
diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java
index 714f380..2224020 100644
--- a/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java
+++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java
@@ -27,6 +27,7 @@ package it.geosolutions.geoserver.rest.encoder.coverage;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
+import it.geosolutions.geoserver.rest.encoder.metadata.GSFeatureDimensionInfoEncoder;
/**
@@ -36,10 +37,22 @@ import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
* @author Carlo Cancellieri - carlo.cancellieri@geo-solutions.it
*
*/
-public class GSCoverageEncoder extends GSResourceEncoder {
+public class GSCoverageEncoder extends GSResourceEncoder/**/ {
public GSCoverageEncoder() {
super("coverage");
}
+ /**
+ * @param key
+ * @param dimensionInfo
+ * @deprecated will be set to protected in the next release
+ */
+ public void addMetadata(String key, GSDimensionInfoEncoder dimensionInfo) {
+ super.addMetadata(key, dimensionInfo);
+ }
+
+ public void setMetadata(String key, GSDimensionInfoEncoder dimensionInfo) {
+ super.setMetadata(key, dimensionInfo);
+ }
}
diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoder.java
deleted file mode 100644
index b3d5431..0000000
--- a/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoder.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * GeoServer-Manager - Simple Manager Library for GeoServer
- *
- * Copyright (C) 2007,2011 GeoSolutions S.A.S.
- * http://www.geo-solutions.it
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package it.geosolutions.geoserver.rest.encoder.feature;
-
-import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
-
-public class GSFeatureDimensionInfoEncoder extends GSDimensionInfoEncoder {
- public final static String ATTRIBUTE="attribute";
-
- /**
- * if this dimension is enabled this constructor should be called.
- * @param attribute the attribute field name to use as dimension
- */
- public GSFeatureDimensionInfoEncoder(final String attribute){
- super(true);
- add(ATTRIBUTE, attribute);
- }
-
- /**
- * Change the attribute used as dimension
- * @param attribute the attribute to use as dimension
- */
- public void setAttribute(final String attribute){
- set(ATTRIBUTE, attribute);
- }
-
-
-
-}
diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureTypeEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureTypeEncoder.java
index ff94c09..ac4df51 100644
--- a/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureTypeEncoder.java
+++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureTypeEncoder.java
@@ -25,7 +25,11 @@
package it.geosolutions.geoserver.rest.encoder.feature;
+import java.net.URL;
+
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
+import it.geosolutions.geoserver.rest.encoder.metadata.GSFeatureDimensionInfoEncoder;
+import it.geosolutions.geoserver.rest.encoder.utils.XmlElement;
/**
*
@@ -34,9 +38,22 @@ import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
* @author ETj (etj at geo-solutions.it)
* @author Carlo Cancellieri - carlo.cancellieri@geo-solutions.it
*/
-public class GSFeatureTypeEncoder extends GSResourceEncoder {
+public class GSFeatureTypeEncoder extends GSResourceEncoder/**/ {
public GSFeatureTypeEncoder() {
super("featureType");
}
+
+ /**
+ * @param key
+ * @param dimensionInfo
+ * @deprecated will be set to protected in the next release
+ */
+ public void addMetadata(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
+ super.addMetadata(key, dimensionInfo);
+ }
+
+ public void setMetadata(String key, GSFeatureDimensionInfoEncoder dimensionInfo) {
+ super.setMetadata(key, dimensionInfo);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/metadata/GSMetadataEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/metadata/GSMetadataEncoder.java
deleted file mode 100644
index 54e1501..0000000
--- a/src/main/java/it/geosolutions/geoserver/rest/encoder/metadata/GSMetadataEncoder.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * GeoServer-Manager - Simple Manager Library for GeoServer
- *
- * Copyright (C) 2007,2011 GeoSolutions S.A.S.
- * http://www.geo-solutions.it
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package it.geosolutions.geoserver.rest.encoder.metadata;
-
-import it.geosolutions.geoserver.rest.encoder.utils.NestedElementEncoder;
-
-public class GSMetadataEncoder extends NestedElementEncoder{
-
- public final static String METADATA="metadata";
-
- public GSMetadataEncoder() {
- super(METADATA);
- }
-
-// public void addMetadata(final String key, final T value) {
-// this.add(key, value.getRoot());
-// }
-
-}
diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java
index 57c51c5..aaf97d8 100644
--- a/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java
+++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java
@@ -28,7 +28,6 @@ package it.geosolutions.geoserver.rest.encoder.utils;
import java.util.Iterator;
import java.util.List;
-import org.jdom.Content;
import org.jdom.Element;
import org.jdom.filter.Filter;
diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/GSWorkspaceEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/GSWorkspaceEncoderTest.java
index 46a66f2..ada117e 100644
--- a/src/test/java/it/geosolutions/geoserver/rest/encoder/GSWorkspaceEncoderTest.java
+++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/GSWorkspaceEncoderTest.java
@@ -22,7 +22,6 @@ package it.geosolutions.geoserver.rest.encoder;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
-import org.junit.Assert;
import org.junit.Test;
/**
diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoderTest.java
index e63e1df..a313149 100644
--- a/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoderTest.java
+++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoderTest.java
@@ -21,9 +21,7 @@ package it.geosolutions.geoserver.rest.encoder.coverage;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder.ProjectionPolicy;
-import it.geosolutions.geoserver.rest.encoder.coverage.GSCoverageEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
-import it.geosolutions.geoserver.rest.encoder.metadata.GSMetadataEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder.Presentation;
import it.geosolutions.geoserver.rest.encoder.utils.ElementUtils;
import junit.framework.TestCase;
@@ -52,7 +50,7 @@ public class GSCoverageEncoderTest extends TestCase {
*/
@Test
public void testReprojection(){
- GSResourceEncoder re=new GSCoverageEncoder();
+ GSResourceEncoder/**/ re=new GSCoverageEncoder();
re.setProjectionPolicy(ProjectionPolicy.FORCE_DECLARED);
Assert.assertNotNull(ElementUtils.contains(re.getRoot(),"projectionPolicy",ProjectionPolicy.FORCE_DECLARED.toString()));
@@ -67,7 +65,7 @@ public class GSCoverageEncoderTest extends TestCase {
*/
@Test
public void testBB(){
- GSResourceEncoder re=new GSCoverageEncoder();
+ GSResourceEncoder/**/ re=new GSCoverageEncoder();
re.setLatLonBoundingBox(-180d, 90d, 180d, -90d, null);
Assert.assertNotNull(ElementUtils.contains(re.getRoot(),"minx","-180.0"));
@@ -93,7 +91,7 @@ public class GSCoverageEncoderTest extends TestCase {
if (LOGGER.isInfoEnabled())
LOGGER.info(encoder.toString());
- final Element el=ElementUtils.contains(encoder.getRoot(),GSMetadataEncoder.METADATA);
+ final Element el=ElementUtils.contains(encoder.getRoot(),GSResourceEncoder.METADATA);
Assert.assertNotNull(el);
LOGGER.info("contains_key:"+el.toString());
@@ -112,7 +110,7 @@ public class GSCoverageEncoderTest extends TestCase {
if (LOGGER.isInfoEnabled())
LOGGER.info(encoder.toString());
- final Element el3=ElementUtils.contains(encoder.getRoot(),GSMetadataEncoder.METADATA);
+ final Element el3=ElementUtils.contains(encoder.getRoot(),GSResourceEncoder.METADATA);
Assert.assertNotNull(el3);
LOGGER.info("contains_by_node:"+el3.toString());
@@ -120,7 +118,7 @@ public class GSCoverageEncoderTest extends TestCase {
LOGGER.info("remove:"+removed);
Assert.assertTrue(removed);
- final Element el4=ElementUtils.contains(encoder.getRoot(),GSMetadataEncoder.METADATA);
+ final Element el4=ElementUtils.contains(encoder.getRoot(),GSResourceEncoder.METADATA);
Assert.assertNull(el4);
if (el4==null)
LOGGER.info("REMOVED");
diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSImageMosaicEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSImageMosaicEncoderTest.java
index 6e4190d..d028168 100644
--- a/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSImageMosaicEncoderTest.java
+++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/coverage/GSImageMosaicEncoderTest.java
@@ -38,6 +38,9 @@ public class GSImageMosaicEncoderTest extends TestCase {
*/
protected final static Logger LOGGER = Logger.getLogger(GSImageMosaicEncoderTest.class);
+ /**
+ * TODO implement this test
+ */
@Test
public void testAll() {
final GSImageMosaicEncoder encoder=new GSImageMosaicEncoder();
@@ -51,11 +54,5 @@ public class GSImageMosaicEncoderTest extends TestCase {
encoder.addSUGGESTED_TILE_SIZE("512,512");
-
-
-
-
-
-
}
}
diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoderTest.java
index c1c15a2..d9f192a 100644
--- a/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoderTest.java
+++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureDimensionInfoEncoderTest.java
@@ -1,6 +1,7 @@
package it.geosolutions.geoserver.rest.encoder.feature;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
+import it.geosolutions.geoserver.rest.encoder.metadata.GSFeatureDimensionInfoEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder.Presentation;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder.PresentationDiscrete;
import it.geosolutions.geoserver.rest.encoder.utils.ElementUtils;
diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureEncoderTest.java
index fcd92ce..36245a6 100644
--- a/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureEncoderTest.java
+++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/feature/GSFeatureEncoderTest.java
@@ -19,20 +19,19 @@
*/
package it.geosolutions.geoserver.rest.encoder.feature;
+import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder.Presentation;
import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder.PresentationDiscrete;
-import it.geosolutions.geoserver.rest.encoder.metadata.GSMetadataEncoder;
+import it.geosolutions.geoserver.rest.encoder.metadata.GSFeatureDimensionInfoEncoder;
import it.geosolutions.geoserver.rest.encoder.utils.ElementUtils;
import java.math.BigDecimal;
-import java.util.List;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
import org.jdom.Element;
-import org.jdom.filter.Filter;
import org.junit.Assert;
import org.junit.Test;
@@ -90,7 +89,7 @@ public class GSFeatureEncoderTest extends TestCase {
el=ElementUtils.contains(encoder.getRoot(),GSDimensionInfoEncoder.RESOLUTION);
Assert.assertNull(el);
- el=ElementUtils.contains(encoder.getRoot(),GSMetadataEncoder.METADATA);
+ el=ElementUtils.contains(encoder.getRoot(),GSResourceEncoder.METADATA);
Assert.assertNotNull(el);
LOGGER.info("contains_key:"+el.toString());