openamf/src/java/org/openamf/invoker RankedMethod.java,1.12,1.13

[email protected]
Newsgroups gmane.comp.java.openamf.cvs
Message-ID <[email protected]>
Update of /cvsroot/openamf/openamf/src/java/org/openamf/invoker
In directory sc8-pr-cvs1:/tmp/cvs-serv3226/src/java/org/openamf/invoker

Modified Files:
	RankedMethod.java 
Log Message:
moved some code to a new OpenAMFUtils class

Index: RankedMethod.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/invoker/RankedMethod.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** RankedMethod.java	5 Jul 2003 19:50:48 -0000	1.12
--- RankedMethod.java	6 Jul 2003 17:26:29 -0000	1.13
***************
*** 8,15 ****
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
! import org.openamf.ASObject;
! 
! import com.carbonfive.flash.decoder.ActionScriptDecoder;
! import com.carbonfive.flash.decoder.DecoderFactory;
  
  public class RankedMethod implements Comparable {
--- 8,12 ----
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
! import org.openamf.util.OpenAMFUtils;
  
  public class RankedMethod implements Comparable {
***************
*** 111,119 ****
  			Object parameter = parameters.get(i);
  
! 			boolean origTypesMatch = typesMatch(parameterType, parameter);
  
! 			Object decodedObject = decodeParameter(parameter, parameterType);
  			if (decodedObject != null
! 				&& typesMatch(parameterType, decodedObject)) {
  				log.debug("types match");
  				if (origTypesMatch) {
--- 108,116 ----
  			Object parameter = parameters.get(i);
  
! 			boolean origTypesMatch = OpenAMFUtils.typesMatch(parameterType, parameter);
  
! 			Object decodedObject = OpenAMFUtils.decodeParameter(parameter, parameterType);
  			if (decodedObject != null
! 				&& OpenAMFUtils.typesMatch(parameterType, decodedObject)) {
  				log.debug("types match");
  				if (origTypesMatch) {
***************
*** 136,220 ****
  
  		return rank;
- 	}
- 
- 	private boolean typesMatch(Class parameterType, Object parameter) {
- 
- 		//log.debug("expected class: " + parameterType.getName());
- 		//log.debug("parameter class: " + parameter.getClass().getName());
- 
- 		boolean typesMatch = parameterType.isInstance(parameter);
- 
- 		if (!typesMatch) {
- 			if (parameterType.equals(Boolean.TYPE)
- 				&& parameter instanceof Boolean) {
- 				typesMatch = true;
- 			} else if (
- 				parameterType.equals(Byte.TYPE) && parameter instanceof Byte) {
- 				typesMatch = true;
- 			} else if (
- 				parameterType.equals(Short.TYPE)
- 					&& parameter instanceof Short) {
- 				typesMatch = true;
- 			} else if (
- 				parameterType.equals(Integer.TYPE)
- 					&& parameter instanceof Integer) {
- 				typesMatch = true;
- 			} else if (
- 				parameterType.equals(Long.TYPE) && parameter instanceof Long) {
- 				typesMatch = true;
- 			} else if (
- 				parameterType.equals(Float.TYPE)
- 					&& parameter instanceof Float) {
- 				typesMatch = true;
- 			} else if (
- 				parameterType.equals(Double.TYPE)
- 					&& parameter instanceof Double) {
- 				typesMatch = true;
- 			}
- 		}
- 
- 		return typesMatch;
- 	}
- 
- 	private Object decodeParameter(Object parameter, Class parameterType) {
- 
- 		if (parameter == null) {
- 			try {
- 				return parameterType.newInstance();
- 			} catch (Exception e) {
- 				log.error(e);
- 			}
- 		}
- 
- 		if (parameterType.equals(java.sql.Date.class)
- 			&& parameter instanceof java.util.Date) {
- 				
- 			java.util.Date date = (java.util.Date) parameter;
- 			java.sql.Date sqlDate = new java.sql.Date(date.getTime());
- 			return sqlDate;
- 		}
- 
- 		boolean setType = false;
- 
- 		DecoderFactory decoderFactory = DecoderFactory.getInstance();
- 
- 		if (parameter instanceof ASObject
- 			&& ((ASObject) parameter).getType() == null) {
- 
- 			setType = true;
- 			((ASObject) parameter).setType(parameterType.getName());
- 		}
- 
- 		ActionScriptDecoder decoder =
- 			decoderFactory.getDecoder(parameter, parameterType);
- 		Object decodedObject = decoder.decodeObject(parameter, parameterType);
- 
- 		if (!setType
- 			&& decodedObject == null
- 			&& parameter instanceof ASObject) {
- 			((ASObject) parameter).setType(parameterType.getName());
- 			decodedObject = decoder.decodeObject(parameter, parameterType);
- 		}
- 		return decodedObject;
  	}
  
--- 133,136 ----




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.