[jboss-cvs] JBossAS SVN: r107537 - in projects/jboss-jca/trunk/common/src: main/java/org/jboss/jca/common/api/metadata/ra and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Aug 11 10:28:11 EDT 2010
Author: maeste
Date: 2010-08-11 10:28:09 -0400 (Wed, 11 Aug 2010)
New Revision: 107537
Added:
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyUtil.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyableMetaData.java
projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/CopyableMetaDataTestCase.java
Modified:
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AdminObject.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AuthenticationMechanism.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConfigProperty.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConnectionDefinition.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Connector.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Icon.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/InboundResourceAdapter.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LicenseType.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LocalizedXsdString.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/MessageListener.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Messageadapter.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/OutboundResourceAdapter.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Path.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/RequiredConfigProperty.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ResourceAdapter.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/SecurityPermission.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/XsdString.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ra15/Activationspec15.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AdminObjectImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AuthenticationMechanismImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConfigPropertyImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectionDefinitionImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectorAbstractmpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/InboundResourceAdapterImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageAdapterImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageListenerImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/OutboundResourceAdapterImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/SecurityPermissionImpl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/Connector10Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/ResourceAdapter10Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Activationspec15Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Connector15Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Activationspec16Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/ConfigProperty16Impl.java
projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Connector16Impl.java
projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/RaParserTestCase.java
Log:
JBJCA-385: adding copy capabilities
Added: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyUtil.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyUtil.java (rev 0)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyUtil.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.common.api.metadata;
+
+import org.jboss.jca.common.api.metadata.ra.XsdString;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ * A CopyUtil.
+ *
+ * @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
+ *
+ */
+public class CopyUtil
+{
+
+ /**
+ *
+ * clone a list of IdDecoratedMetadata and deep into the elements
+ *
+ * @param <T> type extending {@link CopyableMetaData}
+ * @param list the list to clone
+ * @return cloned list
+ */
+
+ public static <T extends CopyableMetaData> List<T> cloneList(List<T> list)
+ {
+ List<T> clone = new ArrayList<T>(list.size());
+ for (T item : list)
+ clone.add(clone(item));
+ return clone;
+ }
+
+ /**
+ *
+ * clone a list of string deep into elements
+ *
+ * @param list the list to clone
+ * @return cloned list
+ */
+ public static List<String> cloneListOfStrings(List<String> list)
+ {
+ List<String> clone = new ArrayList<String>(list.size());
+ for (String item : list)
+ clone.add(cloneString(item));
+ return clone;
+ }
+
+ /**
+ *
+ * clone a String
+ *
+ * @param input the input
+ * @return cloned String
+ */
+ public static String cloneString(String input)
+ {
+ return input;
+ }
+
+ /**
+ *
+ * Clone an IDDecoratedMetadata taking care of null cheks
+ *
+ * @param <T> type extending {@link CopyableMetaData}
+ * @param input type extending IdDecoratedMetadata
+ * @return cloned input
+ *
+ */
+ public static <T extends CopyableMetaData> T clone(T input)
+ {
+ if (input instanceof XsdString)
+ {
+ return XsdString.isNull((XsdString) input) ? (T) XsdString.NULL_XSDSTRING : (T) input.copy();
+ }
+ else
+ {
+ return input == null ? null : (T) input.copy();
+ }
+ }
+
+}
Copied: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyableMetaData.java (from rev 107533, projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ResourceAdapter.java)
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyableMetaData.java (rev 0)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/CopyableMetaData.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.common.api.metadata;
+
+/**
+ *
+ * A CopyableMetaData.
+ * This interface force implementors to override {@link #copy()} method.
+ * On the presence of this method are based some assumption to use generics during clone deep into the metadatas
+ * members.
+ *
+ * @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
+ *
+ */
+public interface CopyableMetaData extends Cloneable
+{
+
+ /**
+ * Creates and returns a copy of this object. Ther copy is done in deep of all elements.
+ * It isn't formally a clone of the instance since it does not respect the assumption for which returned
+ * clone of cloneMethod are instance of Object
+ *
+ * @return a copy of this instance.
+ */
+
+ public CopyableMetaData copy();
+
+}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AdminObject.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AdminObject.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AdminObject.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,7 +35,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface AdminObject extends IdDecoratedMetadata
+public interface AdminObject extends IdDecoratedMetadata, CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AuthenticationMechanism.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AuthenticationMechanism.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/AuthenticationMechanism.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,7 +35,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface AuthenticationMechanism extends IdDecoratedMetadata
+public interface AuthenticationMechanism extends IdDecoratedMetadata, CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConfigProperty.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConfigProperty.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConfigProperty.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.List;
/**
@@ -31,7 +33,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface ConfigProperty
+public interface ConfigProperty extends IdDecoratedMetadata, CopyableMetaData
{
/**
@@ -59,6 +61,7 @@
*
* @see IdDecoratedMetadata#getId()
*/
+ @Override
public abstract String getId();
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConnectionDefinition.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConnectionDefinition.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ConnectionDefinition.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,7 +35,11 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface ConnectionDefinition extends IdDecoratedMetadata, MergeableMetadata<ConnectionDefinition>
+public interface ConnectionDefinition
+ extends
+ IdDecoratedMetadata,
+ MergeableMetadata<ConnectionDefinition>,
+ CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Connector.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Connector.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Connector.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.List;
/**
@@ -30,7 +32,12 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface Connector extends IdDecoratedMetadata, ValidatableMetadata, MergeableMetadata<Connector>
+public interface Connector
+ extends
+ IdDecoratedMetadata,
+ ValidatableMetadata,
+ MergeableMetadata<Connector>,
+ CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Icon.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Icon.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Icon.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,9 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.Map;
@@ -29,7 +32,7 @@
* @author <a href="mailto:stefano.maestri at jboss.org">Stefano Maestri</a>
*
*/
-public class Icon implements IdDecoratedMetadata, LocalizedMetadata
+public class Icon implements IdDecoratedMetadata, LocalizedMetadata, CopyableMetaData
{
/**
*/
@@ -325,4 +328,10 @@
}
}
+
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new Icon(CopyUtil.clone(smallIcon), CopyUtil.clone(largeIcon), CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/InboundResourceAdapter.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/InboundResourceAdapter.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/InboundResourceAdapter.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.Map;
@@ -31,7 +33,11 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface InboundResourceAdapter extends IdDecoratedMetadata, MergeableMetadata<InboundResourceAdapter>
+public interface InboundResourceAdapter
+ extends
+ IdDecoratedMetadata,
+ MergeableMetadata<InboundResourceAdapter>,
+ CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LicenseType.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LicenseType.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LicenseType.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -23,6 +23,8 @@
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.MergeUtil;
import java.util.ArrayList;
@@ -35,7 +37,7 @@
* @author <a href="mailto:stefano.maestri at jboss.org">Stefano Maestri</a>
*
*/
-public class LicenseType implements IdDecoratedMetadata, MergeableMetadata<LicenseType>
+public class LicenseType implements IdDecoratedMetadata, MergeableMetadata<LicenseType>, CopyableMetaData
{
/**
@@ -307,6 +309,10 @@
}
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new LicenseType(CopyUtil.cloneList(description), licenseRequired, CopyUtil.cloneString(id));
+ }
-
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LocalizedXsdString.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LocalizedXsdString.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/LocalizedXsdString.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,7 +21,10 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
/**
* @author <a href="mailto:stefano.maestri at jboss.org">Stefano Maestri</a>
*
@@ -126,4 +129,11 @@
return "LocalizedXsdString [lang=" + lang + ", value=" + value + ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new LocalizedXsdString(CopyUtil.cloneString(value), CopyUtil.cloneString(id),
+ CopyUtil.cloneString(lang));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/MessageListener.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/MessageListener.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/MessageListener.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,7 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.ra15.Activationspec15;
import java.util.HashMap;
@@ -33,7 +34,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface MessageListener extends IdDecoratedMetadata
+public interface MessageListener extends IdDecoratedMetadata, CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Messageadapter.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Messageadapter.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Messageadapter.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,7 +35,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface Messageadapter extends IdDecoratedMetadata, MergeableMetadata<Messageadapter>
+public interface Messageadapter extends IdDecoratedMetadata, MergeableMetadata<Messageadapter>, CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/OutboundResourceAdapter.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/OutboundResourceAdapter.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/OutboundResourceAdapter.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,7 +35,11 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface OutboundResourceAdapter extends IdDecoratedMetadata, MergeableMetadata<OutboundResourceAdapter>
+public interface OutboundResourceAdapter
+ extends
+ IdDecoratedMetadata,
+ MergeableMetadata<OutboundResourceAdapter>,
+ CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Path.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Path.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/Path.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.JCAMetadata;
import java.security.InvalidParameterException;
@@ -29,7 +31,7 @@
* @author <a href="mailto:stefano.maestri at jboss.org">Stefano Maestri</a>
*
*/
-public class Path implements JCAMetadata
+public class Path implements JCAMetadata, CopyableMetaData
{
/**
*/
@@ -132,4 +134,11 @@
{
return "Path [value=" + value + "]";
}
+
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new Path(CopyUtil.cloneString(value));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/RequiredConfigProperty.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/RequiredConfigProperty.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/RequiredConfigProperty.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,9 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -32,7 +35,7 @@
* @author <a href="mailto:stefano.maestri at jboss.org">Stefano Maestri</a>
*
*/
-public class RequiredConfigProperty implements IdDecoratedMetadata
+public class RequiredConfigProperty implements IdDecoratedMetadata, CopyableMetaData
{
/**
*/
@@ -49,10 +52,18 @@
* @param configPropertyName name of the property
* @param id XML ID
*/
- public RequiredConfigProperty(ArrayList<LocalizedXsdString> description, XsdString configPropertyName, String id)
+ public RequiredConfigProperty(List<LocalizedXsdString> description, XsdString configPropertyName, String id)
{
super();
- this.description = description;
+ if (description != null)
+ {
+ this.description = new ArrayList<LocalizedXsdString>(description.size());
+ this.description.addAll(description);
+ }
+ else
+ {
+ this.description = new ArrayList<LocalizedXsdString>(0);
+ }
this.configPropertyName = configPropertyName;
this.id = id;
}
@@ -285,4 +296,11 @@
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new RequiredConfigProperty(CopyUtil.cloneList(description), CopyUtil.clone(configPropertyName),
+ CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ResourceAdapter.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ResourceAdapter.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ResourceAdapter.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.List;
/**
@@ -30,7 +32,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface ResourceAdapter extends IdDecoratedMetadata, ValidatableMetadata
+public interface ResourceAdapter extends IdDecoratedMetadata, ValidatableMetadata, CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/SecurityPermission.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/SecurityPermission.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/SecurityPermission.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -33,7 +35,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface SecurityPermission extends IdDecoratedMetadata
+public interface SecurityPermission extends IdDecoratedMetadata, CopyableMetaData
{
/**
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/XsdString.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/XsdString.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/XsdString.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,13 +21,16 @@
*/
package org.jboss.jca.common.api.metadata.ra;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
+
/**
* @author <a href="mailto:stefano.maestri at jboss.org">Stefano Maestri</a>
*
*/
-public class XsdString implements IdDecoratedMetadata
+public class XsdString implements IdDecoratedMetadata, CopyableMetaData
{
/**
@@ -162,4 +165,9 @@
return (xsdString == null || xsdString.equals(NULL_XSDSTRING));
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new XsdString(CopyUtil.cloneString(value), CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ra15/Activationspec15.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ra15/Activationspec15.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/api/metadata/ra/ra15/Activationspec15.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,7 @@
*/
package org.jboss.jca.common.api.metadata.ra.ra15;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.IdDecoratedMetadata;
import org.jboss.jca.common.api.metadata.ra.RequiredConfigProperty;
@@ -35,7 +36,7 @@
* @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
*
*/
-public interface Activationspec15 extends IdDecoratedMetadata
+public interface Activationspec15 extends IdDecoratedMetadata, CopyableMetaData
{
/**
* @return configProperty
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AdminObjectImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AdminObjectImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AdminObjectImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.AdminObject;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.XsdString;
@@ -106,11 +108,6 @@
return id;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode()
{
@@ -123,71 +120,44 @@
return result;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
- public boolean equals(final Object obj)
+ public boolean equals(Object obj)
{
if (this == obj)
- {
return true;
- }
if (obj == null)
- {
return false;
- }
if (!(obj instanceof AdminObjectImpl))
- {
return false;
- }
- final AdminObjectImpl other = (AdminObjectImpl) obj;
+ AdminObjectImpl other = (AdminObjectImpl) obj;
if (adminobjectClass == null)
{
if (other.adminobjectClass != null)
- {
return false;
- }
}
else if (!adminobjectClass.equals(other.adminobjectClass))
- {
return false;
- }
if (adminobjectInterface == null)
{
if (other.adminobjectInterface != null)
- {
return false;
- }
}
else if (!adminobjectInterface.equals(other.adminobjectInterface))
- {
return false;
- }
if (configProperty == null)
{
if (other.configProperty != null)
- {
return false;
- }
}
else if (!configProperty.equals(other.configProperty))
- {
return false;
- }
if (id == null)
{
if (other.id != null)
- {
return false;
- }
}
else if (!id.equals(other.id))
- {
return false;
- }
return true;
}
@@ -203,5 +173,11 @@
+ ", configProperty=" + configProperty + ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new AdminObjectImpl(CopyUtil.clone(adminobjectInterface), CopyUtil.clone(adminobjectClass),
+ CopyUtil.cloneList(configProperty), CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AuthenticationMechanismImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AuthenticationMechanismImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/AuthenticationMechanismImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.AuthenticationMechanism;
import org.jboss.jca.common.api.metadata.ra.CredentialInterfaceEnum;
import org.jboss.jca.common.api.metadata.ra.LocalizedXsdString;
@@ -205,4 +207,12 @@
+ authenticationMechanismType + ", credentialInterface=" + credentialInterface + ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new AuthenticationMechanismImpl(CopyUtil.cloneList(description),
+ CopyUtil.clone(authenticationMechanismType), credentialInterface,
+ CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConfigPropertyImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConfigPropertyImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConfigPropertyImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.IdDecoratedMetadata;
import org.jboss.jca.common.api.metadata.ra.LocalizedXsdString;
@@ -151,4 +153,71 @@
.getConfigPropertyValue().getValue().trim().equals(""));
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new ConfigPropertyImpl(CopyUtil.cloneList(description), CopyUtil.clone(configPropertyName),
+ CopyUtil.clone(configPropertyType), CopyUtil.clone(configPropertyValue), CopyUtil.cloneString(id));
+ }
+
+ @Override
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((configPropertyName == null) ? 0 : configPropertyName.hashCode());
+ result = prime * result + ((configPropertyType == null) ? 0 : configPropertyType.hashCode());
+ result = prime * result + ((configPropertyValue == null) ? 0 : configPropertyValue.hashCode());
+ result = prime * result + ((description == null) ? 0 : description.hashCode());
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof ConfigPropertyImpl))
+ return false;
+ ConfigPropertyImpl other = (ConfigPropertyImpl) obj;
+ if (configPropertyName == null)
+ {
+ if (other.configPropertyName != null)
+ return false;
+ }
+ else if (!configPropertyName.equals(other.configPropertyName))
+ return false;
+ if (configPropertyType == null)
+ {
+ if (other.configPropertyType != null)
+ return false;
+ }
+ else if (!configPropertyType.equals(other.configPropertyType))
+ return false;
+ if (configPropertyValue == null)
+ {
+ if (other.configPropertyValue != null)
+ return false;
+ }
+ else if (!configPropertyValue.equals(other.configPropertyValue))
+ return false;
+ if (description == null)
+ {
+ if (other.description != null)
+ return false;
+ }
+ else if (!description.equals(other.description))
+ return false;
+ if (id == null)
+ {
+ if (other.id != null)
+ return false;
+ }
+ else if (!id.equals(other.id))
+ return false;
+ return true;
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectionDefinitionImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectionDefinitionImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectionDefinitionImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.MergeUtil;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.ConnectionDefinition;
@@ -321,4 +323,12 @@
}
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new ConnectionDefinitionImpl(CopyUtil.clone(managedconnectionfactoryClass),
+ CopyUtil.cloneList(configProperty), CopyUtil.clone(connectionfactoryInterface),
+ CopyUtil.clone(connectionfactoryImplClass), CopyUtil.clone(connectionInterface),
+ CopyUtil.clone(connectionImplClass), CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectorAbstractmpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectorAbstractmpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ConnectorAbstractmpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,7 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.jbossra.JbossRa;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.Connector;
@@ -462,4 +463,7 @@
}
}
+ @Override
+ public abstract CopyableMetaData copy();
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/InboundResourceAdapterImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/InboundResourceAdapterImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/InboundResourceAdapterImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.InboundResourceAdapter;
import org.jboss.jca.common.api.metadata.ra.MergeableMetadata;
import org.jboss.jca.common.api.metadata.ra.MessageListener;
@@ -180,4 +182,10 @@
}
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new InboundResourceAdapterImpl(CopyUtil.clone(messageadapter), CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageAdapterImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageAdapterImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageAdapterImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -22,6 +22,8 @@
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.MergeUtil;
import org.jboss.jca.common.api.metadata.ra.MergeableMetadata;
import org.jboss.jca.common.api.metadata.ra.MessageListener;
@@ -176,4 +178,9 @@
}
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new MessageAdapterImpl(CopyUtil.cloneList(messagelisteners), CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageListenerImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageListenerImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/MessageListenerImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.MessageListener;
import org.jboss.jca.common.api.metadata.ra.XsdString;
import org.jboss.jca.common.api.metadata.ra.ra15.Activationspec15;
@@ -167,5 +169,12 @@
+ ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new MessageListenerImpl(CopyUtil.clone(messagelistenerType), CopyUtil.clone(activationspec),
+ CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/OutboundResourceAdapterImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/OutboundResourceAdapterImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/OutboundResourceAdapterImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.MergeUtil;
import org.jboss.jca.common.api.metadata.ra.AuthenticationMechanism;
import org.jboss.jca.common.api.metadata.ra.ConnectionDefinition;
@@ -287,4 +289,10 @@
}
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new OutboundResourceAdapterImpl(CopyUtil.cloneList(connectionDefinition), transactionSupport,
+ CopyUtil.cloneList(authenticationMechanism), reauthenticationSupport, CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/ResourceAdapter1516Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.MergeUtil;
import org.jboss.jca.common.api.metadata.ra.AdminObject;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
@@ -166,11 +168,6 @@
return id;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode()
{
@@ -186,104 +183,65 @@
return result;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object obj)
{
if (this == obj)
- {
return true;
- }
if (obj == null)
- {
return false;
- }
if (!(obj instanceof ResourceAdapter1516Impl))
- {
return false;
- }
ResourceAdapter1516Impl other = (ResourceAdapter1516Impl) obj;
if (adminobjects == null)
{
if (other.adminobjects != null)
- {
return false;
- }
}
else if (!adminobjects.equals(other.adminobjects))
- {
return false;
- }
if (configProperties == null)
{
if (other.configProperties != null)
- {
return false;
- }
}
else if (!configProperties.equals(other.configProperties))
- {
return false;
- }
if (id == null)
{
if (other.id != null)
- {
return false;
- }
}
else if (!id.equals(other.id))
- {
return false;
- }
if (inboundResourceadapter == null)
{
if (other.inboundResourceadapter != null)
- {
return false;
- }
}
else if (!inboundResourceadapter.equals(other.inboundResourceadapter))
- {
return false;
- }
if (outboundResourceadapter == null)
{
if (other.outboundResourceadapter != null)
- {
return false;
- }
}
else if (!outboundResourceadapter.equals(other.outboundResourceadapter))
- {
return false;
- }
if (resourceadapterClass == null)
{
if (other.resourceadapterClass != null)
- {
return false;
- }
}
else if (!resourceadapterClass.equals(other.resourceadapterClass))
- {
return false;
- }
if (securityPermissions == null)
{
if (other.securityPermissions != null)
- {
return false;
- }
}
else if (!securityPermissions.equals(other.securityPermissions))
- {
return false;
- }
return true;
}
@@ -349,4 +307,14 @@
return this;
}
}
+
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new ResourceAdapter1516Impl(CopyUtil.cloneString(resourceadapterClass),
+ CopyUtil.cloneList(configProperties), CopyUtil.clone(outboundResourceadapter),
+ CopyUtil.clone(inboundResourceadapter), CopyUtil.cloneList(adminobjects),
+ CopyUtil.cloneList(securityPermissions), CopyUtil.cloneString(id));
+
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/SecurityPermissionImpl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/SecurityPermissionImpl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/common/SecurityPermissionImpl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.common;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.LocalizedXsdString;
import org.jboss.jca.common.api.metadata.ra.SecurityPermission;
import org.jboss.jca.common.api.metadata.ra.XsdString;
@@ -175,4 +177,11 @@
+ ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new SecurityPermissionImpl(CopyUtil.cloneList(description), CopyUtil.clone(securityPermissionSpec),
+ CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/Connector10Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/Connector10Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/Connector10Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra10;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.Icon;
import org.jboss.jca.common.api.metadata.ra.LicenseType;
import org.jboss.jca.common.api.metadata.ra.LocalizedXsdString;
@@ -44,6 +46,8 @@
private final String moduleName;
+ private final XsdString resourceadapterVersion;
+
/**
* @param moduleName name of the module
* @param description descriptions of this connector
@@ -63,6 +67,7 @@
{
super(vendorName, eisType, license, resourceadapter, description, displayName, icon, id);
this.moduleName = moduleName;
+ this.resourceadapterVersion = resourceadapterVersion;
}
@@ -134,7 +139,15 @@
+ description + ", displayName=" + displayName + ", icon=" + icon + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new Connector10Impl(CopyUtil.cloneString(moduleName), CopyUtil.clone(vendorName),
+ CopyUtil.clone(eisType), CopyUtil.clone(resourceadapterVersion), CopyUtil.clone(license),
+ CopyUtil.clone(resourceadapter),
+ CopyUtil.cloneList(description), CopyUtil.cloneList(displayName), CopyUtil.cloneList(icon),
+ CopyUtil.cloneString(id));
+ }
-
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/ResourceAdapter10Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/ResourceAdapter10Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra10/ResourceAdapter10Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra10;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.AuthenticationMechanism;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.SecurityPermission;
@@ -374,4 +376,15 @@
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new ResourceAdapter10Impl(CopyUtil.clone(managedConnectionFactoryClass),
+ CopyUtil.clone(connectionFactoryInterface),
+ CopyUtil.clone(connectionFactoryImplClass), CopyUtil.clone(connectionInterface),
+ CopyUtil.clone(connectionImplClass), transactionSupport,
+ CopyUtil.cloneList(authenticationMechanism), CopyUtil.cloneList(configProperties),
+ reauthenticationSupport, CopyUtil.cloneList(securityPermissions), CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Activationspec15Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Activationspec15Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Activationspec15Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra15;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.RequiredConfigProperty;
import org.jboss.jca.common.api.metadata.ra.XsdString;
@@ -171,4 +173,10 @@
return null;
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new Activationspec15Impl(CopyUtil.clone(activationspecClass),
+ CopyUtil.cloneList(requiredConfigProperty), CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Connector15Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Connector15Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra15/Connector15Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra15;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.Icon;
import org.jboss.jca.common.api.metadata.ra.LicenseType;
import org.jboss.jca.common.api.metadata.ra.LocalizedXsdString;
@@ -125,5 +127,15 @@
+ ", description=" + description + ", displayName=" + displayName + ", icon=" + icon + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new Connector15Impl(CopyUtil.clone(resourceadapterVersion), CopyUtil.clone(resourceadapterVersion),
+ CopyUtil.clone(resourceadapterVersion), CopyUtil.clone(license),
+ CopyUtil.clone((ResourceAdapter1516) resourceadapter), CopyUtil.cloneList(description),
+ CopyUtil.cloneList(displayName),
+ CopyUtil.cloneList(icon), CopyUtil.cloneString(id));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Activationspec16Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Activationspec16Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Activationspec16Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra16;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
import org.jboss.jca.common.api.metadata.ra.RequiredConfigProperty;
import org.jboss.jca.common.api.metadata.ra.XsdString;
@@ -109,5 +111,13 @@
+ ", requiredConfigProperty=" + requiredConfigProperty + ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new Activationspec16Impl(CopyUtil.clone(activationspecClass),
+ CopyUtil.cloneList(requiredConfigProperty),
+ CopyUtil.cloneList(configProperties),
+ CopyUtil.cloneString(id));
+ }
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/ConfigProperty16Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/ConfigProperty16Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/ConfigProperty16Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra16;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.ra.LocalizedXsdString;
import org.jboss.jca.common.api.metadata.ra.XsdString;
import org.jboss.jca.common.api.metadata.ra.ra16.ConfigProperty16;
@@ -159,137 +161,57 @@
return configPropertyConfidential;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode()
{
final int prime = 31;
- int result = 1;
+ int result = super.hashCode();
+ result = prime * result + ((attachedClassName == null) ? 0 : attachedClassName.hashCode());
result = prime * result + ((configPropertyConfidential == null) ? 0 : configPropertyConfidential.hashCode());
result = prime * result + ((configPropertyIgnore == null) ? 0 : configPropertyIgnore.hashCode());
- result = prime * result + ((configPropertyName == null) ? 0 : configPropertyName.hashCode());
result = prime * result
+ ((configPropertySupportsDynamicUpdates == null) ? 0 : configPropertySupportsDynamicUpdates.hashCode());
- result = prime * result + ((configPropertyType == null) ? 0 : configPropertyType.hashCode());
- result = prime * result + ((configPropertyValue == null) ? 0 : configPropertyValue.hashCode());
- result = prime * result + ((description == null) ? 0 : description.hashCode());
- result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object obj)
{
if (this == obj)
- {
return true;
- }
- if (obj == null)
- {
+ if (!super.equals(obj))
return false;
- }
if (!(obj instanceof ConfigProperty16Impl))
- {
return false;
- }
ConfigProperty16Impl other = (ConfigProperty16Impl) obj;
+ if (attachedClassName == null)
+ {
+ if (other.attachedClassName != null)
+ return false;
+ }
+ else if (!attachedClassName.equals(other.attachedClassName))
+ return false;
if (configPropertyConfidential == null)
{
if (other.configPropertyConfidential != null)
- {
return false;
- }
}
else if (!configPropertyConfidential.equals(other.configPropertyConfidential))
- {
return false;
- }
if (configPropertyIgnore == null)
{
if (other.configPropertyIgnore != null)
- {
return false;
- }
}
else if (!configPropertyIgnore.equals(other.configPropertyIgnore))
- {
return false;
- }
- if (configPropertyName == null)
- {
- if (other.configPropertyName != null)
- {
- return false;
- }
- }
- else if (!configPropertyName.equals(other.configPropertyName))
- {
- return false;
- }
if (configPropertySupportsDynamicUpdates == null)
{
if (other.configPropertySupportsDynamicUpdates != null)
- {
return false;
- }
}
else if (!configPropertySupportsDynamicUpdates.equals(other.configPropertySupportsDynamicUpdates))
- {
return false;
- }
- if (configPropertyType == null)
- {
- if (other.configPropertyType != null)
- {
- return false;
- }
- }
- else if (!configPropertyType.equals(other.configPropertyType))
- {
- return false;
- }
- if (configPropertyValue == null)
- {
- if (other.configPropertyValue != null)
- {
- return false;
- }
- }
- else if (!configPropertyValue.equals(other.configPropertyValue))
- {
- return false;
- }
- if (description == null)
- {
- if (other.description != null)
- {
- return false;
- }
- }
- else if (!description.equals(other.description))
- {
- return false;
- }
- if (id == null)
- {
- if (other.id != null)
- {
- return false;
- }
- }
- else if (!id.equals(other.id))
- {
- return false;
- }
return true;
}
@@ -308,5 +230,15 @@
+ ", id=" + id + "]";
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ return new ConfigProperty16Impl(CopyUtil.cloneList(description), CopyUtil.clone(configPropertyName),
+ CopyUtil.clone(configPropertyType),
+ CopyUtil.clone(configPropertyValue), configPropertyIgnore,
+ configPropertySupportsDynamicUpdates,
+ configPropertyConfidential, CopyUtil.cloneString(id), CopyUtil.cloneString(attachedClassName));
+ }
+
}
Modified: projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Connector16Impl.java
===================================================================
--- projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Connector16Impl.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/main/java/org/jboss/jca/common/metadata/ra/ra16/Connector16Impl.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -21,6 +21,8 @@
*/
package org.jboss.jca.common.metadata.ra.ra16;
+import org.jboss.jca.common.api.metadata.CopyUtil;
+import org.jboss.jca.common.api.metadata.CopyableMetaData;
import org.jboss.jca.common.api.metadata.MergeUtil;
import org.jboss.jca.common.api.metadata.jbossra.JbossRa;
import org.jboss.jca.common.api.metadata.ra.Connector;
@@ -228,4 +230,23 @@
}
+ @Override
+ public CopyableMetaData copy()
+ {
+ XsdString newResourceadapterVersion = CopyUtil.clone(this.resourceadapterVersion);
+ XsdString newEisType = XsdString.isNull(this.eisType) ? null : (XsdString) this.eisType.copy();
+ List<String> newRequiredWorkContexts = CopyUtil.cloneListOfStrings(this.requiredWorkContexts);
+ String newModuleName = CopyUtil.cloneString(this.moduleName);
+ List<Icon> newIcons = CopyUtil.cloneList(this.icon);
+ boolean newMetadataComplete = this.metadataComplete;
+ LicenseType newLicense = CopyUtil.clone(this.license);
+ List<LocalizedXsdString> newDescriptions = CopyUtil.cloneList(this.description);
+ List<LocalizedXsdString> newDisplayNames = CopyUtil.cloneList(this.displayName);
+ XsdString newVendorName = CopyUtil.clone(this.vendorName);
+ ResourceAdapter1516 newResourceadapter = CopyUtil.clone((ResourceAdapter1516) this.resourceadapter);
+ return new Connector16Impl(newModuleName, newVendorName, newEisType, newResourceadapterVersion, newLicense,
+ newResourceadapter, newRequiredWorkContexts, newMetadataComplete, newDescriptions, newDisplayNames,
+ newIcons, CopyUtil.cloneString(id));
+ }
+
}
Copied: projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/CopyableMetaDataTestCase.java (from rev 107533, projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/RaParserTestCase.java)
===================================================================
--- projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/CopyableMetaDataTestCase.java (rev 0)
+++ projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/CopyableMetaDataTestCase.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -0,0 +1,175 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.common.metadata.ra;
+
+import org.jboss.jca.common.api.metadata.ra.Connector;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+import org.junit.Test;
+
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ *
+ * A RaParserTestCase.
+ *
+ * @author <a href="stefano.maestri at jboss.com">Stefano Maestri</a>
+ *
+ */
+public class CopyableMetaDataTestCase
+{
+ /**
+ * shouldCopyConnector16
+ * @throws Exception in case of error
+ */
+ @Test
+ public void shouldCopyConnector16() throws Exception
+ {
+
+ FileInputStream is = null;
+ try
+ {
+ //given
+ File xmlFile = new File(Thread.currentThread().getContextClassLoader()
+ .getResource("connector-1.6-sample.xml").toURI());
+ is = new FileInputStream(xmlFile);
+ RaParser parser = new RaParser();
+ //when
+ Connector connector = parser.parse(is);
+ Connector newConnector = (Connector) connector.copy();
+ //then
+ assertThat(connector == newConnector, is(false));
+ assertThat(connector.equals(newConnector), is(true));
+ assertThat(connector.hashCode(), is(newConnector.hashCode()));
+
+
+
+ }
+ finally
+ {
+ if (is != null)
+ is.close();
+ }
+
+ }
+
+ /**
+ * shouldCopyConnector16
+ * @throws Exception in case of error
+ */
+ @Test
+ public void shouldCopyConnector15() throws Exception
+ {
+
+ FileInputStream is = null;
+ try
+ {
+ //given
+ File xmlFile = new File(Thread.currentThread().getContextClassLoader()
+ .getResource("connector-1.5-sample.xml").toURI());
+ is = new FileInputStream(xmlFile);
+ RaParser parser = new RaParser();
+ //when
+ Connector connector = parser.parse(is);
+ Connector newConnector = (Connector) connector.copy();
+ //then
+ assertThat(connector == newConnector, is(false));
+ assertThat(connector.equals(newConnector), is(true));
+ assertThat(connector.hashCode(), is(newConnector.hashCode()));
+
+ }
+ finally
+ {
+ if (is != null)
+ is.close();
+ }
+
+ }
+
+ /**
+ * shouldCopyConnector16 more complex
+ * @throws Exception in case of error
+ */
+ @Test
+ public void shouldCopyConnector16MoreComplex() throws Exception
+ {
+ FileInputStream is = null;
+ try
+ {
+ //given
+ File xmlFile = new File(Thread.currentThread().getContextClassLoader()
+ .getResource("ra.xml").toURI());
+ is = new FileInputStream(xmlFile);
+ RaParser parser = new RaParser();
+ //when
+ Connector connector = parser.parse(is);
+ Connector newConnector = (Connector) connector.copy();
+ //then
+ assertThat(connector == newConnector, is(false));
+ assertThat(connector.equals(newConnector), is(true));
+ assertThat(connector.hashCode(), is(newConnector.hashCode()));
+
+
+ }
+ finally
+ {
+ if (is != null)
+ is.close();
+ }
+
+ }
+
+ /**
+ * shouldCopyConnector10
+ * @throws Exception in case of error
+ */
+ @Test
+ public void shouldCopyConnector10() throws Exception
+ {
+ FileInputStream is = null;
+ try
+ {
+ //given
+ File xmlFile = new File(Thread.currentThread().getContextClassLoader()
+ .getResource("connector-1.0-sample.xml").toURI());
+ is = new FileInputStream(xmlFile);
+ RaParser parser = new RaParser();
+ //when
+ Connector connector = parser.parse(is);
+ Connector newConnector = (Connector) connector.copy();
+ //then
+ assertThat(connector == newConnector, is(false));
+ assertThat(connector.equals(newConnector), is(true));
+ assertThat(connector.hashCode(), is(newConnector.hashCode()));
+ }
+ finally
+ {
+ if (is != null)
+ is.close();
+ }
+
+ }
+
+}
Modified: projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/RaParserTestCase.java
===================================================================
--- projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/RaParserTestCase.java 2010-08-11 12:51:35 UTC (rev 107536)
+++ projects/jboss-jca/trunk/common/src/test/java/org/jboss/jca/common/metadata/ra/RaParserTestCase.java 2010-08-11 14:28:09 UTC (rev 107537)
@@ -82,11 +82,41 @@
@Test
public void shouldParseConnector15() throws Exception
{
+
FileInputStream is = null;
try
{
//given
File xmlFile = new File(Thread.currentThread().getContextClassLoader()
+ .getResource("connector-1.5-sample.xml").toURI());
+ is = new FileInputStream(xmlFile);
+ RaParser parser = new RaParser();
+ //when
+ Connector connector = parser.parse(is);
+ //then
+ assertThat(connector, instanceOf(Connector15.class));
+ assertThat(connector.getVersion(), is(Version.V_15));
+ }
+ finally
+ {
+ if (is != null)
+ is.close();
+ }
+
+ }
+
+ /**
+ * shouldParseConnector15MoreComplex
+ * @throws Exception in case of error
+ */
+ @Test
+ public void shouldParseConnector16MoreComplex() throws Exception
+ {
+ FileInputStream is = null;
+ try
+ {
+ //given
+ File xmlFile = new File(Thread.currentThread().getContextClassLoader()
.getResource("ra.xml").toURI());
is = new FileInputStream(xmlFile);
RaParser parser = new RaParser();
More information about the jboss-cvs-commits
mailing list