2006/unicorn/org/w3c/unicorn/contract InputMethod.java,1.4,1.5 Observer.java,1.5,1.6 WADLUnmarshaller.java,1.4,1.5 WADLUnmarshallerXPath.java,1.8,1.9 RDFContractUnmarshaller.java,1.3,NONE RDFContractUnmarshallerJena.java,1.3,NONE

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

Modified Files:
	InputMethod.java Observer.java WADLUnmarshaller.java 
	WADLUnmarshallerXPath.java 
Removed Files:
	RDFContractUnmarshaller.java RDFContractUnmarshallerJena.java 
Log Message:
MimeTypes work again for DirectInput

Index: Observer.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/contract/Observer.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Observer.java	17 Jun 2008 13:41:12 -0000	1.5
+++ Observer.java	19 Sep 2008 18:57:11 -0000	1.6
@@ -71,6 +71,8 @@
 	 */
 	private Map<EnumInputMethod, InputMethod> mapOfInputMethod;
 
+  private List<MimeType> supportedMimeTypes;
+
 	/**
 	 * Creates the observer
 	 * 
@@ -149,7 +151,7 @@
 	 * Prints the object
 	 */
 	public String toString() {
-		final int sbSize = 1000;
+    final int sbSize = 1000;
 		final String sVariableSeparator = "\n";
 		final StringBuffer aStringBuffer = new StringBuffer(sbSize);
 
@@ -174,7 +176,7 @@
 				.append("]");
 
 		return aStringBuffer.toString();
-	}
+  }
 
 	public final Map<EnumInputMethod, InputMethod> getMapOfInputMethod() {
 		return this.mapOfInputMethod;
@@ -199,59 +201,58 @@
 		return this.mapOfInputMethod.get(aEnumInputMethod);
 	}
 
+  public InputMethod getBestInputMethod(final EnumInputMethod preferred) {
+      // First try to get what caller would like
+      InputMethod im = getInputMethod(preferred);
+      if(im != null) {
+          return im;
+      }
+
+      // If not possible, grab another one
+      for (final EnumInputMethod aEIM : EnumInputMethod.values()) {
+          im = getInputMethod(aEIM);
+          if(im != null) {
+              return im;
+          }
+      }
+
+      // we should not arrive here (that would mean an observer doesn't
+      // have any input method
+      return null;
+  }
+
 	public CallMethod getCallMethod(final EnumInputMethod aEnumInputMethod) {
 		return this.getInputMethod(aEnumInputMethod).getCallMethod();
 	}
 
