From 717f7248120dc19a867d4b7d17ddca673433d97a Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Wed, 12 Mar 2025 10:44:54 +0100 Subject: [PATCH] Cleanup: Remove duplicate endpoints --- .../vips/logic/service/LogicService.java | 73 ------------------- .../nibio/vips/logic/service/POIService.java | 8 +- 2 files changed, 6 insertions(+), 75 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/service/LogicService.java b/src/main/java/no/nibio/vips/logic/service/LogicService.java index ed24e8cf..5740e822 100755 --- a/src/main/java/no/nibio/vips/logic/service/LogicService.java +++ b/src/main/java/no/nibio/vips/logic/service/LogicService.java @@ -54,7 +54,6 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.Context; -import jakarta.ws.rs.core.HttpHeaders; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.Response.Status; import no.nibio.vips.entity.WeatherObservation; @@ -75,9 +74,7 @@ import no.nibio.vips.logic.entity.MessageTag; import no.nibio.vips.logic.entity.ModelInformation; import no.nibio.vips.logic.entity.Organism; import no.nibio.vips.logic.entity.Organization; -import no.nibio.vips.logic.entity.PointOfInterest; import no.nibio.vips.logic.entity.PointOfInterestType; -import no.nibio.vips.logic.entity.PointOfInterestWeatherStation; import no.nibio.vips.logic.entity.UserAuthentication; import no.nibio.vips.logic.entity.UserAuthenticationType; import no.nibio.vips.logic.entity.VipsLogicRole; @@ -796,76 +793,6 @@ public class LogicService { return Response.ok().entity(retVal).build(); } - - - /** - * Get a list of locations (pois) for a given organization - * @param organizationId - * @return - */ - @GET - @Path("poi/organization/{organizationId}") - @Produces("application/json;charset=UTF-8") - @TypeHint(PointOfInterestWeatherStation[].class) - public Response getPoisForOrganization(@PathParam("organizationId") Integer organizationId) - { - Organization organization = userBean.getOrganization(organizationId); - List<PointOfInterestWeatherStation> retVal = pointOfInterestBean.getWeatherstationsForOrganization(organization, Boolean.TRUE, Boolean.FALSE); - return Response.ok().entity(retVal).build(); - } - - /** - * - * @param pointOfInterestId - * @return a particular POI (Point of interest) - */ - @GET - @Path("poi/{pointOfInterestId}") - @Produces("application/json;charset=UTF-8") - @TypeHint(PointOfInterest.class) - public Response getPoi(@PathParam("pointOfInterestId") Integer pointOfInterestId) - { - PointOfInterest retVal = pointOfInterestBean.getPointOfInterest(pointOfInterestId); - return Response.ok().entity(retVal).build(); - } - - /** - * Find a POI (Point of interest) by name - * @param poiName - * @return - */ - @GET - @Path("poi/name/{poiName}") - @Produces("application/json;charset=UTF-8") - @TypeHint(PointOfInterest.class) - public Response getPoiByName(@PathParam("poiName") String poiName) - { - PointOfInterest retVal = pointOfInterestBean.getPointOfInterest(poiName); - return retVal != null ? Response.ok().entity(retVal).build() : Response.noContent().build(); - } - - /** - * If used outside of VIPSLogic: Requires a valid UUID to be provided in the Authorization header - * @return a list of POIs for the user logged in in this session - */ - @GET - @Path("poi/user") - @Produces("application/json;charset=UTF-8") - @Facet("restricted") - @TypeHint(PointOfInterest[].class) - public Response getPoisForCurrentUser() - { - VipsLogicUser user = (VipsLogicUser) httpServletRequest.getSession().getAttribute("user"); - // Could be the VIPS obs app or some other client using UUID - if(user == null) - { - String uuidStr = httpServletRequest.getHeader(HttpHeaders.AUTHORIZATION); - UUID uuid = UUID.fromString(uuidStr); - user = userBean.findVipsLogicUser(uuid); - } - List<PointOfInterest> retVal = pointOfInterestBean.getRelevantPointOfInterestsForUser(user); - return Response.ok().entity(retVal).build(); - } /** * diff --git a/src/main/java/no/nibio/vips/logic/service/POIService.java b/src/main/java/no/nibio/vips/logic/service/POIService.java index b0104d40..a1230c83 100644 --- a/src/main/java/no/nibio/vips/logic/service/POIService.java +++ b/src/main/java/no/nibio/vips/logic/service/POIService.java @@ -36,6 +36,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.webcohesion.enunciate.metadata.Facet; import com.webcohesion.enunciate.metadata.rs.TypeHint; +import jakarta.ejb.EJB; import jakarta.servlet.http.HttpServletRequest; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; @@ -72,8 +73,11 @@ public class POIService { @Context private HttpServletRequest httpServletRequest; + @EJB + PointOfInterestBean pointOfInterestBean; + /** - * Get a list of locations (pois) for a given organization + * Get a list of weather stations for a given organization * * @param organizationId Database id for the organization * @return List of weather stations for the organization @@ -82,7 +86,7 @@ public class POIService { @Path("organization/{organizationId}") @Produces("application/json;charset=UTF-8") @TypeHint(PointOfInterestWeatherStation[].class) - public Response getPoisForOrganization(@PathParam("organizationId") Integer organizationId) { + public Response getWeatherstationsForOrganization(@PathParam("organizationId") Integer organizationId) { Organization organization = SessionControllerGetter.getUserBean().getOrganization(organizationId); List<PointOfInterestWeatherStation> retVal = SessionControllerGetter.getPointOfInterestBean().getWeatherstationsForOrganization(organization, Boolean.TRUE, Boolean.FALSE); return Response.ok().entity(retVal).build(); -- GitLab