Skip to content
Snippets Groups Projects
Commit ea45eb85 authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

feat: Add support for UUID login

parent 2f8c4699
Branches
Tags
No related merge requests found
...@@ -18,23 +18,23 @@ ...@@ -18,23 +18,23 @@
package no.nibio.vips.logic.service; package no.nibio.vips.logic.service;
import com.fasterxml.jackson.core.type.TypeReference; import java.io.IOException;
import com.fasterxml.jackson.databind.ObjectMapper; import java.net.URI;
import com.ibm.icu.util.ULocale; import java.text.ParseException;
import com.webcohesion.enunciate.metadata.rs.TypeHint; import java.text.SimpleDateFormat;
import no.nibio.vips.gis.GISUtil; import java.time.Instant;
import no.nibio.vips.logic.controller.session.ObservationBean; import java.time.LocalDateTime;
import no.nibio.vips.logic.controller.session.ObservationTimeSeriesBean; import java.time.format.DateTimeFormatter;
import no.nibio.vips.logic.controller.session.OrganismBean; import java.util.ArrayList;
import no.nibio.vips.logic.controller.session.UserBean; import java.util.Arrays;
import no.nibio.vips.logic.entity.*; import java.util.Collections;
import no.nibio.vips.logic.entity.rest.ObservationListItem; import java.util.Date;
import no.nibio.vips.logic.entity.rest.PointMappingResponse; import java.util.HashMap;
import no.nibio.vips.logic.entity.rest.ReferencedPoint; import java.util.List;
import no.nibio.vips.logic.messaging.MessagingBean; import java.util.Map;
import no.nibio.vips.logic.util.ExcelFileGenerator; import java.util.Set;
import no.nibio.vips.logic.util.GISEntityUtil; import java.util.UUID;
import no.nibio.vips.logic.util.Globals; import java.util.stream.Collectors;
import org.jboss.resteasy.annotations.GZIP; import org.jboss.resteasy.annotations.GZIP;
import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.Geometry;
...@@ -43,10 +43,20 @@ import org.slf4j.Logger; ...@@ -43,10 +43,20 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.wololo.geojson.Feature; import org.wololo.geojson.Feature;
import org.wololo.geojson.GeoJSON; import org.wololo.geojson.GeoJSON;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ibm.icu.util.ULocale;
import com.webcohesion.enunciate.metadata.rs.TypeHint;
import jakarta.ejb.EJB; import jakarta.ejb.EJB;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.ws.rs.*; import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.client.Client; import jakarta.ws.rs.client.Client;
import jakarta.ws.rs.client.ClientBuilder; import jakarta.ws.rs.client.ClientBuilder;
import jakarta.ws.rs.client.Entity; import jakarta.ws.rs.client.Entity;
...@@ -55,15 +65,27 @@ import jakarta.ws.rs.core.Context; ...@@ -55,15 +65,27 @@ import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status; import jakarta.ws.rs.core.Response.Status;
import java.io.IOException; import no.nibio.vips.gis.GISUtil;
import java.net.URI; import no.nibio.vips.logic.controller.session.ObservationBean;
import java.text.ParseException; import no.nibio.vips.logic.controller.session.ObservationTimeSeriesBean;
import java.text.SimpleDateFormat; import no.nibio.vips.logic.controller.session.OrganismBean;
import java.time.Instant; import no.nibio.vips.logic.controller.session.UserBean;
import java.time.LocalDateTime; import no.nibio.vips.logic.entity.Gis;
import java.time.format.DateTimeFormatter; import no.nibio.vips.logic.entity.Observation;
import java.util.*; import no.nibio.vips.logic.entity.ObservationIllustrationPK;
import java.util.stream.Collectors; import no.nibio.vips.logic.entity.ObservationStatusType;
import no.nibio.vips.logic.entity.ObservationSyncInfo;
import no.nibio.vips.logic.entity.Organism;
import no.nibio.vips.logic.entity.PolygonService;
import no.nibio.vips.logic.entity.VipsLogicRole;
import no.nibio.vips.logic.entity.VipsLogicUser;
import no.nibio.vips.logic.entity.rest.ObservationListItem;
import no.nibio.vips.logic.entity.rest.PointMappingResponse;
import no.nibio.vips.logic.entity.rest.ReferencedPoint;
import no.nibio.vips.logic.messaging.MessagingBean;
import no.nibio.vips.logic.util.ExcelFileGenerator;
import no.nibio.vips.logic.util.GISEntityUtil;
import no.nibio.vips.logic.util.Globals;
/** /**
* @author Tor-Einar Skog <tor-einar.skog@nibio.no> * @author Tor-Einar Skog <tor-einar.skog@nibio.no>
...@@ -757,6 +779,11 @@ public class ObservationService { ...@@ -757,6 +779,11 @@ public class ObservationService {
// Create the Observation // Create the Observation
Observation observation = observationBean.getObservationFromGeoJSON(geoJSON); Observation observation = observationBean.getObservationFromGeoJSON(geoJSON);
VipsLogicUser user = (VipsLogicUser) httpServletRequest.getSession().getAttribute("user"); VipsLogicUser user = (VipsLogicUser) httpServletRequest.getSession().getAttribute("user");
// Allow for UUID login
if(user == null)
{
user = userBean.getUserFromUUID(httpServletRequest);
}
// If no user, send error message back to client // If no user, send error message back to client
if (user == null) { if (user == null) {
return Response.status(Response.Status.UNAUTHORIZED).build(); return Response.status(Response.Status.UNAUTHORIZED).build();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment