diff --git a/src/main/java/de/fraunhofer/iosb/ilt/sensorthingsmanager/aggregation/AggregationData.java b/src/main/java/de/fraunhofer/iosb/ilt/sensorthingsmanager/aggregation/AggregationData.java index 2ea0da9..6225e69 100644 --- a/src/main/java/de/fraunhofer/iosb/ilt/sensorthingsmanager/aggregation/AggregationData.java +++ b/src/main/java/de/fraunhofer/iosb/ilt/sensorthingsmanager/aggregation/AggregationData.java @@ -358,9 +358,14 @@ private void checkReferenceFromDs(Entity sourceDs, Entity aggregateMds, Aggregat String aggKey = null; Object aggId = null; if (sourceEqualsTarget) { - expectedAggFor = "/Datastreams(" + formatKeyValuesForUrl(sourceDs.getPrimaryKeyValues()) + ")"; + final Object[] primaryKeyValues = sourceDs.getPrimaryKeyValues(); + expectedAggFor = "/Datastreams(" + formatKeyValuesForUrl(primaryKeyValues) + ")"; aggKey = KEY_AGGREGATE_SOURCE_D; - aggId = formatKeyValuesForUrl(sourceDs.getPrimaryKeyValues()); + if (primaryKeyValues.length == 1) { + aggId = primaryKeyValues[0]; + } else { + aggId = formatKeyValuesForUrl(primaryKeyValues); + } } else { expectedAggFor = sourceDs.getSelfLink(); }