[jboss-cvs] JBossAS SVN: r96560 - projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 19 07:57:39 EST 2009


Author: adrian at jboss.org
Date: 2009-11-19 07:57:38 -0500 (Thu, 19 Nov 2009)
New Revision: 96560

Modified:
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/CloneUtil.java
Log:
For some reason the eclipse compiler doesn't understand the collection->set/list capature change?

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractBeanMetaData.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -34,8 +34,9 @@
 
 import org.jboss.beans.info.spi.BeanAccessMode;
 import org.jboss.beans.metadata.api.model.AutowireType;
-import static org.jboss.beans.metadata.plugins.CloneUtil.cloneCollection;
+import static org.jboss.beans.metadata.plugins.CloneUtil.cloneList;
 import static org.jboss.beans.metadata.plugins.CloneUtil.cloneObject;
+import static org.jboss.beans.metadata.plugins.CloneUtil.cloneSet;
 import org.jboss.beans.metadata.spi.AliasMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
@@ -864,26 +865,27 @@
       return clone;
    }
 
+   @SuppressWarnings("unchecked")
    protected void doClone(AbstractBeanMetaData clone)
    {
       super.doClone(clone);
       if (aliases != null)
          clone.setAliases(new HashSet<Object>(aliases));
-      clone.setAliasMetaData(cloneCollection(aliasMetaData, HashSet.class, AliasMetaData.class));
-      clone.setRelated(cloneCollection(related, HashSet.class, RelatedClassMetaData.class));
+      clone.setAliasMetaData(cloneSet(aliasMetaData, HashSet.class, AliasMetaData.class));
+      clone.setRelated(cloneSet(related, HashSet.class, RelatedClassMetaData.class));
       clone.setClassLoader(cloneObject(classLoader, ClassLoaderMetaData.class));
       clone.setConstructor(cloneObject(constructor, ConstructorMetaData.class));
       clone.setCreate(cloneObject(create, LifecycleMetaData.class));
-      clone.setDemands(cloneCollection(demands, HashSet.class, DemandMetaData.class));
-      clone.setDepends(cloneCollection(depends, HashSet.class, DependencyMetaData.class));
+      clone.setDemands(cloneSet(demands, HashSet.class, DemandMetaData.class));
+      clone.setDepends(cloneSet(depends, HashSet.class, DependencyMetaData.class));
       clone.setDestroy(cloneObject(destroy, LifecycleMetaData.class));
-      clone.setInstallCallbacks(cloneCollection(installCallbacks, ArrayList.class, CallbackMetaData.class));
-      clone.setInstalls(cloneCollection(installs, ArrayList.class, InstallMetaData.class));
-      clone.setProperties(cloneCollection(properties, HashSet.class, PropertyMetaData.class));
+      clone.setInstallCallbacks(cloneList(installCallbacks, ArrayList.class, CallbackMetaData.class));
+      clone.setInstalls(cloneList(installs, ArrayList.class, InstallMetaData.class));
+      clone.setProperties(cloneSet(properties, HashSet.class, PropertyMetaData.class));
       clone.setStart(cloneObject(start, LifecycleMetaData.class));
       clone.setStop(cloneObject(stop, LifecycleMetaData.class));
-      clone.setSupplies(cloneCollection(supplies, HashSet.class, SupplyMetaData.class));
-      clone.setUninstallCallbacks(cloneCollection(uninstallCallbacks, ArrayList.class, CallbackMetaData.class));
-      clone.setUninstalls(cloneCollection(uninstalls, ArrayList.class, InstallMetaData.class));
+      clone.setSupplies(cloneSet(supplies, HashSet.class, SupplyMetaData.class));
+      clone.setUninstallCallbacks(cloneList(uninstallCallbacks, ArrayList.class, CallbackMetaData.class));
+      clone.setUninstalls(cloneList(uninstalls, ArrayList.class, InstallMetaData.class));
    }
 }

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractCollectionMetaData.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -252,10 +252,11 @@
       return null;
    }
 
+   @SuppressWarnings("unchecked")
    public AbstractCollectionMetaData clone()
    {
       AbstractCollectionMetaData clone = (AbstractCollectionMetaData)super.clone();
-      clone.collection = CloneUtil.cloneCollection(collection, ArrayList.class, MetaDataVisitorNode.class);
+      clone.collection = (ArrayList) CloneUtil.cloneList(collection, ArrayList.class, MetaDataVisitorNode.class);
       return clone;
    }
 }
