Author: ieb
Date: Thu Dec  4 22:14:43 2008
New Revision: 723602

URL: http://svn.apache.org/viewvc?rev=723602&view=rev
Log:
SHINDIG-728
    Fix to remove getDefaultImplementation and rely on bean creation via the 
guice injector.

Modified:
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/GuiceBeanConverter.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/InterfaceClassMapper.java

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/GuiceBeanConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/GuiceBeanConverter.java?rev=723602&r1=723601&r2=723602&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/GuiceBeanConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/GuiceBeanConverter.java
 Thu Dec  4 22:14:43 2008
@@ -54,9 +54,15 @@
    * need stricter checks, subclass JavaBeanConverter
    */
   public boolean canConvert(Class type) {
+    if ( type == null ) {
+      return false;
+    }
     if (Object.class.equals(type)) {
       return false;
     }
+    if ( type.isInterface() ) {
+      return true;
+    }
     for (Class<?> iff : type.getInterfaces()) {
       if (iff.isAnnotationPresent(Exportablebean.class)) {
         return true;

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/InterfaceClassMapper.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/InterfaceClassMapper.java?rev=723602&r1=723601&r2=723602&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/InterfaceClassMapper.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/util/xstream/InterfaceClassMapper.java
 Thu Dec  4 22:14:43 2008
@@ -276,55 +276,10 @@
     if (clazz == null) {
       clazz = super.realClass(elementName);
     }
-    clazz = getImplementation(clazz);
     return clazz;
   }
 
-  /**
-   * get the implementation of a class, based on the ImplementedBy annotation.
-   *
-   * @param clazz
-   *          the class to be checked.
-   * @return the class providing the default implementation.
-   */
-  private Class<?> getImplementation(Class<?> clazz) {
-    // get the guice default implementation on the class.
-    // we might use the injector to discover this
-    Class<?> cl = clazz;
-    ImplementedBy implementedBy = clazz.getAnnotation(ImplementedBy.class);
-    if (implementedBy != null) {
-      Class<?> c = implementedBy.value();
-      if (log.isDebugEnabled()) {
-        log.debug("===================Class " + clazz + " is implemented by "
-            + c);
-      }
-      cl = c;
-    } else {
-      if (log.isDebugEnabled()) {
-        log.debug("===================Class " + clazz
-            + " no implementation, assume concrete ");
-      }
-    }
-    return cl;
-  }
 
-  /*
-   * (non-Javadoc)
-   * 
-   * @see
-   * com.thoughtworks.xstream.mapper.MapperWrapper#defaultImplementationOf(java
-   * .lang.Class)
-   */
-  @SuppressWarnings("unchecked")
-  // API is not generic
-  @Override
-  public Class defaultImplementationOf(Class type) {
-    Class<?> clazz = getImplementation(super.defaultImplementationOf(type));
-    if (log.isDebugEnabled()) {
-      log.debug("====defaultImplementationOf==Class " + type + " is " + clazz);
-    }
-    return clazz;
-  }
   
   /**
    * [EMAIL PROTECTED]


Reply via email to