openamf/src/java/org/openamf/invoker RankedMethod.java,1.12,1.13
[email protected] Sun, 06 Jul 2003 10:26:31 -0700
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