[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