\ No newline at end of file

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractConstructorMetaData.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -316,11 +316,12 @@
       return clone;
    }
 
+   @SuppressWarnings("unchecked")
    protected void doClone(AbstractConstructorMetaData clone)
    {
       super.doClone(clone);
       clone.setFactory(CloneUtil.cloneObject(factory, ValueMetaData.class));
       clone.setValue(CloneUtil.cloneObject(value, ValueMetaData.class));
-      clone.setParameters(CloneUtil.cloneCollection(parameters, ArrayList.class, ParameterMetaData.class));
+      clone.setParameters(CloneUtil.cloneList(parameters, ArrayList.class, ParameterMetaData.class));
    }
 }

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractFeatureMetaData.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -28,7 +28,7 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import static org.jboss.beans.metadata.plugins.CloneUtil.cloneCollection;
+import static org.jboss.beans.metadata.plugins.CloneUtil.cloneSet;
 import org.jboss.beans.metadata.spi.AnnotationMetaData;
 import org.jboss.beans.metadata.spi.FeatureMetaData;
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
@@ -153,8 +153,9 @@
       buffer.append(description);
    }
 
+   @SuppressWarnings("unchecked")
    protected void doClone(AbstractFeatureMetaData clone)
    {
-      clone.setAnnotations(cloneCollection(annotations, HashSet.class, AnnotationMetaData.class));
+      clone.setAnnotations(cloneSet(annotations, HashSet.class, AnnotationMetaData.class));
    }
 }

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractLifecycleMetaData.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -220,12 +220,13 @@
       return clone;
    }
 
+   @SuppressWarnings("unchecked")
    protected void doClone(AbstractLifecycleMetaData clone)
    {
       super.doClone(clone);
       clone.setIgnored(ignored);
       clone.setMethodName(methodName);
-      clone.setParameters(CloneUtil.cloneCollection(parameters, ArrayList.class, ParameterMetaData.class));
+      clone.setParameters(CloneUtil.cloneList(parameters, ArrayList.class, ParameterMetaData.class));
       clone.setState(state);
       clone.setType(type);
    }

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractValueFactoryMetaData.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -370,7 +370,7 @@
    public AbstractValueFactoryMetaData clone()
    {
       AbstractValueFactoryMetaData clone = (AbstractValueFactoryMetaData)super.clone();
-      clone.setParameters(CloneUtil.cloneCollection(parameters, ArrayList.class, ParameterMetaData.class));
+      clone.setParameters(CloneUtil.cloneList(parameters, ArrayList.class, ParameterMetaData.class));
       return clone;
    }
 }

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/CloneUtil.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/CloneUtil.java	2009-11-19 12:34:09 UTC (rev 96559)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/CloneUtil.java	2009-11-19 12:57:38 UTC (rev 96560)
@@ -23,7 +23,9 @@
 
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
 
@@ -85,6 +87,64 @@
    }
 
    /**
+    * Simple set clone.
+    *
+    * @param <T> the collection type
+    * @param <U> the component type
+    * @param collection the collection to be cloned
+    * @param expectedClass expected collection class
+    * @param componentType expected component class
+    * @return cloned collection
+    */
+   public static <U extends MetaDataVisitorNode, T extends Set<U>> T cloneSet(T collection, Class<? extends T> expectedClass, Class<U> componentType)
+   {
+      if (collection == null)
+         return null;
+
+      try
+      {
+         T clone = expectedClass.newInstance();
+         for (U item : collection)
+               clone.add(cloneObject(item, componentType));
+
+         return clone;
+      }
+      catch (Throwable t)
+      {
+         throw new RuntimeException(t);
+      }
+   }
+
+   /**
+    * Simple list clone.
+    *
+    * @param <T> the collection type
+    * @param <U> the component type
+    * @param collection the collection to be cloned
+    * @param expectedClass expected collection class
+    * @param componentType expected component class
+    * @return cloned collection
+    */
+   public static <U extends MetaDataVisitorNode, T extends List<U>> T cloneList(T collection, Class<? extends T> expectedClass, Class<U> componentType)
+   {
+      if (collection == null)
+         return null;
+
+      try
+      {
+         T clone = expectedClass.newInstance();
+         for (U item : collection)
+               clone.add(cloneObject(item, componentType));
+
+         return clone;
+      }
+      catch (Throwable t)
+      {
+         throw new RuntimeException(t);
+      }
+   }
+
+   /**
     * Simple map clone.
     *
     * @param <T> the collection type




More information about the jboss-cvs-commits mailing list