|
|
@@ -15,7 +15,6 @@ import org.apache.logging.log4j.Logger;
|
|
|
import java.time.OffsetDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
import java.util.function.BiFunction;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -255,8 +254,7 @@ public class OpenAPIHandler {
|
|
|
});
|
|
|
|
|
|
JsonObject navLinks = navigationLinks ? JsonObject.of(
|
|
|
- "Campaign@NavigationLink", String.format("%s/campaigns/%d",host, campaignId),
|
|
|
- "Unit@NavigationLink", String.format("%s/campaigns/%d/units/%d", host, campaignId, unitId)
|
|
|
+ "CampaignUnit@NavigationLink", String.format("%s/campaigns/%d/units/%d", host, campaignId, unitId)
|
|
|
) : JsonObject.of();
|
|
|
|
|
|
Function<Long, String> createNextNavLink = dataSize -> {
|
|
|
@@ -676,4 +674,26 @@ public class OpenAPIHandler {
|
|
|
)).encode())
|
|
|
.onFailure(th -> rc.fail(400, th)));
|
|
|
}
|
|
|
+
|
|
|
+ public void campaignIdUnitIdSensorsGET(RoutingContext rc) {
|
|
|
+ String host = hostURLFull(rc.request());
|
|
|
+
|
|
|
+ long campaignId = Long.parseLong(rc.pathParam("campaignId"));
|
|
|
+ long unitId = Long.parseLong(rc.pathParam("unitId"));
|
|
|
+
|
|
|
+ List<String> paramNavigationLinks = rc.queryParam("navigationLinks");
|
|
|
+ boolean navigationLinks = paramNavigationLinks.isEmpty() ? DEFAULT_NAVIGATION_LINKS : parseBoolean(paramNavigationLinks.get(0));
|
|
|
+
|
|
|
+ repo.findSensorsByCampaignIdAndUnitId(campaignId, unitId)
|
|
|
+ .onSuccess(sensors -> rc.response().end(new JsonArray(
|
|
|
+ sensors.stream().map(s -> (navigationLinks ? JsonObject.of(
|
|
|
+ "CampaignSensor@NavigationLink", String.format("%s/campaigns/%d/units/%d/sensors/%d",host, campaignId, unitId, s.getSensorId())
|
|
|
+ ) : JsonObject.of()).mergeIn(JsonObject.of(
|
|
|
+ "sensorId", s.getSensorId(),
|
|
|
+ "name", s.getName(),
|
|
|
+ "type", s.getType()
|
|
|
+ ))).collect(toList())
|
|
|
+ ).encode()))
|
|
|
+ .onFailure(th -> rc.fail(400, th));
|
|
|
+ }
|
|
|
}
|