openamf/src/java/org/openamf/invoker RankedMethod.java,1.9,1.10
[email protected] Thu, 05 Jun 2003 19:24:33 -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-serv7601/src/java/org/openamf/invoker
Modified Files:
RankedMethod.java
Log Message:
1) added support for java.sql.Dates
2) removed some debug messages
Index: RankedMethod.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/invoker/RankedMethod.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** RankedMethod.java 28 May 2003 19:21:12 -0000 1.9
--- RankedMethod.java 6 Jun 2003 02:24:30 -0000 1.10
***************
*** 54,63 ****
private void process(String requestedMethodName, List parameters) {
- log.debug("comparing to methodName: " + method.getName());
-
double rank = 0;
ArrayList decodedParameters = null;
if (method.getName().equalsIgnoreCase(requestedMethodName)) {
log.debug("NAME_MATCHES");
rank = RankedMethod.NAME_MATCHES;
--- 54,62 ----
private void process(String requestedMethodName, List parameters) {
double rank = 0;
ArrayList decodedParameters = null;
if (method.getName().equalsIgnoreCase(requestedMethodName)) {
+ log.debug("comparing to methodName: " + method.getName());
log.debug("NAME_MATCHES");
rank = RankedMethod.NAME_MATCHES;
***************
*** 111,119 ****
Class parameterType = parameterTypes[i];
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) {
--- 110,119 ----
Class parameterType = parameterTypes[i];
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) {
***************
*** 137,166 ****
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;
}
--- 137,177 ----
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;
}
***************
*** 168,171 ****
--- 179,190 ----
private Object decodeParameter(Object parameter, Class parameterType) {
+ 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;
***************
*** 196,200 ****
int compareTo = 0;
RankedMethod rankedMethod = (RankedMethod) o;
!
if (getRank() > rankedMethod.getRank()) {
compareTo = -1;
--- 215,219 ----
int compareTo = 0;
RankedMethod rankedMethod = (RankedMethod) o;
!
if (getRank() > rankedMethod.getRank()) {
compareTo = -1;
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.