2006/unicorn/org/w3c/unicorn/request Request.java,1.3,1.4 UploadRequest.java,1.3,1.4 DirectRequestPOST.java,1.3,1.4 DirectRequestGET.java,1.2,1.3 URIRequest.java,1.3,1.4

Update of /sources/public/2006/unicorn/org/w3c/unicorn/request
In directory hutz:/tmp/cvs-serv30553/org/w3c/unicorn/request

Modified Files:
	Request.java UploadRequest.java DirectRequestPOST.java 
	DirectRequestGET.java URIRequest.java 
Log Message:
simplified observationresponse and generalize output format (now we can map a format type what defnied in the contract to a ResponseParser)

Index: DirectRequestPOST.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/DirectRequestPOST.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- DirectRequestPOST.java	29 Nov 2007 14:11:58 -0000	1.3
+++ DirectRequestPOST.java	20 Feb 2008 15:09:57 -0000	1.4
@@ -12,12 +12,11 @@
 import java.util.Map;
 import java.util.Random;
 
-import javax.xml.bind.JAXBException;
-
 import org.w3c.unicorn.contract.EnumInputMethod;
-import org.w3c.unicorn.generated.observationresponse.Observationresponse;
 import org.w3c.unicorn.input.DirectInputModule;
 import org.w3c.unicorn.input.InputModule;
+import org.w3c.unicorn.response.Response;
+import org.w3c.unicorn.response.parser.ResponseParserFactory;
 
 /**
  * @author Damien LEROY
@@ -44,7 +43,8 @@
 	protected DirectRequestPOST (
 			final String sURL,
 			final String sInputParameterName,
-			final InputModule aInputModule) throws IOException {
+			final InputModule aInputModule,
+			final String responseType) throws IOException {
 		super();
 		DirectRequestPOST.logger.trace("Constructor");
 		if (DirectRequestPOST.logger.isDebugEnabled()) {
@@ -58,6 +58,7 @@
 		this.mapOfParameter = new Hashtable<String, String>();
 		this.sURL = sURL;
 		this.addParameter(sInputParameterName, aInputModule.getStringContent());
+		this.setResponseType(responseType);
 	}
 
 	@Override
@@ -71,7 +72,7 @@
 	}
 
 	@Override
-	public Observationresponse doRequest () throws JAXBException, IOException {
+	public Response doRequest () throws IOException {
 		DirectRequestPOST.logger.trace("doRequest");
 		final URL aURL = new URL(sURL);
 		this.aURLConnection = aURL.openConnection();
@@ -133,7 +134,8 @@
 			sResponse += new String(tByte);
 		}
 		DirectRequestPOST.logger.debug(sResponse);*/
-		return (Observationresponse) this.aUnmarshaller.unmarshal(aURLConnection.getInputStream());
+		//return this.aResponseParser.parse(aURLConnection.getInputStream());
+		return ResponseParserFactory.parse(aURLConnection.getInputStream(), this.getResponseType());
 	}
 
 	@Override

Index: DirectRequestGET.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/DirectRequestGET.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- DirectRequestGET.java	29 Nov 2007 14:11:58 -0000	1.2
+++ DirectRequestGET.java	20 Feb 2008 15:09:57 -0000	1.3
@@ -9,12 +9,11 @@
 import java.net.URLConnection;
 import java.net.URLEncoder;
 
-import javax.xml.bind.JAXBException;
-
 import org.w3c.unicorn.contract.EnumInputMethod;
-import org.w3c.unicorn.generated.observationresponse.Observationresponse;
 import org.w3c.unicorn.input.DirectInputModule;
 import org.w3c.unicorn.input.InputModule;
