diff --git a/bindings/json/pom.xml b/bindings/json/pom.xml
index 48894f4bf3..ca52731192 100644
--- a/bindings/json/pom.xml
+++ b/bindings/json/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
bindings
- 4.1.0
+ 4.1.1
binding-json
52°North SOS - JSON Binding
diff --git a/bindings/kvp/pom.xml b/bindings/kvp/pom.xml
index 5498050255..119f7424d6 100644
--- a/bindings/kvp/pom.xml
+++ b/bindings/kvp/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
bindings
- 4.1.0
+ 4.1.1
4.0.0
binding-kvp
diff --git a/bindings/pom.xml b/bindings/pom.xml
index a6ffdcfeda..c56690b3d4 100644
--- a/bindings/pom.xml
+++ b/bindings/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
bindings
pom
diff --git a/bindings/pox/pom.xml b/bindings/pox/pom.xml
index eb299c7e4f..36106bf960 100644
--- a/bindings/pox/pom.xml
+++ b/bindings/pox/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
bindings
- 4.1.0
+ 4.1.1
4.0.0
binding-pox
diff --git a/bindings/rest/code/pom.xml b/bindings/rest/code/pom.xml
index b95bc81934..06f905a851 100644
--- a/bindings/rest/code/pom.xml
+++ b/bindings/rest/code/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
rest
- 4.1.0
+ 4.1.1
rest-code
52°North SOS - Extension REST Binding - Core
diff --git a/bindings/rest/pom.xml b/bindings/rest/pom.xml
index b4322ace71..115f6dcd84 100644
--- a/bindings/rest/pom.xml
+++ b/bindings/rest/pom.xml
@@ -4,12 +4,12 @@
org.n52.sensorweb.sos
bindings
- 4.1.0
+ 4.1.1
4.0.0
rest
pom
- 4.1.0
+ 4.1.1
52°North SOS - Extension REST Binding
RESTful binding for the 52°North SOS
http://52north.org/communities/sensorweb/sosREST/
diff --git a/bindings/rest/xml/pom.xml b/bindings/rest/xml/pom.xml
index 316405590d..ccf1a446ad 100644
--- a/bindings/rest/xml/pom.xml
+++ b/bindings/rest/xml/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
rest
- 4.1.0
+ 4.1.1
rest-xml
52°North SOS - Extension REST Binding - XML
diff --git a/bindings/soap/pom.xml b/bindings/soap/pom.xml
index b4e6720bea..911be02457 100644
--- a/bindings/soap/pom.xml
+++ b/bindings/soap/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
bindings
- 4.1.0
+ 4.1.1
4.0.0
binding-soap
diff --git a/coding/json-common/pom.xml b/coding/json-common/pom.xml
index befc35fbbf..406c15cb44 100644
--- a/coding/json-common/pom.xml
+++ b/coding/json-common/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-json-common
diff --git a/coding/json/pom.xml b/coding/json/pom.xml
index 7cb9a95512..07485d7aab 100644
--- a/coding/json/pom.xml
+++ b/coding/json/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-json
diff --git a/coding/ows-v110/pom.xml b/coding/ows-v110/pom.xml
index c158133ea7..e612822cff 100644
--- a/coding/ows-v110/pom.xml
+++ b/coding/ows-v110/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-ows-v110
diff --git a/coding/pom.xml b/coding/pom.xml
index e3e5e5a267..f5f424a77f 100644
--- a/coding/pom.xml
+++ b/coding/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
coding
pom
diff --git a/coding/sensorML-v101/pom.xml b/coding/sensorML-v101/pom.xml
index 7f2df345d8..73537a37c5 100644
--- a/coding/sensorML-v101/pom.xml
+++ b/coding/sensorML-v101/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-sensorML-v101
diff --git a/coding/sos-v100/pom.xml b/coding/sos-v100/pom.xml
index 31c966de49..2554f9cba7 100644
--- a/coding/sos-v100/pom.xml
+++ b/coding/sos-v100/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-sos-v100
diff --git a/coding/sos-v20/pom.xml b/coding/sos-v20/pom.xml
index 637ab4af44..206f3d68c2 100644
--- a/coding/sos-v20/pom.xml
+++ b/coding/sos-v20/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-sos-v20
diff --git a/coding/wml-v20/pom.xml b/coding/wml-v20/pom.xml
index 83f2a59690..ab640d37d3 100644
--- a/coding/wml-v20/pom.xml
+++ b/coding/wml-v20/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
coding
- 4.1.0
+ 4.1.1
4.0.0
coding-wml-v20
diff --git a/core/admin/pom.xml b/core/admin/pom.xml
index c87fb85112..b3511e3443 100644
--- a/core/admin/pom.xml
+++ b/core/admin/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
admin
52°North SOS - Administrator Service Operator
diff --git a/core/api/pom.xml b/core/api/pom.xml
index 2247d3ef3f..b2104db5f7 100644
--- a/core/api/pom.xml
+++ b/core/api/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
4.0.0
api
diff --git a/core/api/src/main/java/org/n52/sos/request/GetFeatureOfInterestRequest.java b/core/api/src/main/java/org/n52/sos/request/GetFeatureOfInterestRequest.java
index f5f1d85bab..b8fb8eabcc 100644
--- a/core/api/src/main/java/org/n52/sos/request/GetFeatureOfInterestRequest.java
+++ b/core/api/src/main/java/org/n52/sos/request/GetFeatureOfInterestRequest.java
@@ -211,7 +211,7 @@ public boolean containsOnlyFeatureParameter() {
return !isSetObservableProperties() && !isSetProcedures() && !isSetTemporalFilters();
}
- public boolean hasParameter() {
+ public boolean hasNoParameter() {
return !isSetObservableProperties() && !isSetProcedures() && !isSetTemporalFilters() && !isSetFeatureOfInterestIdentifiers();
}
diff --git a/core/cache/pom.xml b/core/cache/pom.xml
index 8d9ef40081..49d85cc1cb 100644
--- a/core/cache/pom.xml
+++ b/core/cache/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
cache
52°North SOS - Cache
diff --git a/core/gc-dao/pom.xml b/core/gc-dao/pom.xml
index 35af0226e9..f310c7af1e 100644
--- a/core/gc-dao/pom.xml
+++ b/core/gc-dao/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
4.0.0
gc-dao
diff --git a/core/pom.xml b/core/pom.xml
index b8fcd43cdf..dabf3fff3b 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
core
pom
diff --git a/core/profile/coding/pom.xml b/core/profile/coding/pom.xml
index a16d6dd8d5..84f9dbc169 100644
--- a/core/profile/coding/pom.xml
+++ b/core/profile/coding/pom.xml
@@ -4,7 +4,7 @@
profile
org.n52.sensorweb.sos
- 4.1.0
+ 4.1.1
4.0.0
profile-coding
diff --git a/core/profile/pom.xml b/core/profile/pom.xml
index 190e3cebcd..f05a4dfd5d 100644
--- a/core/profile/pom.xml
+++ b/core/profile/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
4.0.0
profile
diff --git a/core/profile/xml/pom.xml b/core/profile/xml/pom.xml
index e4f38c9332..12be24794d 100644
--- a/core/profile/xml/pom.xml
+++ b/core/profile/xml/pom.xml
@@ -4,7 +4,7 @@
profile
org.n52.sensorweb.sos
- 4.1.0
+ 4.1.1
4.0.0
profile-xml
diff --git a/core/sqlite-config/pom.xml b/core/sqlite-config/pom.xml
index e71e1391c5..e74a1875b0 100644
--- a/core/sqlite-config/pom.xml
+++ b/core/sqlite-config/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
sqlite-config
52°North SOS - SQLite Configuration
diff --git a/core/test/pom.xml b/core/test/pom.xml
index e03e5e3781..bc53245086 100644
--- a/core/test/pom.xml
+++ b/core/test/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
core
- 4.1.0
+ 4.1.1
test
52°North SOS - Test Module
diff --git a/extensions/do/core/pom.xml b/extensions/do/core/pom.xml
index a78273125a..9d8b06cfb1 100644
--- a/extensions/do/core/pom.xml
+++ b/extensions/do/core/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
do
- 4.1.0
+ 4.1.1
4.0.0
do-core
diff --git a/extensions/do/hibernate/pom.xml b/extensions/do/hibernate/pom.xml
index d99840a23f..164ece3a5a 100644
--- a/extensions/do/hibernate/pom.xml
+++ b/extensions/do/hibernate/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
do
- 4.1.0
+ 4.1.1
4.0.0
do-hibernate
diff --git a/extensions/do/json/pom.xml b/extensions/do/json/pom.xml
index 5f65ae0216..5dfc7cfbdd 100644
--- a/extensions/do/json/pom.xml
+++ b/extensions/do/json/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
do
- 4.1.0
+ 4.1.1
4.0.0
do-json
diff --git a/extensions/do/kvp/pom.xml b/extensions/do/kvp/pom.xml
index c2eb7e44f0..5903900140 100644
--- a/extensions/do/kvp/pom.xml
+++ b/extensions/do/kvp/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
do
- 4.1.0
+ 4.1.1
4.0.0
do-kvp
diff --git a/extensions/do/pom.xml b/extensions/do/pom.xml
index d97bcfd7ed..d007d1e183 100644
--- a/extensions/do/pom.xml
+++ b/extensions/do/pom.xml
@@ -3,12 +3,12 @@
org.n52.sensorweb.sos
extensions
- 4.1.0
+ 4.1.1
4.0.0
pom
do
- 4.1.0
+ 4.1.1
52°North SOS - Extension Delete Observation
52°North SOS Extension Delete Observation
diff --git a/extensions/do/xml/pom.xml b/extensions/do/xml/pom.xml
index 27545dbe3e..f0fa82b957 100644
--- a/extensions/do/xml/pom.xml
+++ b/extensions/do/xml/pom.xml
@@ -3,7 +3,7 @@
org.n52.sensorweb.sos
do
- 4.1.0
+ 4.1.1
4.0.0
do-xml
diff --git a/extensions/gda/hibernate/pom.xml b/extensions/gda/hibernate/pom.xml
index a8831f3f08..c1568eb34c 100644
--- a/extensions/gda/hibernate/pom.xml
+++ b/extensions/gda/hibernate/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
gda
- 4.1.0
+ 4.1.1
gda-hibernate
52°North SOS - Extension GetDataAvailability - Hibernate DAO
diff --git a/extensions/gda/operation/pom.xml b/extensions/gda/operation/pom.xml
index 7ecc51aba0..541f6c601c 100644
--- a/extensions/gda/operation/pom.xml
+++ b/extensions/gda/operation/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
gda
- 4.1.0
+ 4.1.1
gda-operation
52°North SOS - Extension GetDataAvailability - SOS 2.0 Operation
diff --git a/extensions/gda/pom.xml b/extensions/gda/pom.xml
index e2ab0b2c3b..2ae3129c0f 100644
--- a/extensions/gda/pom.xml
+++ b/extensions/gda/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
extensions
- 4.1.0
+ 4.1.1
4.0.0
gda
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 5556a6d5ea..ba4ea89767 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
extensions
pom
diff --git a/hibernate/common/pom.xml b/hibernate/common/pom.xml
index 9e1a5066f3..e2ddbc6b4a 100644
--- a/hibernate/common/pom.xml
+++ b/hibernate/common/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
4.0.0
hibernate-common
diff --git a/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/AbstractObservationDAO.java b/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/AbstractObservationDAO.java
index c0e491fc98..b4d92c1abf 100644
--- a/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/AbstractObservationDAO.java
+++ b/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/AbstractObservationDAO.java
@@ -30,6 +30,7 @@
import java.sql.Timestamp;
import java.util.Collection;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -50,7 +51,6 @@
import org.joda.time.DateTimeZone;
import org.n52.sos.ds.hibernate.entities.AbstractObservation;
import org.n52.sos.ds.hibernate.entities.AbstractObservationTime;
-import org.n52.sos.ds.hibernate.entities.AbstractSpatialFilteringProfile;
import org.n52.sos.ds.hibernate.entities.Codespace;
import org.n52.sos.ds.hibernate.entities.FeatureOfInterest;
import org.n52.sos.ds.hibernate.entities.ObservableProperty;
@@ -874,7 +874,26 @@ protected Criteria addIndeterminateTimeRestriction(Criteria c, SosIndeterminateT
// get extrema indeterminate time
c.setProjection(getIndeterminateTimeExtremaProjection(sosIndeterminateTime));
Timestamp indeterminateExtremaTime = (Timestamp) c.uniqueResult();
+ return addIndeterminateTimeRestriction(c, sosIndeterminateTime, indeterminateExtremaTime);
+ }
+ /**
+ * Add an indeterminate time restriction to a criteria. This allows for
+ * multiple results if more than one observation has the extrema time (max
+ * for latest, min for first). Note: use this method *after* adding all
+ * other applicable restrictions so that they will apply to the min/max
+ * observation time determination.
+ *
+ * @param c
+ * Criteria to add the restriction to
+ * @param sosIndeterminateTime
+ * Indeterminate time restriction to add
+ * @param indeterminateExtremaTime
+ * Indeterminate time extrema
+ * @return Modified criteria
+ */
+ protected Criteria addIndeterminateTimeRestriction(Criteria c, SosIndeterminateTime sosIndeterminateTime,
+ Date indeterminateExtremaTime) {
// reset criteria
// see http://stackoverflow.com/a/1472958/193435
c.setProjection(null);
@@ -1162,5 +1181,5 @@ protected SosEnvelope getSpatialFilteringProfileEnvelopeForOfferingId(Class claz
return null;
}
- public abstract List getSamplingGeometries(String feature, Session session);
+ public abstract List getSamplingGeometries(String feature, Session session);
}
diff --git a/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/series/SeriesObservationDAO.java b/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/series/SeriesObservationDAO.java
index 7908455003..bb7e8e9256 100644
--- a/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/series/SeriesObservationDAO.java
+++ b/hibernate/common/src/main/java/org/n52/sos/ds/hibernate/dao/series/SeriesObservationDAO.java
@@ -266,21 +266,22 @@ public List getSeriesObservationsFor(GetObservationRequest re
Collection features, Session session) throws OwsExceptionReport {
return getSeriesObservationsFor(request, features, null, null, session);
}
-
+
/**
- * Query series observations {@link ScrollableResults} for GetObservation request and features
+ * Query series observations {@link ScrollableResults} for GetObservation
+ * request and features
*
* @param request
- * GetObservation request
+ * GetObservation request
* @param features
- * Collection of feature identifiers resolved from the request
+ * Collection of feature identifiers resolved from the request
* @param session
- * Hibernate session
+ * Hibernate session
* @return {@link ScrollableResults} of Series observations that fit
- * @throws OwsExceptionReport
+ * @throws OwsExceptionReport
*/
- public ScrollableResults getStreamingSeriesObservationsFor(GetObservationRequest request, Collection features,
- Session session) throws OwsExceptionReport {
+ public ScrollableResults getStreamingSeriesObservationsFor(GetObservationRequest request,
+ Collection features, Session session) throws OwsExceptionReport {
return getStreamingSeriesObservationsFor(request, features, null, null, session);
}
@@ -304,23 +305,25 @@ public List getSeriesObservationsFor(GetObservationRequest re
Collection features, Criterion filterCriterion, Session session) throws OwsExceptionReport {
return getSeriesObservationsFor(request, features, filterCriterion, null, session);
}
-
+
/**
- * Query series observations {@link ScrollableResults} for GetObservation request, features, and a filter criterion (typically a temporal filter)
+ * Query series observations {@link ScrollableResults} for GetObservation
+ * request, features, and a filter criterion (typically a temporal filter)
*
* @param request
- * GetObservation request
+ * GetObservation request
* @param features
- * Collection of feature identifiers resolved from the request
+ * Collection of feature identifiers resolved from the request
* @param filterCriterion
- * Criterion to apply to criteria query (typically a temporal filter)
+ * Criterion to apply to criteria query (typically a temporal
+ * filter)
* @param session
- * Hibernate session
+ * Hibernate session
* @return {@link ScrollableResults} of Series observations that fit
- * @throws OwsExceptionReport
+ * @throws OwsExceptionReport
*/
- public ScrollableResults getStreamingSeriesObservationsFor(GetObservationRequest request, Collection features,
- Criterion filterCriterion, Session session) throws OwsExceptionReport {
+ public ScrollableResults getStreamingSeriesObservationsFor(GetObservationRequest request,
+ Collection features, Criterion filterCriterion, Session session) throws OwsExceptionReport {
return getStreamingSeriesObservationsFor(request, features, filterCriterion, null, session);
}
@@ -366,85 +369,101 @@ public List getSeriesObservationsFor(GetObservationRequest re
* @throws OwsExceptionReport
*/
@SuppressWarnings("unchecked")
- private List getSeriesObservationsFor(GetObservationRequest request, Collection features,
- Criterion filterCriterion, SosIndeterminateTime sosIndeterminateTime, Session session) throws OwsExceptionReport {
- return getSeriesObservationCriteriaFor(request, features, filterCriterion, sosIndeterminateTime, session).list();
+ private List getSeriesObservationsFor(GetObservationRequest request,
+ Collection features, Criterion filterCriterion, SosIndeterminateTime sosIndeterminateTime,
+ Session session) throws OwsExceptionReport {
+ return getSeriesObservationCriteriaFor(request, features, filterCriterion, sosIndeterminateTime, session)
+ .list();
}
-
+
/**
- * Query series observations for GetObservation request, features, and filter criterion (typically a temporal filter) or
- * an indeterminate time (first/latest). This method is private and accepts all possible arguments for request-based
- * getSeriesObservationFor. Other public methods overload this method with sensible combinations of arguments.
+ * Query series observations for GetObservation request, features, and
+ * filter criterion (typically a temporal filter) or an indeterminate time
+ * (first/latest). This method is private and accepts all possible arguments
+ * for request-based getSeriesObservationFor. Other public methods overload
+ * this method with sensible combinations of arguments.
*
* @param request
- * GetObservation request
+ * GetObservation request
* @param features
- * Collection of feature identifiers resolved from the request
+ * Collection of feature identifiers resolved from the request
* @param filterCriterion
- * Criterion to apply to criteria query (typically a temporal filter)
+ * Criterion to apply to criteria query (typically a temporal
+ * filter)
* @param sosIndeterminateTime
- * Indeterminate time to use in a temporal filter (first/latest)
+ * Indeterminate time to use in a temporal filter (first/latest)
* @param session
* @return {@link ScrollableResults} of Series observations that fits
- * @throws OwsExceptionReport
+ * @throws OwsExceptionReport
*/
- private ScrollableResults getStreamingSeriesObservationsFor(GetObservationRequest request, Collection features,
- Criterion filterCriterion, SosIndeterminateTime sosIndeterminateTime, Session session) throws OwsExceptionReport {
- return getSeriesObservationCriteriaFor(request, features, filterCriterion, sosIndeterminateTime, session).setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY);
+ private ScrollableResults getStreamingSeriesObservationsFor(GetObservationRequest request,
+ Collection features, Criterion filterCriterion, SosIndeterminateTime sosIndeterminateTime,
+ Session session) throws OwsExceptionReport {
+ return getSeriesObservationCriteriaFor(request, features, filterCriterion, sosIndeterminateTime, session)
+ .setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY);
}
-
+
/**
- * Create series observations {@link Criteria} for GetObservation request, features, and filter criterion (typically a temporal filter) or
- * an indeterminate time (first/latest). This method is private and accepts all possible arguments for request-based
- * getSeriesObservationFor. Other public methods overload this method with sensible combinations of arguments.
+ * Create series observations {@link Criteria} for GetObservation request,
+ * features, and filter criterion (typically a temporal filter) or an
+ * indeterminate time (first/latest). This method is private and accepts all
+ * possible arguments for request-based getSeriesObservationFor. Other
+ * public methods overload this method with sensible combinations of
+ * arguments.
*
* @param request
- * GetObservation request
+ * GetObservation request
* @param features
- * Collection of feature identifiers resolved from the request
+ * Collection of feature identifiers resolved from the request
* @param filterCriterion
- * Criterion to apply to criteria query (typically a temporal filter)
+ * Criterion to apply to criteria query (typically a temporal
+ * filter)
* @param sosIndeterminateTime
- * Indeterminate time to use in a temporal filter (first/latest)
+ * Indeterminate time to use in a temporal filter (first/latest)
* @param session
* @return Series observations {@link Criteria}
- * @throws OwsExceptionReport
+ * @throws OwsExceptionReport
*/
private Criteria getSeriesObservationCriteriaFor(GetObservationRequest request, Collection features,
- Criterion filterCriterion, SosIndeterminateTime sosIndeterminateTime, Session session) throws OwsExceptionReport {
- final Criteria c = getDefaultObservationCriteria(SeriesObservation.class, session)
- .createAlias(SeriesObservation.SERIES, "s");
-
- checkAndAddSpatialFilteringProfileCriterion(c, request, session);
-
- if (CollectionHelper.isNotEmpty(request.getProcedures())) {
- c.createCriteria("s." + Series.PROCEDURE).add(Restrictions.in(Procedure.IDENTIFIER, request.getProcedures()));
- }
-
- if (CollectionHelper.isNotEmpty(request.getObservedProperties())) {
- c.createCriteria("s." + Series.OBSERVABLE_PROPERTY).add(Restrictions.in(ObservableProperty.IDENTIFIER,
- request.getObservedProperties()));
- }
-
- if (CollectionHelper.isNotEmpty(features)) {
- c.createCriteria("s." + Series.FEATURE_OF_INTEREST).add(Restrictions.in(FeatureOfInterest.IDENTIFIER, features));
- }
-
- if (CollectionHelper.isNotEmpty(request.getOfferings())) {
- c.createCriteria(SeriesObservation.OFFERINGS).add(Restrictions.in(Offering.IDENTIFIER, request.getOfferings()));
- }
-
- String logArgs = "request, features, offerings";
- if (filterCriterion != null) {
- logArgs += ", filterCriterion";
- c.add(filterCriterion);
- }
- if (sosIndeterminateTime != null) {
- logArgs += ", sosIndeterminateTime";
- addIndeterminateTimeRestriction(c, sosIndeterminateTime);
- }
- LOGGER.debug("QUERY getSeriesObservationFor({}): {}", logArgs, HibernateHelper.getSqlString(c));
- return c;
+ Criterion filterCriterion, SosIndeterminateTime sosIndeterminateTime, Session session)
+ throws OwsExceptionReport {
+ final Criteria c =
+ getDefaultObservationCriteria(SeriesObservation.class, session).createAlias(SeriesObservation.SERIES,
+ "s");
+
+ checkAndAddSpatialFilteringProfileCriterion(c, request, session);
+
+ if (CollectionHelper.isNotEmpty(request.getProcedures())) {
+ c.createCriteria("s." + Series.PROCEDURE).add(
+ Restrictions.in(Procedure.IDENTIFIER, request.getProcedures()));
+ }
+
+ if (CollectionHelper.isNotEmpty(request.getObservedProperties())) {
+ c.createCriteria("s." + Series.OBSERVABLE_PROPERTY).add(
+ Restrictions.in(ObservableProperty.IDENTIFIER, request.getObservedProperties()));
+ }
+
+ if (CollectionHelper.isNotEmpty(features)) {
+ c.createCriteria("s." + Series.FEATURE_OF_INTEREST).add(
+ Restrictions.in(FeatureOfInterest.IDENTIFIER, features));
+ }
+
+ if (CollectionHelper.isNotEmpty(request.getOfferings())) {
+ c.createCriteria(SeriesObservation.OFFERINGS).add(
+ Restrictions.in(Offering.IDENTIFIER, request.getOfferings()));
+ }
+
+ String logArgs = "request, features, offerings";
+ if (filterCriterion != null) {
+ logArgs += ", filterCriterion";
+ c.add(filterCriterion);
+ }
+ if (sosIndeterminateTime != null) {
+ logArgs += ", sosIndeterminateTime";
+ addIndeterminateTimeRestriction(c, sosIndeterminateTime);
+ }
+ LOGGER.debug("QUERY getSeriesObservationFor({}): {}", logArgs, HibernateHelper.getSqlString(c));
+ return c;
}
@SuppressWarnings("unchecked")
@@ -461,12 +480,79 @@ public List getSeriesObservationsFor(Series series, GetObserv
}
String logArgs = "request, features, offerings";
logArgs += ", sosIndeterminateTime";
- addIndeterminateTimeRestriction(c, sosIndeterminateTime);
+ addIndeterminateTimeRestriction(c, sosIndeterminateTime, series);
LOGGER.debug("QUERY getSeriesObservationFor({}): {}", logArgs, HibernateHelper.getSqlString(c));
return c.list();
}
+ /**
+ * Add an indeterminate time restriction to a criteria for series support.
+ *
+ *
+ * This allows for multiple results if more than one observation has the
+ * extrema time (max for latest, min for first). Note: use this method
+ * *after* adding all other applicable restrictions so that they will apply
+ * to the min/max observation time determination.
+ *
+ * @param c
+ * Criteria to add the restriction to
+ * @param sosIndeterminateTime
+ * Indeterminate time restriction to add
+ * @param series
+ * Series to ch
+ * @return Modified criteria
+ */
+ protected Criteria addIndeterminateTimeRestriction(Criteria c, SosIndeterminateTime sosIndeterminateTime,
+ Series series) {
+ if (checkIndeterminateTimeAndSeries(sosIndeterminateTime, series)) {
+ // get extrema indeterminate time
+ Date indeterminateExtremaTime = getFirstLastestTimeStamp(sosIndeterminateTime, series);
+ return addIndeterminateTimeRestriction(c, sosIndeterminateTime, indeterminateExtremaTime);
+ } else {
+ return super.addIndeterminateTimeRestriction(c, sosIndeterminateTime);
+ }
+
+ }
+
+ /**
+ * Check if {@link Series} contains first or last timestamp for
+ * {@link SosIndeterminateTime}.
+ *
+ * @param indetTime
+ * {@link SosIndeterminateTime} to check
+ * @param series
+ * {@link Series} to check
+ * @return true
, if the {@link Series} contains the appropriate
+ * {@link SosIndeterminateTime} timestamp
+ */
+ protected boolean checkIndeterminateTimeAndSeries(SosIndeterminateTime indetTime, Series series) {
+ if (indetTime.equals(SosIndeterminateTime.first) && series.isSetFirstTimeStamp()) {
+ return true;
+ } else if (indetTime.equals(SosIndeterminateTime.latest) && series.isSetLastTimeStamp()) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Get the first or last timestamp from {@link Series}
+ *
+ * @param indetTime
+ * {@link SosIndeterminateTime} to get timestamp for
+ * @param series
+ * {@link Series} to get timestamp from
+ * @return the appropriate {@link SosIndeterminateTime} timestamp
+ */
+ protected Date getFirstLastestTimeStamp(SosIndeterminateTime indetTime, Series series) {
+ if (indetTime.equals(SosIndeterminateTime.first) && series.isSetFirstTimeStamp()) {
+ return series.getFirstTimeStamp();
+ } else if (indetTime.equals(SosIndeterminateTime.latest) && series.isSetLastTimeStamp()) {
+ return series.getLastTimeStamp();
+ }
+ return null;
+ }
+
/**
* Query the min time from series observations for series
*
@@ -782,7 +868,9 @@ public Collection getObservationIdentifiers(String procedureIdentifier,
public ScrollableResults getSeriesNotMatchingSeries(Set seriesIDs, GetObservationRequest request,
Set features, Criterion temporalFilterCriterion, Session session) throws OwsExceptionReport {
- Criteria c = getSeriesObservationCriteriaFor(request, features, temporalFilterCriterion, null, session).createAlias(SeriesObservation.SERIES, "s");
+ Criteria c =
+ getSeriesObservationCriteriaFor(request, features, temporalFilterCriterion, null, session)
+ .createAlias(SeriesObservation.SERIES, "s");
c.add(Restrictions.not(Restrictions.in("s." + Series.ID, seriesIDs)));
c.setProjection(Projections.property(SeriesObservation.SERIES));
return c.setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY);
@@ -790,19 +878,23 @@ public ScrollableResults getSeriesNotMatchingSeries(Set seriesIDs, GetObse
public ScrollableResults getSeriesNotMatchingSeries(Set seriesIDs, GetObservationRequest request,
Set features, Session session) throws OwsExceptionReport {
- Criteria c = getSeriesObservationCriteriaFor(request, features, null, null, session).createAlias(SeriesObservation.SERIES, "s");
+ Criteria c =
+ getSeriesObservationCriteriaFor(request, features, null, null, session).createAlias(
+ SeriesObservation.SERIES, "s");
c.add(Restrictions.not(Restrictions.in("s." + Series.ID, seriesIDs)));
return c.setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY);
}
@Override
- public SosEnvelope getSpatialFilteringProfileEnvelopeForOfferingId(String offeringID, Session session) throws OwsExceptionReport {
+ public SosEnvelope getSpatialFilteringProfileEnvelopeForOfferingId(String offeringID, Session session)
+ throws OwsExceptionReport {
return getSpatialFilteringProfileEnvelopeForOfferingId(SeriesObservationTime.class, offeringID, session);
}
@Override
public List getSamplingGeometries(String feature, Session session) {
- Criteria criteria = session.createCriteria(SeriesObservationTime.class).createAlias(SeriesObservation.SERIES, "s");
+ Criteria criteria =
+ session.createCriteria(SeriesObservationTime.class).createAlias(SeriesObservation.SERIES, "s");
criteria.createCriteria("s." + Series.FEATURE_OF_INTEREST).add(eq(FeatureOfInterest.IDENTIFIER, feature));
criteria.addOrder(Order.asc(AbstractObservationTime.PHENOMENON_TIME_START));
criteria.setProjection(Projections.property(AbstractObservationTime.SAMPLING_GEOMETRY));
@@ -810,41 +902,39 @@ public List getSamplingGeometries(String feature, Session session) {
return criteria.list();
}
- /**
- * Get the first not deleted observation for the {@link Series}
- *
- * @param series
- * Series to get observation for
- * @param session
- * Hibernate session
- * @return First not deleted observation
- */
- public SeriesObservation getFirstObservationFor(Series series, Session session) {
- Criteria c = getDefaultObservationCriteria(session);
- c.add(Restrictions.eq(SeriesObservation.SERIES, series));
- c.addOrder(Order.asc(AbstractObservation.PHENOMENON_TIME_START));
- c.setMaxResults(1);
- LOGGER.debug("QUERY getFirstObservationFor(series): {}",
- HibernateHelper.getSqlString(c));
- return (SeriesObservation)c.uniqueResult();
- }
-
- /**
- * Get the last not deleted observation for the {@link Series}
- *
- * @param series
- * Series to get observation for
- * @param session
- * Hibernate session
- * @return Last not deleted observation
- */
- public SeriesObservation getLastObservationFor(Series series, Session session) {
- Criteria c = getDefaultObservationCriteria(session);
- c.add(Restrictions.eq(SeriesObservation.SERIES, series));
- c.addOrder(Order.desc(AbstractObservation.PHENOMENON_TIME_END));
- c.setMaxResults(1);
- LOGGER.debug("QUERY getLastObservationFor(series): {}",
- HibernateHelper.getSqlString(c));
- return (SeriesObservation)c.uniqueResult();
- }
+ /**
+ * Get the first not deleted observation for the {@link Series}
+ *
+ * @param series
+ * Series to get observation for
+ * @param session
+ * Hibernate session
+ * @return First not deleted observation
+ */
+ public SeriesObservation getFirstObservationFor(Series series, Session session) {
+ Criteria c = getDefaultObservationCriteria(session);
+ c.add(Restrictions.eq(SeriesObservation.SERIES, series));
+ c.addOrder(Order.asc(AbstractObservation.PHENOMENON_TIME_START));
+ c.setMaxResults(1);
+ LOGGER.debug("QUERY getFirstObservationFor(series): {}", HibernateHelper.getSqlString(c));
+ return (SeriesObservation) c.uniqueResult();
+ }
+
+ /**
+ * Get the last not deleted observation for the {@link Series}
+ *
+ * @param series
+ * Series to get observation for
+ * @param session
+ * Hibernate session
+ * @return Last not deleted observation
+ */
+ public SeriesObservation getLastObservationFor(Series series, Session session) {
+ Criteria c = getDefaultObservationCriteria(session);
+ c.add(Restrictions.eq(SeriesObservation.SERIES, series));
+ c.addOrder(Order.desc(AbstractObservation.PHENOMENON_TIME_END));
+ c.setMaxResults(1);
+ LOGGER.debug("QUERY getLastObservationFor(series): {}", HibernateHelper.getSqlString(c));
+ return (SeriesObservation) c.uniqueResult();
+ }
}
diff --git a/hibernate/dao/pom.xml b/hibernate/dao/pom.xml
index a919b8f3f1..7257cc5fe0 100644
--- a/hibernate/dao/pom.xml
+++ b/hibernate/dao/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
4.0.0
hibernate-dao
diff --git a/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/GetFeatureOfInterestDAO.java b/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/GetFeatureOfInterestDAO.java
index b612f5e6a3..ff57931820 100644
--- a/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/GetFeatureOfInterestDAO.java
+++ b/hibernate/dao/src/main/java/org/n52/sos/ds/hibernate/GetFeatureOfInterestDAO.java
@@ -91,7 +91,7 @@ public class GetFeatureOfInterestDAO extends AbstractGetFeatureOfInterestDAO imp
private static final String SQL_QUERY_GET_FEATURE_FOR_IDENTIFIER_PROCEDURE = "getFeatureForIdentifierProcedure";
private static final String SQL_QUERY_GET_FEATURE_FOR_IDENTIFIER_OBSERVED_PROPERTY =
- "getFeatureForIdentifieObservableProperty";
+ "getFeatureForIdentifierObservableProperty";
private static final String SQL_QUERY_GET_FEATURE_FOR_IDENTIFIER_PROCEDURE_OBSERVED_PROPERTY =
"getFeatureForIdentifierProcedureObservableProperty";
@@ -268,7 +268,7 @@ private void addRequestedRelatedFeatures(final Set foiIDs, final List queryFeatureIdentifiersForParameter(final GetFeatureOfInterestRequest req,
final Session session) throws OwsExceptionReport {
- if (req.hasParameter()) {
+ if (req.hasNoParameter()) {
return new FeatureOfInterestDAO().getFeatureOfInterestIdentifiers(session);
}
if (req.containsOnlyFeatureParameter() && req.isSetFeatureOfInterestIdentifiers()) {
@@ -360,6 +360,9 @@ private Criteria getCriteriaForFeatureIdentifiersOfParameterFromOldObservations(
@SuppressWarnings("unchecked")
private List queryFeatureIdentifiersForParameterForSeries(GetFeatureOfInterestRequest req, Session session) {
final Criteria c = session.createCriteria(FeatureOfInterest.class);
+ if (req.isSetFeatureOfInterestIdentifiers()) {
+ c.add(Restrictions.in(FeatureOfInterest.IDENTIFIER, req.getFeatureIdentifiers()));
+ }
c.add(Subqueries.propertyIn(FeatureOfInterest.ID,
getDetachedCriteriaForSeriesWithProcedureObservableProperty(req, session)));
c.setProjection(Projections.distinct(Projections.property(FeatureOfInterest.IDENTIFIER)));
@@ -412,6 +415,9 @@ private List queryFeatureIdentifiersForParameterForSos100(GetFeatureOfIn
private Criteria getCriteriaForFeatureIdentifiersOfParameterFromSeriesObservations(
GetFeatureOfInterestRequest req, Session session) throws OwsExceptionReport {
final Criteria c = session.createCriteria(FeatureOfInterest.class);
+ if (req.isSetFeatureOfInterestIdentifiers()) {
+ c.add(Restrictions.in(FeatureOfInterest.IDENTIFIER, req.getFeatureIdentifiers()));
+ }
c.add(Subqueries.propertyIn(FeatureOfInterest.ID,
getDetachedCriteriaForFeautreOfInterestForSeries(req, session)));
c.setProjection(Projections.distinct(Projections.property(FeatureOfInterest.IDENTIFIER)));
diff --git a/hibernate/datasource/common/pom.xml b/hibernate/datasource/common/pom.xml
index ae344d7c2a..e7db09ebcf 100644
--- a/hibernate/datasource/common/pom.xml
+++ b/hibernate/datasource/common/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate-datasource
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource-common
diff --git a/hibernate/datasource/h2/pom.xml b/hibernate/datasource/h2/pom.xml
index 01e4116655..d5f35b858a 100644
--- a/hibernate/datasource/h2/pom.xml
+++ b/hibernate/datasource/h2/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate-datasource
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource-h2
diff --git a/hibernate/datasource/mysql/pom.xml b/hibernate/datasource/mysql/pom.xml
index f5e4b781f1..2657e0fd36 100644
--- a/hibernate/datasource/mysql/pom.xml
+++ b/hibernate/datasource/mysql/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate-datasource
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource-mysql
diff --git a/hibernate/datasource/oracle/pom.xml b/hibernate/datasource/oracle/pom.xml
index 45dbc6b98a..753e72264c 100644
--- a/hibernate/datasource/oracle/pom.xml
+++ b/hibernate/datasource/oracle/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate-datasource
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource-oracle
diff --git a/hibernate/datasource/pom.xml b/hibernate/datasource/pom.xml
index e108489d8a..770e19697d 100644
--- a/hibernate/datasource/pom.xml
+++ b/hibernate/datasource/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource
diff --git a/hibernate/datasource/postgres/pom.xml b/hibernate/datasource/postgres/pom.xml
index 5893f532ab..f63953e3fd 100644
--- a/hibernate/datasource/postgres/pom.xml
+++ b/hibernate/datasource/postgres/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate-datasource
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource-postgres
diff --git a/hibernate/datasource/sqlserver/pom.xml b/hibernate/datasource/sqlserver/pom.xml
index b0396f1a0e..f91bf8a01c 100644
--- a/hibernate/datasource/sqlserver/pom.xml
+++ b/hibernate/datasource/sqlserver/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate-datasource
- 4.1.0
+ 4.1.1
4.0.0
hibernate-datasource-sqlserver
diff --git a/hibernate/feature/pom.xml b/hibernate/feature/pom.xml
index 7537bcc2f5..bb289b7120 100644
--- a/hibernate/feature/pom.xml
+++ b/hibernate/feature/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
4.0.0
hibernate-feature
diff --git a/hibernate/h2/pom.xml b/hibernate/h2/pom.xml
index cce4ae503a..b0e2505c9c 100644
--- a/hibernate/h2/pom.xml
+++ b/hibernate/h2/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
hibernate-h2
52°North SOS - Hibernate H2
diff --git a/hibernate/mappings/pom.xml b/hibernate/mappings/pom.xml
index e2326aa4fd..321b64936d 100644
--- a/hibernate/mappings/pom.xml
+++ b/hibernate/mappings/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
hibernate-mappings
52°North SOS - Hibernate Mappings
diff --git a/hibernate/pom.xml b/hibernate/pom.xml
index 4f2aabe3f5..408927e2cc 100644
--- a/hibernate/pom.xml
+++ b/hibernate/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
hibernate
pom
diff --git a/hibernate/session-factory/pom.xml b/hibernate/session-factory/pom.xml
index 5e9452f715..6494bdf6cd 100644
--- a/hibernate/session-factory/pom.xml
+++ b/hibernate/session-factory/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
hibernate
- 4.1.0
+ 4.1.1
4.0.0
hibernate-session-factory
diff --git a/operations/core-v100/pom.xml b/operations/core-v100/pom.xml
index 7c4016a4a7..b04fddb01c 100644
--- a/operations/core-v100/pom.xml
+++ b/operations/core-v100/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
operations
- 4.1.0
+ 4.1.1
4.0.0
core-v100
diff --git a/operations/core-v20/pom.xml b/operations/core-v20/pom.xml
index 1852659ae8..b72165b8f9 100644
--- a/operations/core-v20/pom.xml
+++ b/operations/core-v20/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
operations
- 4.1.0
+ 4.1.1
4.0.0
core-v20
diff --git a/operations/enhanced-v20/pom.xml b/operations/enhanced-v20/pom.xml
index f72c433505..634c79f558 100644
--- a/operations/enhanced-v20/pom.xml
+++ b/operations/enhanced-v20/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
operations
- 4.1.0
+ 4.1.1
4.0.0
enhanced-v20
diff --git a/operations/pom.xml b/operations/pom.xml
index 535b79bc1b..8e0f8b2961 100644
--- a/operations/pom.xml
+++ b/operations/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
operations
pom
diff --git a/operations/resultHandling-v20/pom.xml b/operations/resultHandling-v20/pom.xml
index a7e3a56281..47b2fc3a7c 100644
--- a/operations/resultHandling-v20/pom.xml
+++ b/operations/resultHandling-v20/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
operations
- 4.1.0
+ 4.1.1
4.0.0
resultHandling-v20
diff --git a/operations/transactional-v20/pom.xml b/operations/transactional-v20/pom.xml
index c0dd06c889..6fce2268dc 100644
--- a/operations/transactional-v20/pom.xml
+++ b/operations/transactional-v20/pom.xml
@@ -4,7 +4,7 @@
org.n52.sensorweb.sos
operations
- 4.1.0
+ 4.1.1
4.0.0
transactional-v20
diff --git a/pom.xml b/pom.xml
index e32ed13325..f0259c92e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
4.0.0
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
52°North Sensor Observation Service
52°North Sensor Observation Service - Parent POM for defining dependency versions
https://wiki.52north.org/bin/view/SensorWeb/SensorObservationServiceIVDocumentation
@@ -76,9 +76,9 @@
- 4.1.0
- 4.1.0
- 4.1.0
+ 4.1.1
+ 4.1.1
+ 4.1.1
3.1.4.RELEASE
3.2.6.RELEASE
9.1.0.8
diff --git a/spring/admin-controller/pom.xml b/spring/admin-controller/pom.xml
index b57aad7951..15f8b5c1f8 100644
--- a/spring/admin-controller/pom.xml
+++ b/spring/admin-controller/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
spring
- 4.1.0
+ 4.1.1
admin-controller
52°North SOS - Web Admin Controller
diff --git a/spring/client-controller/pom.xml b/spring/client-controller/pom.xml
index 4206798fd5..b71b7dd4ae 100644
--- a/spring/client-controller/pom.xml
+++ b/spring/client-controller/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
spring
- 4.1.0
+ 4.1.1
client-controller
52°North SOS - Web Client Controller
diff --git a/spring/common-controller/pom.xml b/spring/common-controller/pom.xml
index 284f1da4a7..9204cc1b37 100644
--- a/spring/common-controller/pom.xml
+++ b/spring/common-controller/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
spring
- 4.1.0
+ 4.1.1
common-controller
52°North SOS - Web Common Controller
diff --git a/spring/install-controller/pom.xml b/spring/install-controller/pom.xml
index 13ad6841aa..43b67673aa 100644
--- a/spring/install-controller/pom.xml
+++ b/spring/install-controller/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
spring
- 4.1.0
+ 4.1.1
install-controller
52°North SOS - Web Install Controller
diff --git a/spring/pom.xml b/spring/pom.xml
index edbaaa6cb0..4c535bd72d 100644
--- a/spring/pom.xml
+++ b/spring/pom.xml
@@ -5,7 +5,7 @@
52n-sos
org.n52.sensorweb.sos
- 4.1.0
+ 4.1.1
spring
pom
diff --git a/spring/views/pom.xml b/spring/views/pom.xml
index dc4999b702..102542ed7e 100644
--- a/spring/views/pom.xml
+++ b/spring/views/pom.xml
@@ -5,7 +5,7 @@
org.n52.sensorweb.sos
spring
- 4.1.0
+ 4.1.1
views
52°North SOS - Web Views
diff --git a/third-party/pom.xml b/third-party/pom.xml
index 4914e6df7e..c46a1cbc65 100644
--- a/third-party/pom.xml
+++ b/third-party/pom.xml
@@ -3,7 +3,7 @@
org.n52.sensorweb.sos
52n-sos
- 4.1.0
+ 4.1.1
52n-sos-third-party
52°North Aggregated Third Party modules
diff --git a/third-party/third-party-ncname-resolver/pom.xml b/third-party/third-party-ncname-resolver/pom.xml
index 640059fa75..e5ec4b26c9 100644
--- a/third-party/third-party-ncname-resolver/pom.xml
+++ b/third-party/third-party-ncname-resolver/pom.xml
@@ -3,7 +3,7 @@
org.n52.sensorweb.sos
52n-sos-third-party
- 4.1.0
+ 4.1.1
third-party-ncname-resolver
52°North Third Party - NCName resolver
diff --git a/webapp/pom.xml b/webapp/pom.xml
index dbd7b3f163..a9012a82cf 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -4,7 +4,7 @@
52n-sos
org.n52.sensorweb.sos
- 4.1.0
+ 4.1.1
4.0.0
webapp