-	public void addMimeType(final EnumInputMethod aEnumInputMethod,
-			final MimeType aMimeType) {
-		this.mapOfInputMethod.get(aEnumInputMethod).addMimeType(aMimeType);
+	public void addMimeType(final MimeType aMimeType) {
+		this.supportedMimeTypes.add(aMimeType);
 	}
 
 	/**
-	 * Tells of the mime-type is handled
+	 * Returns <code>true</code> if the mime-type is supported
+   * by this observer
 	 * 
 	 * @param aMimeType
 	 *            mime-type to check
-	 * @param aEnumInputMethod
-	 *            the input method for the observer
 	 * @return whether or not the mime-type is handled
 	 */
-	public boolean canHandleMimeType(final MimeType aMimeType,
-			final EnumInputMethod aEnumInputMethod) {
-		final InputMethod aInputMethod = this.mapOfInputMethod
-				.get(aEnumInputMethod);
-		if (null == aInputMethod) {
-			return false;
-		}
-		return aInputMethod.canHandleMimeType(aMimeType);
+	public boolean canHandleMimeType(final MimeType aMimeType) {      
+      //return this.supportedMimeTypes.contains(aMimeType);
+      // equals and thus contains doesn't work :(
+      for (final MimeType mt : this.supportedMimeTypes) {
+          if(mt.match(aMimeType)) return true;
+      }
+      return false;
 	}
 
-	/**
-	 * Return a list of EnumInputMethod with this observer handler mime type
-	 * given in parameter.
-	 * 
-	 * @param aMimeType
-	 */
-	public boolean canHandleMimeType(final MimeType aMimeType) {
-		Observer.logger.trace("canHandleMimeType(MimeType)");
-		if (Observer.logger.isDebugEnabled()) {
-			Observer.logger.debug("Mime type : " + aMimeType + ".");
-		}
-		for (final EnumInputMethod aEnumInputMethod : EnumInputMethod.values()) {
-			final InputMethod aInputMethod = this.mapOfInputMethod
-					.get(aEnumInputMethod);
-			if (null == aInputMethod) {
-				Observer.logger.warn("Input method of type " + aEnumInputMethod
-						+ " does not exist for observer " + this.getID() + ".");
-				continue;
-			}
-			if (aInputMethod.canHandleMimeType(aMimeType)) {
-				return true;
-			}
-		}
-		return false;
-	}
+  public void setSupportedMimeTypes(List<MimeType> mimeTypes) {
+      this.supportedMimeTypes = mimeTypes;
+  }
+
+    public List<MimeType> getSupportedMimeTypes() {
+        return this.supportedMimeTypes;
+    }
 
 	public String getResponseType() {
 		return responseType;

--- RDFContractUnmarshaller.java DELETED ---

--- RDFContractUnmarshallerJena.java DELETED ---

Index: WADLUnmarshallerXPath.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/contract/WADLUnmarshallerXPath.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- WADLUnmarshallerXPath.java	8 Sep 2008 12:48:38 -0000	1.8
+++ WADLUnmarshallerXPath.java	19 Sep 2008 18:57:12 -0000	1.9
@@ -341,12 +341,10 @@
 				}
 			}
 
-			InputMethod aInputMethod = new InputMethod();
+			InputMethod aInputMethod = new InputMethod(sInputMethod);
 			aInputMethod.setCallMethod(aCallMethod);
 			aInputMethod.setCallParameter(aCallMethod
 					.getCallParameterByName(sInputParamName));
-			aInputMethod.setListOfMimeType(this.listOfMimeType);
-			// aInputMethod.setCallParameter(aInputMethod.getCallMethod().getMapOfCallParameter().get(sParameterName));
 			if ("URI".equals(sInputMethod)) {
 				this.mapOfInputMethod.put(EnumInputMethod.URI, aInputMethod);
 			} else if ("UPLOAD".equals(sInputMethod)) {
@@ -432,6 +430,10 @@
 		return responseType;
 	}
 
+  public List<MimeType> getSupportedMimeTypes() {
+    return this.listOfMimeType;
+  }
+
 	/**
 	 * Main method of the class only for testing purpose
 	 * 

Index: InputMethod.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/contract/InputMethod.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- InputMethod.java	17 Jun 2008 13:41:12 -0000	1.4
+++ InputMethod.java	19 Sep 2008 18:57:11 -0000	1.5
@@ -7,8 +7,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.activation.MimeType;
-
 /**
  * @author Damien LEROY
  * 
@@ -25,17 +23,25 @@
 	 */
 	private CallParameter aCallParameter = null;
 
-	/**
-	 * List of the mime-types of the calls
-	 */
-	private List<MimeType> listOfMimeType = null;
+  private EnumInputMethod method;
 
-	/**
-	 * Set the list of mime-types
-	 */
-	public InputMethod() {
-		this.listOfMimeType = new ArrayList<MimeType>();
-	}
+  public InputMethod(EnumInputMethod method) {
+      this.method = method;
+  }
+
+  public InputMethod(String method) {
+      if ("URI".equals(method)) {
+          this.method = EnumInputMethod.URI;
+			} else if ("UPLOAD".equals(method)) {
+          this.method = EnumInputMethod.UPLOAD;
+			} else if ("DIRECT".equals(method)) {
+          this.method = EnumInputMethod.DIRECT;
+			}
+  }
+
+  public EnumInputMethod getMethod() {
+    return this.method;
+  }
 
 	/**
 	 * Get the current calling method
@@ -87,42 +93,6 @@
 	}
 
 	/**
-	 * Add a mime-type
-	 * 
-	 * @param aMimeType
-	 *            mime-type to add
-	 */
-	public void addMimeType(final MimeType aMimeType) {
-		this.listOfMimeType.add(aMimeType);
-	}
-
-	/**
-	 * Tells if the mime-types can be handled
-	 * 
-	 * @param aMimeType
-	 *            mime-type to check
-	 * @return true if the mime type is handled
-	 */
-	public boolean canHandleMimeType(final MimeType aMimeType) {
-		for (final MimeType handler : this.listOfMimeType) {
-			if (handler.match(aMimeType)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Set the list of the MIME-Types
-	 * 
-	 * @param listOfMimeType
-	 *            list of the mime-type
-	 */
-	public void setListOfMimeType(List<MimeType> listOfMimeType) {
-		this.listOfMimeType = listOfMimeType;
-	}
-
-	/**
 	 * Prints the object
 	 */
 	public final String toString() {
@@ -137,9 +107,6 @@
 		aStringBuffer.append("CallParameter:{").append(this.aCallParameter)
 				.append("}");
 		aStringBuffer.append(sVariableSeparator);
-		aStringBuffer.append("MimeType:{").append(this.listOfMimeType).append(
-				"}");
-		aStringBuffer.append(sVariableSeparator);
 		aStringBuffer.append("/EndInputMethod/");
 
 		return aStringBuffer.toString();

Index: WADLUnmarshaller.java
===================================================================
RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/contract/WADLUnmarshaller.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- WADLUnmarshaller.java	17 Jun 2008 13:41:12 -0000	1.4
+++ WADLUnmarshaller.java	19 Sep 2008 18:57:11 -0000	1.5
@@ -10,6 +10,8 @@
 import org.w3c.unicorn.util.LocalizedString;
 import org.w3c.unicorn.util.Unmarshaller;
 
+import javax.activation.MimeType;
+
 /**
  * WADLUnmarshallerXPath<br />
  * Created: May 24, 2006 12:34:38 PM<br />
@@ -37,4 +39,6 @@
 
 	public String getResponseType();
 
-}
\ No newline at end of file
+  public List<MimeType> getSupportedMimeTypes();
+
+}

Received on Friday, 19 September 2008 18:57:49 UTC