+import org.w3c.unicorn.response.Response;
+import org.w3c.unicorn.response.parser.ResponseParserFactory;
 import org.w3c.unicorn.util.Property;
 
 /**
@@ -29,7 +28,8 @@
 	protected DirectRequestGET (
 			final String sURL,
 			final String sInputParameterName,
-			final InputModule aInputModule) throws IOException {
+			final InputModule aInputModule,
+			final String responseType) throws IOException {
 		super();
 		DirectRequestGET.logger.trace("Constructor");
 		if (DirectRequestGET.logger.isDebugEnabled()) {
@@ -42,6 +42,7 @@
 		}
 		this.sURL = sURL;
 		this.addParameter(sInputParameterName, aInputModule.getStringContent());
+		this.setResponseType(responseType);
 	}
 
 	@Override
@@ -61,7 +62,7 @@
 	}
 
 	@Override
-	public Observationresponse doRequest () throws JAXBException, IOException {
+	public Response doRequest () throws IOException {
 		DirectRequestGET.logger.trace("doRequest");
 		final URL aURL;
 		if (null == this.sParameter) {
@@ -72,7 +73,8 @@
 		}
 		final URLConnection aURLConnection = aURL.openConnection();
 		aURLConnection.setRequestProperty("Accept-Language", this.sLang);
-		return (Observationresponse) this.aUnmarshaller.unmarshal(aURLConnection.getInputStream());
+		//return this.aResponseParser.parse(aURLConnection.getInputStream());
+		return ResponseParserFactory.parse(aURLConnection.getInputStream(), this.getResponseType());
 	}
 
 	@Override

Index: UploadRequest.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/UploadRequest.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- UploadRequest.java	29 Nov 2007 14:11:58 -0000	1.3
+++ UploadRequest.java	20 Feb 2008 15:09:57 -0000	1.4
@@ -9,12 +9,11 @@
 import java.util.Hashtable;
 import java.util.Map;
 
-import javax.xml.bind.JAXBException;
-
 import org.w3c.unicorn.contract.EnumInputMethod;
-import org.w3c.unicorn.generated.observationresponse.Observationresponse;
 import org.w3c.unicorn.input.InputModule;
 import org.w3c.unicorn.input.UploadInputModule;
+import org.w3c.unicorn.response.Response;
+import org.w3c.unicorn.response.parser.ResponseParserFactory;
 import org.w3c.unicorn.util.ClientHttpRequest;
 
 /**
@@ -32,7 +31,8 @@
 	protected UploadRequest (
 			final String sURL,
 			final String sInputParameterName,
-			final InputModule aInputModule) throws MalformedURLException, IOException {
+			final InputModule aInputModule,
+			final String responseType) throws MalformedURLException, IOException {
 		super();
 		UploadRequest.logger.trace("Constructor");
 		if (UploadRequest.logger.isDebugEnabled()) {
@@ -52,6 +52,7 @@
 				this.sInputParameterName,
 				this.aUploadInputModule.getFileName(),
 				this.aUploadInputModule.getInputStream());*/
+		this.setResponseType(responseType);
 	}
 
 	@Override
@@ -66,7 +67,7 @@
 	}
 
 	@Override
-	public Observationresponse doRequest() throws JAXBException, IOException {
+	public Response doRequest() throws IOException {
 		UploadRequest.logger.trace("doRequest");
 		this.aClientHttpRequest = new ClientHttpRequest(sURL);
 		UploadRequest.logger.debug("Lang : "+this.sLang+".");
@@ -84,8 +85,9 @@
 			}
 			this.aClientHttpRequest.setParameter(sName, sValue);
 		}
-		final Observationresponse aObservationResponse;
-		aObservationResponse = (Observationresponse) this.aUnmarshaller.unmarshal(this.aClientHttpRequest.post());
+		final Response aObservationResponse;
+		//aObservationResponse = this.aResponseParser.parse(this.aClientHttpRequest.post());
+		aObservationResponse = ResponseParserFactory.parse(this.aClientHttpRequest.post(), this.getResponseType());
 		return aObservationResponse;
 	}
 

Index: Request.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/Request.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Request.java	29 Nov 2007 14:11:58 -0000	1.3
+++ Request.java	20 Feb 2008 15:09:57 -0000	1.4
@@ -6,49 +6,25 @@
 
 import java.io.IOException;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.w3c.unicorn.contract.EnumInputMethod;
-import org.w3c.unicorn.generated.observationresponse.Observationresponse;
 import org.w3c.unicorn.input.InputModule;
