openamf/src/java/org/openamf/util OpenAMFUtils.java,1.21,1.22

Jason Calabrese <[email protected]> Wed, 12 May 2004 04:34:25 +0000
Newsgroups gmane.comp.java.openamf.cvs
Message-ID <[email protected]>
Update of /cvsroot/openamf/openamf/src/java/org/openamf/util
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26216/src/java/org/openamf/util

Modified Files:
	OpenAMFUtils.java 
Log Message:
added character fix from  
Olaf Eilers

Index: OpenAMFUtils.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/util/OpenAMFUtils.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** OpenAMFUtils.java	5 Mar 2004 05:37:52 -0000	1.21
--- OpenAMFUtils.java	12 May 2004 04:34:23 -0000	1.22
***************
*** 1,19 ****
  /*
   * www.openamf.org
!  *
!  * Distributable under LGPL license.
!  * See terms of license at gnu.org.
   */
- 
  package org.openamf.util;
- 
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
- 
  import com.carbonfive.flash.ASTranslator;
  import com.carbonfive.flash.ASTranslatorFactory;
- 
  import flashgateway.io.ASObject;
- 
  /**
   * @author Jason Calabrese <[email protected]>
--- 1,13 ----
  /*
   * www.openamf.org
!  * 
!  * Distributable under LGPL license. See terms of license at gnu.org.
   */
  package org.openamf.util;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import com.carbonfive.flash.ASTranslator;
  import com.carbonfive.flash.ASTranslatorFactory;
  import flashgateway.io.ASObject;
  /**
   * @author Jason Calabrese <[email protected]>
***************
*** 22,118 ****
   * @see XMLUtils
   * @version $Revision$, $Date$
!  * 
   */
  public final class OpenAMFUtils {
! 
! 	private static final Log log = LogFactory.getLog(OpenAMFUtils.class);
! 
! 	private OpenAMFUtils() {
! 		// this constructor is intentionally private
! 	}
! 
! 	/**
! 	 *
! 	 * @return may return null
! 	 * 
! 	 */
! 	public static Object decodeParameter(
! 		Object parameter,
! 		Class parameterType) {
! 		
! 		log.debug(
! 			"Decoding parameter: " + parameter + " to type: " + parameterType);
! 		
! 		if (parameter == null) {
! 			return null;
! 		}
! 		
! 		if (parameter instanceof ASObject
! 			&& ((ASObject) parameter).getType() == null) {
! 			
! 			ASObject aso = (ASObject) parameter;
! 			aso.setType(parameterType.getName());
! 			
! 		}
! 
! 		Object decodedObject = null;
! 		
! 		ASTranslatorFactory factory = null;
! 		
! 		factory = ASTranslatorFactory.getInstance();
! 		ASTranslator translator = factory.getASTranslator();
! 	
! 		try {
! 			decodedObject = translator.fromActionScript(parameter, parameterType);
! 		}
! 		catch (Exception ex) {
! 			decodedObject = null;
! 			log.debug("caught exception while decoding parameter", ex);
! 		}
! 		
! 		
! 		log.debug("decodedObject: " + decodedObject);
! 		
! 		return decodedObject;
! 	}
! 
! 	public static boolean typesMatch(Class parameterType, Object parameter) {
! 		log.debug("expected class: " + parameterType.getName());
! 		if (parameter == null) {
! 			log.debug("parameter is null");
! 		} else {
! 			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;
! 	}
! 
! }
--- 16,91 ----
   * @see XMLUtils
   * @version $Revision$, $Date$
!  *  
   */
  public final class OpenAMFUtils {
!     private static final Log log = LogFactory.getLog(OpenAMFUtils.class);
!     private OpenAMFUtils() {
!         // this constructor is intentionally private
!     }
!     /**
!      * @return may return null
!      *  
!      */
!     public static Object decodeParameter(Object parameter, Class parameterType) {
!         log.debug("Decoding parameter: " + parameter + " to type: "
!                 + parameterType);
!         if (parameter == null) {
!             return null;
!         }
!         if (parameter instanceof ASObject
!                 && ((ASObject) parameter).getType() == null) {
!             ASObject aso = (ASObject) parameter;
!             aso.setType(parameterType.getName());
!         }
!         Object decodedObject = null;
!         ASTranslatorFactory factory = null;
!         factory = ASTranslatorFactory.getInstance();
!         ASTranslator translator = factory.getASTranslator();
!         try {
!             decodedObject = translator.fromActionScript(parameter,
!                     parameterType);
!         } catch (Exception ex) {
!             decodedObject = null;
!             log.debug("caught exception while decoding parameter", ex);
!         }
!         log.debug("decodedObject: " + decodedObject);
!         return decodedObject;
!     }
!     public static boolean typesMatch(Class parameterType, Object parameter) {
!         log.debug("expected class: " + parameterType.getName());
!         if (parameter == null) {
!             log.debug("parameter is null");
!         } else {
!             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(Character.TYPE)
!                     && parameter instanceof Character) {
!                 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;
!     }
! }
\ No newline at end of file



-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3