Commit 9b8fe1c9 authored by gmantele's avatar gmantele
Browse files

[TAP,UWS] Addition to the last commit: the TAP resource /sync did not yet use...

[TAP,UWS] Addition to the last commit: the TAP resource /sync did not yet use the RequestParser to get its parameters, and so it did not worked as before the last commit.
parent 96b3b851
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import tap.metadata.TAPMetadata;
import uk.ac.starlink.votable.VOSerializer;
import uws.UWSException;
import uws.job.user.JobOwner;
import uws.service.UWS;
import uws.service.UWSService;
import uws.service.UWSUrl;
import uws.service.error.ServiceErrorWriter;
@@ -656,6 +657,8 @@ public class TAP implements VOSIResource {

		// Generate a unique ID for this request execution (for log purpose only):
		final String reqID = generateRequestID(request);
		if (request.getAttribute(UWS.REQ_ATTRIBUTE_ID) == null)
			request.setAttribute(UWS.REQ_ATTRIBUTE_ID, reqID);

		// Retrieve the resource path parts:
		String[] resourcePath = (request.getPathInfo() == null) ? null : request.getPathInfo().split("/");
@@ -675,6 +678,10 @@ public class TAP implements VOSIResource {

		JobOwner owner = null;
		try{
			// Extract all parameters:
			if (request.getAttribute(UWS.REQ_ATTRIBUTE_PARAMETERS) == null)
				request.setAttribute(UWS.REQ_ATTRIBUTE_PARAMETERS, getUWS().getRequestParser().parse(request));

			// Identify the user:
			try{
				if (service.getUserIdentifier() != null)
+18 −0
Original line number Diff line number Diff line
@@ -26,6 +26,8 @@ import uws.job.serializer.UWSSerializer;
import uws.service.backup.UWSBackupManager;
import uws.service.file.UWSFileManager;
import uws.service.log.UWSLog;
import uws.service.request.RequestParser;
import uws.service.request.UWSRequestParser;

/**
 * <p>
@@ -197,6 +199,22 @@ public interface UWS extends Iterable<JobList> {
	 */
	public UWSFactory getFactory();

	/* ******************** */
	/* HTTP REQUEST PARSING */
	/* ******************** */

	/**
	 * <p>Get its HTTP request parser.</p>
	 * <p><i><u>note:</u> This parser is the only one to be able to extract UWS and TAP parameters from any HTTP request.
	 * Its behavior is adapted in function of the used HTTP method and of the content-type. A default implementation is
	 * provided by the UWS library: {@link UWSRequestParser}.</i></p>
	 * 
	 * @return	Its request parser.
	 * 
	 * @since 4.1
	 */
	public RequestParser getRequestParser();

	/* *************** */
	/* FILE MANAGEMENT */
	/* *************** */
+10 −3
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ import uws.service.request.RequestParser;
 * 
 * 
 * @author Gr&eacute;gory Mantelet (CDS;ARI)
 * @version 4.1 (09/2014)
 * @version 4.1 (12/2014)
 */
public class UWSService implements UWS {

@@ -550,6 +550,11 @@ public class UWSService implements UWS {
		this.backupManager = backupManager;
	}

	@Override
	public final RequestParser getRequestParser(){
		return requestParser;
	}

	/* ******************** */
	/* HOME PAGE MANAGEMENT */
	/* ******************** */
@@ -1058,6 +1063,7 @@ public class UWSService implements UWS {

		// Generate a unique ID for this request execution (for log purpose only):
		final String reqID = generateRequestID(request);
		if (request.getAttribute(UWS.REQ_ATTRIBUTE_ID) == null)
			request.setAttribute(UWS.REQ_ATTRIBUTE_ID, reqID);

		// Log the reception of the request:
@@ -1081,6 +1087,7 @@ public class UWSService implements UWS {
			urlInterpreter.load(request);

			// Extract all parameters:
			if (request.getAttribute(UWS.REQ_ATTRIBUTE_PARAMETERS) == null)
				request.setAttribute(UWS.REQ_ATTRIBUTE_PARAMETERS, requestParser.parse(request));

			// Identify the user:
+6 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ import uws.service.request.UploadFile;
 * </p>
 * 
 * @author Gr&eacute;gory Mantelet (CDS;ARI)
 * @version 4.1 (11/2014)
 * @version 4.1 (12/2014)
 */
public abstract class UWSServlet extends HttpServlet implements UWS, UWSFactory {
	private static final long serialVersionUID = 1L;
@@ -257,6 +257,11 @@ public abstract class UWSServlet extends HttpServlet implements UWS, UWSFactory
		return fileManager;
	}

	@Override
	public RequestParser getRequestParser(){
		return requestParser;
	}

	@Override
	public final void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException{
		super.service(req, resp);