diff --git a/deegree-client/deegree-jsf-console/pom.xml b/deegree-client/deegree-jsf-console/pom.xml
index e48296d746..1b077ae1e1 100644
--- a/deegree-client/deegree-jsf-console/pom.xml
+++ b/deegree-client/deegree-jsf-console/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-client
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/ConfigManager.java b/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/ConfigManager.java
index c7a0c8cf14..0e2779223e 100644
--- a/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/ConfigManager.java
+++ b/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/ConfigManager.java
@@ -159,9 +159,12 @@ public List getProcessManagers() {
public List getConnectionManagers() {
return getResourceManagers( "connection" );
}
-
+
public List getResourceManagers( String category ) {
List rmMetadata = new ArrayList();
+ if ( getServiceWorkspace() == null ) {
+ return rmMetadata;
+ }
for ( ResourceManager mgr : getServiceWorkspace().getResourceManagers() ) {
ResourceManagerMetadata2 md = ResourceManagerMetadata2.getMetadata( mgr );
if ( md != null && category.equals( md.getCategory() ) ) {
diff --git a/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/WorkspaceBean.java b/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/WorkspaceBean.java
index 312bb67830..de8e032ef2 100644
--- a/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/WorkspaceBean.java
+++ b/deegree-client/deegree-jsf-console/src/main/java/org/deegree/console/WorkspaceBean.java
@@ -93,12 +93,15 @@ public class WorkspaceBean implements Serializable {
public static final String WS_UPLOAD_VIEW = "/console/workspace/upload";
- private static final String WS_DOWNLOAD_BASE_URL = "http://download.deegree.org/deegree3/workspaces/workspaces-";
+ // private static final String WS_DOWNLOAD_BASE_URL = "http://download.deegree.org/deegree3/workspaces/workspaces-";
private static final String[] WS_DOWNLOAD_URLS = { "http://download.occamlabs.de/workspaces/occamlabs-workspaces" };
// only used when no build (Maven) module version information is available
- private static final String DEFAULT_VERSION = "3.2-pre11-SNAPSHOT";
+ private static final String DEFAULT_VERSION = "3.2-rc2";
+
+ private static final String[] WS_LIST = { "deegree-workspace-csw", "deegree-workspace-inspire",
+ "deegree-workspace-utah", "deegree-workspace-wps" };
private final HashMap workspaceLocations = new HashMap();
@@ -164,9 +167,9 @@ public static String getWsUploadView() {
return WS_UPLOAD_VIEW;
}
- public static String getWsDownloadBaseUrl() {
- return WS_DOWNLOAD_BASE_URL;
- }
+ // public static String getWsDownloadBaseUrl() {
+ // return WS_DOWNLOAD_BASE_URL;
+ // }
public static String[] getWsDownloadUrls() {
return WS_DOWNLOAD_URLS;
@@ -375,15 +378,20 @@ public List downloadWorkspaceList( String url ) {
public List getRemoteWorkspaces() {
workspaceLocations.clear();
- List list = downloadWorkspaceList( getDownloadBaseUrl() );
- for ( String url : WS_DOWNLOAD_URLS ) {
- list.addAll( downloadWorkspaceList( url ) );
+ List list = new ArrayList();
+ for ( String wsArtifactName : WS_LIST ) {
+ addWorkspaceLocation( wsArtifactName, list );
}
return list;
}
- private String getDownloadBaseUrl() {
- return WS_DOWNLOAD_BASE_URL + getVersion();
+ private void addWorkspaceLocation( String wsArtifactName, List list ) {
+ String repo = getVersion().endsWith( "SNAPSHOT" ) ? "snapshots" : "releases";
+ String version = getVersion().endsWith( "SNAPSHOT" ) ? "LATEST" : getVersion();
+ String url = "http://repo.deegree.org/service/local/artifact/maven/redirect?r=" + repo + "&g=org.deegree&a="
+ + wsArtifactName + "&v=" + version + "&e=deegree-workspace";
+ workspaceLocations.put( wsArtifactName, url );
+ list.add( wsArtifactName );
}
private String getVersion() {
diff --git a/deegree-client/deegree-jsf-core/pom.xml b/deegree-client/deegree-jsf-core/pom.xml
index 6839f93493..93ebfcf6e1 100644
--- a/deegree-client/deegree-jsf-core/pom.xml
+++ b/deegree-client/deegree-jsf-core/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-client
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-client/deegree-sos-webclient/pom.xml b/deegree-client/deegree-sos-webclient/pom.xml
index 437911e316..b0c9c7a178 100644
--- a/deegree-client/deegree-sos-webclient/pom.xml
+++ b/deegree-client/deegree-sos-webclient/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-client
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-client/deegree-wps-webclient/pom.xml b/deegree-client/deegree-wps-webclient/pom.xml
index 3cb5cec5d1..dae563aafd 100644
--- a/deegree-client/deegree-wps-webclient/pom.xml
+++ b/deegree-client/deegree-wps-webclient/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-client
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-client/deegree-wpsprinter-webclient/pom.xml b/deegree-client/deegree-wpsprinter-webclient/pom.xml
index d5a082393b..e6ea9bb3c5 100644
--- a/deegree-client/deegree-wpsprinter-webclient/pom.xml
+++ b/deegree-client/deegree-wpsprinter-webclient/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-client
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-client/pom.xml b/deegree-client/pom.xml
index 3f5ca04e7f..4ef9126b82 100644
--- a/deegree-client/pom.xml
+++ b/deegree-client/pom.xml
@@ -9,7 +9,7 @@
org.deegree
deegree
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-core/deegree-core-3d/pom.xml b/deegree-core/deegree-core-3d/pom.xml
index 3c45998849..fb91ab6e33 100644
--- a/deegree-core/deegree-core-3d/pom.xml
+++ b/deegree-core/deegree-core-3d/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-core
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-core/deegree-core-annotations/pom.xml b/deegree-core/deegree-core-annotations/pom.xml
index a9b7d8ac6b..f1eaa05493 100644
--- a/deegree-core/deegree-core-annotations/pom.xml
+++ b/deegree-core/deegree-core-annotations/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-core
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-core/deegree-core-base/pom.xml b/deegree-core/deegree-core-base/pom.xml
index b2ce2aabdc..c464269ce4 100644
--- a/deegree-core/deegree-core-base/pom.xml
+++ b/deegree-core/deegree-core-base/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-core
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-core/deegree-core-base/src/main/java/org/deegree/filter/spatial/Intersects.java b/deegree-core/deegree-core-base/src/main/java/org/deegree/filter/spatial/Intersects.java
index fd0eb6c51a..067e0668a7 100644
--- a/deegree-core/deegree-core-base/src/main/java/org/deegree/filter/spatial/Intersects.java
+++ b/deegree-core/deegree-core-base/src/main/java/org/deegree/filter/spatial/Intersects.java
@@ -41,6 +41,7 @@
import org.deegree.filter.Expression;
import org.deegree.filter.FilterEvaluationException;
import org.deegree.filter.XPathEvaluator;
+import org.deegree.geometry.Envelope;
import org.deegree.geometry.Geometry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -86,8 +87,10 @@ public boolean evaluate( T obj, XPathEvaluator xpathEvaluator )
} else if ( obj instanceof Feature ) {
// handle the case where the property name is empty
Feature f = (Feature) obj;
+ boolean foundGeom = false;
for ( Property prop : f.getProperties() ) {
if ( prop.getValue() instanceof Geometry ) {
+ foundGeom = true;
Geometry geom = (Geometry) prop.getValue();
Geometry transformedGeom = getCompatibleGeometry( geometry, geom );
if ( transformedGeom.intersects( geometry ) ) {
@@ -95,6 +98,15 @@ public boolean evaluate( T obj, XPathEvaluator xpathEvaluator )
}
}
}
+ if ( !foundGeom ) {
+ Envelope env = f.getEnvelope();
+ if ( env != null ) {
+ Geometry g = getCompatibleGeometry( geometry, env );
+ if ( g.intersects( geometry ) ) {
+ return true;
+ }
+ }
+ }
if ( f.getExtraProperties() != null ) {
for ( Property prop : f.getExtraProperties().getProperties() ) {
if ( prop.getValue() instanceof Geometry ) {
diff --git a/deegree-core/deegree-core-commons/pom.xml b/deegree-core/deegree-core-commons/pom.xml
index bc427798e9..33bb20cefa 100644
--- a/deegree-core/deegree-core-commons/pom.xml
+++ b/deegree-core/deegree-core-commons/pom.xml
@@ -12,7 +12,7 @@
org.deegree
deegree-core
- 3.2-pre16-SNAPSHOT
+ 3.3-pre1-SNAPSHOT
diff --git a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/jdbc/LayerDatabaseHelper.java b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/jdbc/LayerDatabaseHelper.java
deleted file mode 100644
index 60bc7e677d..0000000000
--- a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/jdbc/LayerDatabaseHelper.java
+++ /dev/null
@@ -1,178 +0,0 @@
-//$HeadURL$
-/*----------------------------------------------------------------------------
- This file is part of deegree, http://deegree.org/
- Copyright (C) 2001-2010 by:
- - Department of Geography, University of Bonn -
- and
- - lat/lon GmbH -
-
- This library is free software; you can redistribute it and/or modify it under
- the terms of the GNU Lesser General Public License as published by the Free
- Software Foundation; either version 2.1 of the License, or (at your option)
- any later version.
- This library is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- details.
- You should have received a copy of the GNU Lesser General Public License
- along with this library; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- Contact information:
-
- lat/lon GmbH
- Aennchenstr. 19, 53177 Bonn
- Germany
- http://lat-lon.de/
-
- Department of Geography, University of Bonn
- Prof. Dr. Klaus Greve
- Postfach 1147, 53001 Bonn
- Germany
- http://www.geographie.uni-bonn.de/deegree/
-
- e-mail: info@deegree.org
- ----------------------------------------------------------------------------*/
-package org.deegree.commons.jdbc;
-
-import static org.deegree.commons.jdbc.ConnectionManager.getConnection;
-import static org.slf4j.LoggerFactory.getLogger;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import org.slf4j.Logger;
-
-/**
- * LayerDatabaseHelper
- *
- * @author Andreas Schmitz
- * @author last edited by: $Author$
- *
- * @version $Revision$, $Date$
- */
-public class LayerDatabaseHelper {
-
- private static final Logger LOG = getLogger( LayerDatabaseHelper.class );
-
- /**
- * @param layersConnId
- * @param name
- * @param title
- * @param connId
- * @param table
- * @param crs
- * @return true, if actually added
- */
- public static boolean addLayer( String layersConnId, String name, String title, String connId, String table,
- String crs ) {
- Connection otherConn = null;
- Connection conn = null;
- PreparedStatement stmt = null;
- ResultSet rs = null;
- try {
- otherConn = getConnection( connId );
- conn = getConnection( layersConnId );
-
- String tableName = table;
- String tableSchema = "public";
- if ( tableName.indexOf( "." ) != -1 ) {
- tableSchema = table.substring( 0, table.indexOf( "." ) );
- tableName = table.substring( table.indexOf( "." ) + 1 );
- }
-
- rs = otherConn.getMetaData().getTables( null, tableSchema, tableName, new String[] { "TABLE" } );
- if ( !rs.next() ) {
- LOG.info( "Table with name '{}' could not be found.", table );
- return false;
- }
-
- stmt = conn.prepareStatement( "insert into layers (name, title, connectionid, sourcetable, crs) values (?, ?, ?, ?, ?)" );
- stmt.setString( 1, name );
- stmt.setString( 2, title == null ? name : title );
- stmt.setString( 3, connId );
- stmt.setString( 4, table );
- stmt.setString( 5, crs );
- stmt.executeUpdate();
- return true;
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- return false;
- } finally {
- if ( rs != null ) {
- try {
- rs.close();
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- }
- }
- if ( stmt != null ) {
- try {
- stmt.close();
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- }
- }
- if ( conn != null ) {
- try {
- conn.close();
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- }
- }
- if ( otherConn != null ) {
- try {
- otherConn.close();
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- }
- }
- }
- }
-
- /**
- * @param layersConnId
- * @param id
- * @return true, if a layer was deleted
- */
- public static boolean removeLayer( String layersConnId, int id ) {
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = getConnection( layersConnId );
-
- stmt = conn.prepareStatement( "delete from layers where id = ?" );
- stmt.setInt( 1, id );
- return stmt.executeUpdate() == 1;
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- return false;
- } finally {
- if ( stmt != null ) {
- try {
- stmt.close();
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- }
- }
- if ( conn != null ) {
- try {
- conn.close();
- } catch ( SQLException e ) {
- LOG.info( "A DB error occurred: '{}'.", e.getLocalizedMessage() );
- LOG.trace( "Stack trace:", e );
- }
- }
- }
- }
-
-}
diff --git a/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/utils/RequestUtils.java b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/utils/RequestUtils.java
new file mode 100644
index 0000000000..6e0813adcf
--- /dev/null
+++ b/deegree-core/deegree-core-commons/src/main/java/org/deegree/commons/utils/RequestUtils.java
@@ -0,0 +1,90 @@
+//$HeadURL$
+/*----------------------------------------------------------------------------
+ This file is part of deegree, http://deegree.org/
+ Copyright (C) 2001-2010 by:
+ - Department of Geography, University of Bonn -
+ and
+ - lat/lon GmbH -
+
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 2.1 of the License, or (at your option)
+ any later version.
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation, Inc.,
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Contact information:
+
+ lat/lon GmbH
+ Aennchenstr. 19, 53177 Bonn
+ Germany
+ http://lat-lon.de/
+
+ Department of Geography, University of Bonn
+ Prof. Dr. Klaus Greve
+ Postfach 1147, 53001 Bonn
+ Germany
+ http://www.geographie.uni-bonn.de/deegree/
+
+ Occam Labs UG (haftungsbeschränkt)
+ Godesberger Allee 139, 53175 Bonn
+ Germany
+ http://www.occamlabs.de/
+
+ e-mail: info@deegree.org
+ ----------------------------------------------------------------------------*/
+
+package org.deegree.commons.utils;
+
+import java.util.Map;
+import java.util.Map.Entry;
+
+/**
+ * Utility class to pass request parameters implicitly through the various layers.
+ *
+ * @author Andreas Schmitz
+ * @author last edited by: $Author: mschneider $
+ *
+ * @version $Revision: 31882 $, $Date: 2011-09-15 02:05:04 +0200 (Thu, 15 Sep 2011) $
+ */
+public class RequestUtils {
+
+ private static transient final ThreadLocal