I have a geoserver instance where users can publish layers to the geoserver. Because there are so many users that can publish to the geoserver we have been unable to prevent them from publishing layers with spaces in the names. When there are spaces (or other certain characters), the rest api is broken because the urls have spaces in them. Obviously the best solution is to fix Geoserver so that a layer with a space in the name (or in the workspace name) does not break the REST API. However that is a substantial amount of work and this change makes this library more robust in the face or inconsiderate geoserver administrators so I decided to make the change here. When I have time I would like to patch Geoserver as well but that is another issue.
289 lines
9.1 KiB
XML
289 lines
9.1 KiB
XML
<!-- * 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. -->
|
|
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>it.geosolutions</groupId>
|
|
<artifactId>geoserver-manager</artifactId>
|
|
<version>1.6-SNAPSHOT</version>
|
|
|
|
<packaging>jar</packaging>
|
|
|
|
<name>GeoServer 2 Manager - REST based</name>
|
|
<description>
|
|
GeoServer Manager is a library to interact with GeoServer 2.x.
|
|
The scope of this library is to have a simple API, and use as few external
|
|
libs as possible.
|
|
</description>
|
|
|
|
<inceptionYear>2007</inceptionYear>
|
|
|
|
<organization>
|
|
<name>GeoSolutions</name>
|
|
<url>http://www.geo-solutions.it</url>
|
|
</organization>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>etj</id>
|
|
<name>Emanuele Tajariol</name>
|
|
<email>etj AT geosolutions.it</email>
|
|
<organization>GeoSolutions</organization>
|
|
<organizationUrl>http://www.geo-solutions.it</organizationUrl>
|
|
<roles>
|
|
<role>architect</role>
|
|
<role>developer</role>
|
|
</roles>
|
|
<timezone>+1</timezone>
|
|
</developer>
|
|
<developer>
|
|
<id>ccancellieri</id>
|
|
<name>Carlo Cancellieri</name>
|
|
<email>carlo.cancellieri AT geosolutions.it</email>
|
|
<organization>GeoSolutions</organization>
|
|
<organizationUrl>http://www.geo-solutions.it</organizationUrl>
|
|
<roles>
|
|
<role>architect</role>
|
|
<role>developer</role>
|
|
</roles>
|
|
<timezone>+1</timezone>
|
|
</developer>
|
|
</developers>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>MIT License</name>
|
|
<url>http://opensource.org/licenses/mit-license.php</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<url>http://code.google.com/p/geoserver-manager/</url>
|
|
|
|
<issueManagement>
|
|
<system>googlecode</system>
|
|
<url>http://code.google.com/p/geoserver-manager/issues/list</url>
|
|
</issueManagement>
|
|
|
|
<mailingLists>
|
|
<mailingList>
|
|
<name>GeoServer Manager User List</name>
|
|
<post>geoserver-manager-users@googlegroups.com </post>
|
|
<archive>http://groups.google.com/group/geoserver-manager-users/topics</archive>
|
|
</mailingList>
|
|
</mailingLists>
|
|
|
|
<scm>
|
|
<connection>scm:git:[fetch=]https://github.com/geosolutions-it/geoserver-manager.git[push=]git@github.com:geosolutions-it/geoserver-manager.git</connection>
|
|
<!--developerConnection>scm:git</developerConnection -->
|
|
<!--tag>master</tag -->
|
|
<url>https://github.com/geosolutions-it/geoserver-manager</url>
|
|
</scm>
|
|
|
|
<ciManagement>
|
|
<system>jenkins</system>
|
|
<url>http://ci.geo-solutions.it/</url>
|
|
</ciManagement>
|
|
|
|
<distributionManagement>
|
|
<downloadUrl>http://maven.geo-solutions.it</downloadUrl>
|
|
<repository>
|
|
<uniqueVersion>false</uniqueVersion>
|
|
<id>geosolutions</id>
|
|
<url>ftp://maven.geo-solutions.it/</url>
|
|
</repository>
|
|
<site>
|
|
<id>demo.geosolutions</id>
|
|
<url>scp://demo.geo-solutions.it/var/www/share/github/gsman</url>
|
|
</site>
|
|
</distributionManagement>
|
|
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>2.0.2</version>
|
|
<configuration>
|
|
<source>1.6</source>
|
|
<target>1.6</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>2.7</version>
|
|
<configuration>
|
|
<detectLinks />
|
|
<!-- <links> <link>http://commons.apache.org/dbcp/apidocs/</link> <link>http://commons.apache.org/fileupload/apidocs/</link>
|
|
<link>http://download.oracle.com/javase/6/docs/api</link> </links> -->
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- ======================================================= -->
|
|
<!-- Source packaging. -->
|
|
<!-- ======================================================= -->
|
|
<plugin>
|
|
<inherited>true</inherited>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<configuration>
|
|
<attach>true</attach>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- versioning -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
<version>2.2.2</version>
|
|
<configuration>
|
|
<tagNameFormat>v@{project.version}</tagNameFormat>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<!-- ======================================================== -->
|
|
<!-- Extensions settings for Deployment -->
|
|
<!-- ======================================================== -->
|
|
<extensions>
|
|
<!--............................................. -->
|
|
<!-- geo-solutions (using wagon ftp) -->
|
|
<!--............................................. -->
|
|
<extension>
|
|
<groupId>org.apache.maven.wagon</groupId>
|
|
<artifactId>wagon-ftp</artifactId>
|
|
<version>1.0-beta-7</version>
|
|
</extension>
|
|
</extensions>
|
|
</build>
|
|
|
|
<reporting>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<links>
|
|
<link>http://commons.apache.org/lang/api</link>
|
|
<link>http://java.sun.com/j2se/1.5.0/docs/api</link>
|
|
<link>http://www.jdom.org/docs/apidocs</link>
|
|
</links>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId>
|
|
<version>2.2</version> </plugin> -->
|
|
</plugins>
|
|
</reporting>
|
|
|
|
<properties>
|
|
<slf4j.version>1.5.11</slf4j.version>
|
|
<encoding>UTF-8</encoding>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>2.0.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-httpclient</groupId>
|
|
<artifactId>commons-httpclient</artifactId>
|
|
<version>3.1</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>jdom</groupId>
|
|
<artifactId>jdom</artifactId>
|
|
<version>1.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>jcl-over-slf4j</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<!-- commons-logging can be rather simply and conveniently excluded as
|
|
a dependency by declaring it in the provided scope within the pom.xml file
|
|
of your project. The actual commons-logging classes would be provided by
|
|
jcl-over-slf4j. This translates into the following pom file snippet: -->
|
|
<!-- <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId>
|
|
<version>1.1.1</version> <scope>provided</scope> </dependency> <dependency>
|
|
<groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version>
|
|
</dependency>
|
|
|
|
</dependency>-->
|
|
<!--================================================================= -->
|
|
<!-- TEST -->
|
|
<!--================================================================= -->
|
|
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.8.2</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-core</artifactId>
|
|
<version>2.5.6.SEC02</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
</project>
|
|
|