+import org.w3c.unicorn.response.parser.ResponseParser;
 
 /**
  * 
  * @author Damien LEROY
  */
 public abstract class Request {
-
 	protected static final Log logger = LogFactory.getLog("org.w3c.unicorn.request");
-
-	public Unmarshaller aUnmarshaller = null;
-	protected static JAXBContext aJAXBContext = null;
-
-	static {
-		try {
-			Request.aJAXBContext = JAXBContext.newInstance("org.w3c.unicorn.generated.observationresponse");
-			
-		}
-		catch (final JAXBException e) {
-			Request.logger.error("JAXBException : " + e.getMessage(), e);
-			e.printStackTrace();
-		}
-	}
+	
+	//public ResponseParser aResponseParser;
 
 	protected String sLang = null;
-	
-	public Request(){
-		try {
-			this.aUnmarshaller = Request.aJAXBContext.createUnmarshaller();
-		} catch (JAXBException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
 
+	protected String responseType=null;
+	
 	public void setLang (final String sLang) throws IOException {
 		Request.logger.debug("setLang("+sLang+")");
 		this.sLang = sLang;
@@ -56,7 +32,7 @@
 
 	public abstract void addParameter (final String sName, final String sValue) throws IOException;
 
-    public abstract Observationresponse doRequest () throws JAXBException, IOException;
+    public abstract org.w3c.unicorn.response.Response doRequest () throws IOException;
 
 	public abstract EnumInputMethod getInputMethod ();
 
@@ -64,7 +40,8 @@
 			final InputModule aInputModule,
 			final String sURL,
 			final String sInputParameterName,
-			final boolean bIsPost) throws IOException {
+			final boolean bIsPost,
+			final String responseType) throws IOException {
 		
 		
 		Request.logger.trace("createRequest");
@@ -77,14 +54,14 @@
 		switch (aInputModule.getEnumInputMethod()) {
 			case DIRECT :
 				if ( bIsPost) {
-					return new DirectRequestPOST(sURL, sInputParameterName, aInputModule);
+					return new DirectRequestPOST(sURL, sInputParameterName, aInputModule, responseType);
 				} else {
-					return new DirectRequestGET(sURL, sInputParameterName, aInputModule);
+					return new DirectRequestGET(sURL, sInputParameterName, aInputModule, responseType);
 				}
 			case UPLOAD :
-				return new UploadRequest(sURL, sInputParameterName, aInputModule);
+				return new UploadRequest(sURL, sInputParameterName, aInputModule, responseType);
 			case URI :
-				return new URIRequest(sURL, sInputParameterName, aInputModule);
+				return new URIRequest(sURL, sInputParameterName, aInputModule, responseType);
 		}
 		return null;
 	}
@@ -93,4 +70,12 @@
 		return "Abstract class org.w3c.unicorn.request.Request, toString function must be overrided.";
 	}
 
+	public String getResponseType() {
+		return responseType;
+	}
+
+	public void setResponseType(String responseType) {
+		this.responseType = responseType;
+	}
+
 }

Index: URIRequest.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/request/URIRequest.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- URIRequest.java	29 Nov 2007 14:11:58 -0000	1.3
+++ URIRequest.java	20 Feb 2008 15:09:57 -0000	1.4
@@ -11,12 +11,11 @@
 import java.net.URLConnection;
 import java.net.URLEncoder;
 
-import javax.xml.bind.JAXBException;
-
 import org.w3c.unicorn.contract.EnumInputMethod;
-import org.w3c.unicorn.generated.observationresponse.Observationresponse;
 import org.w3c.unicorn.input.InputModule;
 import org.w3c.unicorn.input.URIInputModule;
+import org.w3c.unicorn.response.Response;
+import org.w3c.unicorn.response.parser.ResponseParserFactory;
 
 /**
  * Use to handle a request to a observer.
@@ -30,7 +29,8 @@
 	protected URIRequest (
 			final String sURL,
 			final String sInputParameterName,
-			final InputModule aInputModule) throws IOException {
+			final InputModule aInputModule,
+			final String responseType) throws IOException {
 		super();
 		URIRequest.logger.trace("Constructor");
 		if (URIRequest.logger.isDebugEnabled()) {
@@ -44,6 +44,7 @@
 		this.sURL = sURL;
 		final URIInputModule aURIInputModule = (URIInputModule) aInputModule;
 		this.addParameter(sInputParameterName, aURIInputModule.getURI());
+		this.setResponseType(responseType);
 	}
 
 	public void addParameter (
@@ -63,7 +64,7 @@
 		URIRequest.logger.debug("Parameters : "+this.sParameter+".");
 	}
 
-	public Observationresponse doRequest () throws IOException, JAXBException {
+	public Response doRequest () throws IOException {
 		URIRequest.logger.trace("doRequest");
 		if (URIRequest.logger.isDebugEnabled()) {
 			URIRequest.logger.debug("URL : "+this.sURL+" .");
@@ -81,7 +82,8 @@
 		
 		aURLConnection.setRequestProperty("Accept-Language", this.sLang);
 		InputStream is = aURLConnection.getInputStream();
-		Observationresponse res = (Observationresponse) this.aUnmarshaller.unmarshal(is);
+		//Response res = this.aResponseParser.parse(is);
+		Response res = ResponseParserFactory.parse(is, this.getResponseType());
 		return res;
 	}
 

Received on Wednesday, 20 February 2008 15:10:10 UTC