You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2007/09/15 02:39:27 UTC

svn commit: r575836 - in /openejb/trunk/openejb3/container/openejb-jee/src: main/java/org/apache/openejb/jee/ test/java/org/apache/openejb/jee/ test/resources/

Author: dain
Date: Fri Sep 14 17:39:26 2007
New Revision: 575836

URL: http://svn.apache.org/viewvc?rev=575836&view=rev
Log:
Added jaxb objects to process ra.xml file

Added:
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ActivationSpec.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AdminObject.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AuthenticationMechanism.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConfigProperty.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConnectionDefinition.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Connector.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/InboundResource.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/License.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageAdapter.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageListener.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/OutboundResourceAdapter.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/RequiredConfigProperty.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ResourceAdapter.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SecurityPermission.java
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/TransactionSupportType.java
    openejb/trunk/openejb3/container/openejb-jee/src/test/resources/connector-example.xml
Modified:
    openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ObjectFactory.java
    openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ActivationSpec.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ActivationSpec.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ActivationSpec.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ActivationSpec.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,75 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The activationspecType specifies an activation
+ * specification.  The information includes fully qualified
+ * Java class name of an activation specification and a set of
+ * required configuration property names.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "activationspecType", propOrder = {
+        "activationSpecClass",
+        "requiredConfigProperty"
+})
+public class ActivationSpec {
+
+    @XmlElement(name = "activationspec-class", required = true)
+    protected String activationSpecClass;
+    @XmlElement(name = "required-config-property")
+    protected List<RequiredConfigProperty> requiredConfigProperty;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public String getActivationSpecClass() {
+        return activationSpecClass;
+    }
+
+    public void setActivationSpecClass(String value) {
+        this.activationSpecClass = value;
+    }
+
+    public List<RequiredConfigProperty> getRequiredConfigProperty() {
+        if (requiredConfigProperty == null) {
+            requiredConfigProperty = new ArrayList<RequiredConfigProperty>();
+        }
+        return this.requiredConfigProperty;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AdminObject.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AdminObject.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AdminObject.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AdminObject.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The adminobjectType specifies information about an
+ * administered object.  Administered objects are specific to a
+ * messaging style or message provider.  This contains
+ * information on the Java type of the interface implemented by
+ * an administered object, its Java class name and its
+ * configuration properties.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "adminobjectType", propOrder = {
+        "adminObjectInterface",
+        "adminObjectClass",
+        "configProperty"
+})
+public class AdminObject {
+
+    @XmlElement(name = "adminobject-interface", required = true)
+    protected String adminObjectInterface;
+    @XmlElement(name = "adminobject-class", required = true)
+    protected String adminObjectClass;
+    @XmlElement(name = "config-property")
+    protected List<ConfigProperty> configProperty;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public String getAdminObjectInterface() {
+        return adminObjectInterface;
+    }
+
+    public void setAdminObjectInterface(String value) {
+        this.adminObjectInterface = value;
+    }
+
+    public String getAdminObjectClass() {
+        return adminObjectClass;
+    }
+
+    public void setAdminObjectClass(String value) {
+        this.adminObjectClass = value;
+    }
+
+    public List<ConfigProperty> getConfigProperty() {
+        if (configProperty == null) {
+            configProperty = new ArrayList<ConfigProperty>();
+        }
+        return this.configProperty;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AuthenticationMechanism.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AuthenticationMechanism.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AuthenticationMechanism.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/AuthenticationMechanism.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,93 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The authentication-mechanismType specifies an authentication
+ * mechanism supported by the resource adapter. Note that this
+ * support is for the resource adapter and not for the
+ * underlying EIS instance. The optional description specifies
+ * any resource adapter specific requirement for the support of
+ * security contract and authentication mechanism.
+ * <p/>
+ * Note that BasicPassword mechanism type should support the
+ * javax.resource.spi.security.PasswordCredential interface.
+ * The Kerbv5 mechanism type should support the
+ * org.ietf.jgss.GSSCredential interface or the deprecated
+ * javax.resource.spi.security.GenericCredential interface.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "authentication-mechanismType", propOrder = {
+    "description",
+    "authenticationMechanismType",
+    "credentialInterface"
+})
+public class AuthenticationMechanism {
+
+    protected List<Text> description;
+    @XmlElement(name = "authentication-mechanism-type", required = true)
+    protected String authenticationMechanismType;
+    @XmlElement(name = "credential-interface", required = true)
+    protected String credentialInterface;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<Text> getDescription() {
+        if (description == null) {
+            description = new ArrayList<Text>();
+        }
+        return this.description;
+    }
+
+    public String getAuthenticationMechanismType() {
+        return authenticationMechanismType;
+    }
+
+    public void setAuthenticationMechanismType(String value) {
+        this.authenticationMechanismType = value;
+    }
+
+    public String getCredentialInterface() {
+        return credentialInterface;
+    }
+
+    public void setCredentialInterface(String value) {
+        this.credentialInterface = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConfigProperty.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConfigProperty.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConfigProperty.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConfigProperty.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,104 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The config-propertyType contains a declaration of a single
+ * configuration property that may be used for providing
+ * configuration information.
+ * <p/>
+ * The declaration consists of an optional description, name,
+ * type and an optional value of the configuration property. If
+ * the resource adapter provider does not specify a value than
+ * the deployer is responsible for providing a valid value for
+ * a configuration property.
+ * <p/>
+ * Any bounds or well-defined values of properties should be
+ * described in the description element.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "config-propertyType", propOrder = {
+        "description",
+        "configPropertyName",
+        "configPropertyType",
+        "configPropertyValue"
+})
+public class ConfigProperty {
+
+    protected List<Text> description;
+    @XmlElement(name = "config-property-name", required = true)
+    protected String configPropertyName;
+    @XmlElement(name = "config-property-type", required = true)
+    protected String configPropertyType;
+    @XmlElement(name = "config-property-value")
+    protected String configPropertyValue;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<Text> getDescription() {
+        if (description == null) {
+            description = new ArrayList<Text>();
+        }
+        return this.description;
+    }
+
+    public String getConfigPropertyName() {
+        return configPropertyName;
+    }
+
+    public void setConfigPropertyName(String value) {
+        this.configPropertyName = value;
+    }
+
+    public String getConfigPropertyType() {
+        return configPropertyType;
+    }
+
+    public void setConfigPropertyType(String value) {
+        this.configPropertyType = value;
+    }
+
+    public String getConfigPropertyValue() {
+        return configPropertyValue;
+    }
+
+    public void setConfigPropertyValue(String value) {
+        this.configPropertyValue = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConnectionDefinition.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConnectionDefinition.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConnectionDefinition.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ConnectionDefinition.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,120 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The connection-definitionType defines a set of connection
+ * interfaces and classes pertaining to a particular connection
+ * type. This also includes configurable properties for
+ * ManagedConnectionFactory instances that may be produced out
+ * of this set.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "connection-definitionType", propOrder = {
+        "managedConnectionFactoryClass",
+        "configProperty",
+        "connectionFactoryInterface",
+        "connectionFactoryImplClass",
+        "connectionInterface",
+        "connectionImplClass"
+})
+public class ConnectionDefinition {
+
+    @XmlElement(name = "managedconnectionfactory-class", required = true)
+    protected String managedConnectionFactoryClass;
+    @XmlElement(name = "config-property")
+    protected List<ConfigProperty> configProperty;
+    @XmlElement(name = "connectionfactory-interface", required = true)
+    protected String connectionFactoryInterface;
+    @XmlElement(name = "connectionfactory-impl-class", required = true)
+    protected String connectionFactoryImplClass;
+    @XmlElement(name = "connection-interface", required = true)
+    protected String connectionInterface;
+    @XmlElement(name = "connection-impl-class", required = true)
+    protected String connectionImplClass;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public String getManagedConnectionFactoryClass() {
+        return managedConnectionFactoryClass;
+    }
+
+    public void setManagedConnectionFactoryClass(String value) {
+        this.managedConnectionFactoryClass = value;
+    }
+
+    public List<ConfigProperty> getConfigProperty() {
+        if (configProperty == null) {
+            configProperty = new ArrayList<ConfigProperty>();
+        }
+        return this.configProperty;
+    }
+
+    public String getConnectionFactoryInterface() {
+        return connectionFactoryInterface;
+    }
+
+    public void setConnectionFactoryInterface(String value) {
+        this.connectionFactoryInterface = value;
+    }
+
+    public String getConnectionFactoryImplClass() {
+        return connectionFactoryImplClass;
+    }
+
+    public void setConnectionFactoryImplClass(String value) {
+        this.connectionFactoryImplClass = value;
+    }
+
+    public String getConnectionInterface() {
+        return connectionInterface;
+    }
+
+    public void setConnectionInterface(String value) {
+        this.connectionInterface = value;
+    }
+
+    public String getConnectionImplClass() {
+        return connectionImplClass;
+    }
+
+    public void setConnectionImplClass(String value) {
+        this.connectionImplClass = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Connector.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Connector.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Connector.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/Connector.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,169 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The connectorType defines a resource adapter.
+ */
+@XmlRootElement(name = "connector")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "connectorType", propOrder = {
+        "descriptions",
+        "displayNames",
+        "icons",
+        "vendorName",
+        "eisType",
+        "resourceAdapterVersion",
+        "license",
+        "resourceAdapter"
+})
+public class Connector {
+
+    @XmlTransient
+    protected TextMap description = new TextMap();
+    @XmlTransient
+    protected TextMap displayName = new TextMap();
+    @XmlTransient
+    protected LocalList<String, Icon> icon = new LocalList<String, Icon>(Icon.class);
+
+    @XmlElement(name = "vendor-name", required = true)
+    protected String vendorName;
+    @XmlElement(name = "eis-type", required = true)
+    protected String eisType;
+    @XmlElement(name = "resourceadapter-version", required = true)
+    protected String resourceAdapterVersion;
+    protected License license;
+    @XmlElement(name = "resourceadapter", required = true)
+    protected ResourceAdapter resourceAdapter;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+    @XmlAttribute(required = true)
+    protected String version;
+
+    @XmlElement(name = "description", required = true)
+    public Text[] getDescriptions() {
+        return description.toArray();
+    }
+
+    public void setDescriptions(Text[] text) {
+        description.set(text);
+    }
+
+    public String getDescription() {
+        return description.get();
+    }
+
+    @XmlElement(name = "display-name", required = true)
+    public Text[] getDisplayNames() {
+        return displayName.toArray();
+    }
+
+    public void setDisplayNames(Text[] text) {
+        displayName.set(text);
+    }
+
+    public String getDisplayName() {
+        return displayName.get();
+    }
+
+    @XmlElement(name = "icon", required = true)
+    public Icon[] getIcons() {
+        return icon.toArray();
+    }
+
+    public void setIcons(Icon[] text) {
+        icon.set(text);
+    }
+
+    public Icon getIcon() {
+        return icon.getLocal();
+    }
+
+    public String getVendorName() {
+        return vendorName;
+    }
+
+    public void setVendorName(String value) {
+        this.vendorName = value;
+    }
+
+    public String getEisType() {
+        return eisType;
+    }
+
+    public void setEisType(String value) {
+        this.eisType = value;
+    }
+
+    public String getResourceAdapterVersion() {
+        return resourceAdapterVersion;
+    }
+
+    public void setResourceAdapterVersion(String value) {
+        this.resourceAdapterVersion = value;
+    }
+
+    public License getLicense() {
+        return license;
+    }
+
+    public void setLicense(License value) {
+        this.license = value;
+    }
+
+    public ResourceAdapter getResourceAdapter() {
+        return resourceAdapter;
+    }
+
+    public void setResourceAdapter(ResourceAdapter value) {
+        this.resourceAdapter = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    public String getVersion() {
+        if (version == null) {
+            return "1.5";
+        } else {
+            return version;
+        }
+    }
+
+    public void setVersion(String value) {
+        this.version = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/InboundResource.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/InboundResource.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/InboundResource.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/InboundResource.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,63 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The inbound-resourceadapterType specifies information
+ * about an inbound resource adapter. This contains information
+ * specific to the implementation of the resource adapter
+ * library as specified through the messageadapter element.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "inbound-resourceadapterType", propOrder = {
+        "messageAdapter"
+})
+public class InboundResource {
+
+    @XmlElement(name = "messageadapter")
+    protected MessageAdapter messageAdapter;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public MessageAdapter getMessageAdapter() {
+        return messageAdapter;
+    }
+
+    public void setMessageAdapter(MessageAdapter value) {
+        this.messageAdapter = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/License.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/License.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/License.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/License.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,82 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The licenseType specifies licensing requirements for the
+ * resource adapter module. This type specifies whether a
+ * license is required to deploy and use this resource adapter,
+ * and an optional description of the licensing terms
+ * (examples: duration of license, number of connection
+ * restrictions). It is used by the license element.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "licenseType", propOrder = {
+        "description",
+        "licenseRequired"
+})
+public class License {
+
+    protected List<Text> description;
+    @XmlElement(name = "license-required")
+    protected boolean licenseRequired;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<Text> getDescription() {
+        if (description == null) {
+            description = new ArrayList<Text>();
+        }
+        return this.description;
+    }
+
+    /**
+     * Gets the value of the licenseRequired property.
+     */
+    public boolean isLicenseRequired() {
+        return licenseRequired;
+    }
+
+    /**
+     * Sets the value of the licenseRequired property.
+     */
+    public void setLicenseRequired(boolean value) {
+        this.licenseRequired = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageAdapter.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageAdapter.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageAdapter.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageAdapter.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,65 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The messageadapterType specifies information about the
+ * messaging capabilities of the resource adapter. This
+ * contains information specific to the implementation of the
+ * resource adapter library as specified through the
+ * messagelistener element.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "messageadapterType", propOrder = {
+        "messageListener"
+})
+public class MessageAdapter {
+
+    @XmlElement(name = "messagelistener", required = true)
+    protected List<MessageListener> messageListener;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<MessageListener> getMessageListener() {
+        if (messageListener == null) {
+            messageListener = new ArrayList<MessageListener>();
+        }
+        return this.messageListener;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageListener.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageListener.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageListener.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/MessageListener.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,75 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+/**
+ * The messagelistenerType specifies information about a
+ * specific message listener supported by the messaging
+ * resource adapter. It contains information on the Java type
+ * of the message listener interface and an activation
+ * specification.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "messagelistenerType", propOrder = {
+        "messageListenerType",
+        "activationSpec"
+})
+public class MessageListener {
+
+    @XmlElement(name = "messagelistener-type", required = true)
+    protected String messageListenerType;
+    @XmlElement(name = "activationspec", required = true)
+    protected ActivationSpec activationSpec;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public String getMessageListenerType() {
+        return messageListenerType;
+    }
+
+    public void setMessageListenerType(String value) {
+        this.messageListenerType = value;
+    }
+
+    public ActivationSpec getActivationSpec() {
+        return activationSpec;
+    }
+
+    public void setActivationSpec(ActivationSpec value) {
+        this.activationSpec = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Modified: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ObjectFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ObjectFactory.java?rev=575836&r1=575835&r2=575836&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ObjectFactory.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ObjectFactory.java Fri Sep 14 17:39:26 2007
@@ -48,6 +48,7 @@
     private final static QName _EjbRelationTypeDescription_QNAME = new QName("http://java.sun.com/xml/ns/javaee", "description");
     private final static QName _WebResourceCollectionTypeHttpMethod_QNAME = new QName("http://java.sun.com/xml/ns/javaee", "http-method");
     private final static QName _WebApp_QNAME = new QName("http://java.sun.com/xml/ns/javaee", "web-app");
+    private final static QName _Connector_QNAME = new QName("http://java.sun.com/xml/ns/j2ee", "connector");
 
     /**
      * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.apache.openejb.jee2
@@ -106,4 +107,12 @@
         return new JAXBElement<WebApp>(_WebApp_QNAME, WebApp.class, null, value);
     }
 
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link Connector }{@code >}}
+     *
+     */
+    @XmlElementDecl(namespace = "http://java.sun.com/xml/ns/j2ee", name = "connector")
+    public JAXBElement<Connector> createConnector(Connector value) {
+        return new JAXBElement<Connector>(_Connector_QNAME, Connector.class, null, value);
+    }
 }

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/OutboundResourceAdapter.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/OutboundResourceAdapter.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/OutboundResourceAdapter.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/OutboundResourceAdapter.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,111 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The outbound-resourceadapterType specifies information about
+ * an outbound resource adapter. The information includes fully
+ * qualified names of classes/interfaces required as part of
+ * the connector architecture specified contracts for
+ * connection management, level of transaction support
+ * provided, one or more authentication mechanisms supported
+ * and additional required security permissions.
+ * <p/>
+ * If there is no authentication-mechanism specified as part of
+ * resource adapter element then the resource adapter does not
+ * support any standard security authentication mechanisms as
+ * part of security contract. The application server ignores
+ * the security part of the system contracts in this case.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "outbound-resourceadapterType", propOrder = {
+        "connectionDefinition",
+        "transactionSupport",
+        "authenticationMechanism",
+        "reauthenticationSupport"
+})
+public class OutboundResourceAdapter {
+
+    @XmlElement(name = "connection-definition", required = true)
+    protected List<ConnectionDefinition> connectionDefinition;
+    @XmlElement(name = "transaction-support", required = true)
+    protected TransactionSupportType transactionSupport;
+    @XmlElement(name = "authentication-mechanism")
+    protected List<AuthenticationMechanism> authenticationMechanism;
+    @XmlElement(name = "reauthentication-support")
+    protected boolean reauthenticationSupport;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<ConnectionDefinition> getConnectionDefinition() {
+        if (connectionDefinition == null) {
+            connectionDefinition = new ArrayList<ConnectionDefinition>();
+        }
+        return this.connectionDefinition;
+    }
+
+    public TransactionSupportType getTransactionSupport() {
+        return transactionSupport;
+    }
+
+    public void setTransactionSupport(TransactionSupportType value) {
+        this.transactionSupport = value;
+    }
+
+    public List<AuthenticationMechanism> getAuthenticationMechanism() {
+        if (authenticationMechanism == null) {
+            authenticationMechanism = new ArrayList<AuthenticationMechanism>();
+        }
+        return this.authenticationMechanism;
+    }
+
+    /**
+     * Gets the value of the reauthenticationSupport property.
+     */
+    public boolean isReauthenticationSupport() {
+        return reauthenticationSupport;
+    }
+
+    /**
+     * Sets the value of the reauthenticationSupport property.
+     */
+    public void setReauthenticationSupport(boolean value) {
+        this.reauthenticationSupport = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/RequiredConfigProperty.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/RequiredConfigProperty.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/RequiredConfigProperty.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/RequiredConfigProperty.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,78 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The required-config-propertyType contains a declaration
+ * of a single configuration property used for specifying a
+ * required configuration property name. It is used
+ * by required-config-property elements.
+ * <p/>
+ * Example:
+ * <p/>
+ * <required-config-property>Destination</required-config-property>
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "required-config-propertyType", propOrder = {
+        "description",
+        "configPropertyName"
+})
+public class RequiredConfigProperty {
+
+    protected List<Text> description;
+    @XmlElement(name = "config-property-name", required = true)
+    protected String configPropertyName;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<Text> getDescription() {
+        if (description == null) {
+            description = new ArrayList<Text>();
+        }
+        return this.description;
+    }
+
+    public String getConfigPropertyName() {
+        return configPropertyName;
+    }
+
+    public void setConfigPropertyName(String value) {
+        this.configPropertyName = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ResourceAdapter.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ResourceAdapter.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ResourceAdapter.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/ResourceAdapter.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,120 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The resourceadapterType specifies information about the
+ * resource adapter. The information includes fully qualified
+ * resource adapter Java class name, configuration properties,
+ * information specific to the implementation of the resource
+ * adapter library as specified through the
+ * outbound-resourceadapter and inbound-resourceadapter
+ * elements, and an optional set of administered objects.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "resourceadapterType", propOrder = {
+    "resourceAdapterClass",
+    "configProperty",
+    "outboundResourceAdapter",
+    "inboundResourceAdapter",
+    "adminObject",
+    "securityPermission"
+})
+public class ResourceAdapter {
+
+    @XmlElement(name = "resourceadapter-class")
+    protected String resourceAdapterClass;
+    @XmlElement(name = "config-property")
+    protected List<ConfigProperty> configProperty;
+    @XmlElement(name = "outbound-resourceadapter")
+    protected OutboundResourceAdapter outboundResourceAdapter;
+    @XmlElement(name = "inbound-resourceadapter")
+    protected InboundResource inboundResourceAdapter;
+    @XmlElement(name = "adminobject")
+    protected List<AdminObject> adminObject;
+    @XmlElement(name = "security-permission")
+    protected List<SecurityPermission> securityPermission;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public String getResourceAdapterClass() {
+        return resourceAdapterClass;
+    }
+
+    public void setResourceAdapterClass(String value) {
+        this.resourceAdapterClass = value;
+    }
+
+    public List<ConfigProperty> getConfigProperty() {
+        if (configProperty == null) {
+            configProperty = new ArrayList<ConfigProperty>();
+        }
+        return this.configProperty;
+    }
+
+    public OutboundResourceAdapter getOutboundResourceAdapter() {
+        return outboundResourceAdapter;
+    }
+
+    public void setOutboundResourceAdapter(OutboundResourceAdapter value) {
+        this.outboundResourceAdapter = value;
+    }
+
+    public InboundResource getInboundResourceAdapter() {
+        return inboundResourceAdapter;
+    }
+
+    public void setInboundResourceAdapter(InboundResource value) {
+        this.inboundResourceAdapter = value;
+    }
+
+    public List<AdminObject> getAdminObject() {
+        if (adminObject == null) {
+            adminObject = new ArrayList<AdminObject>();
+        }
+        return this.adminObject;
+    }
+
+    public List<SecurityPermission> getSecurityPermission() {
+        if (securityPermission == null) {
+            securityPermission = new ArrayList<SecurityPermission>();
+        }
+        return this.securityPermission;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SecurityPermission.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SecurityPermission.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SecurityPermission.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/SecurityPermission.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,79 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The security-permissionType specifies a security
+ * permission that is required by the resource adapter code.
+ * <p/>
+ * The security permission listed in the deployment descriptor
+ * are ones that are different from those required by the
+ * default permission set as specified in the connector
+ * specification. The optional description can mention specific
+ * reason that resource adapter requires a given security
+ * permission.
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "security-permissionType", propOrder = {
+        "description",
+        "securityPermissionSpec"
+})
+public class SecurityPermission {
+
+    protected List<Text> description;
+    @XmlElement(name = "security-permission-spec", required = true)
+    protected String securityPermissionSpec;
+    @XmlAttribute
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    protected String id;
+
+    public List<Text> getDescription() {
+        if (description == null) {
+            description = new ArrayList<Text>();
+        }
+        return this.description;
+    }
+
+    public String getSecurityPermissionSpec() {
+        return securityPermissionSpec;
+    }
+
+    public void setSecurityPermissionSpec(String value) {
+        this.securityPermissionSpec = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/TransactionSupportType.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/TransactionSupportType.java?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/TransactionSupportType.java (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/TransactionSupportType.java Fri Sep 14 17:39:26 2007
@@ -0,0 +1,50 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.jee;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+
+@XmlEnum
+public enum TransactionSupportType {
+
+    @XmlEnumValue("NoTransaction")
+    NO_TRANSACTION("NoTransaction"),
+    @XmlEnumValue("LocalTransaction")
+    LOCAL_TRANSACTION("LocalTransaction"),
+    @XmlEnumValue("XATransaction")
+    XA_TRANSACTION("XATransaction");
+    private final String value;
+
+    TransactionSupportType(String v) {
+        value = v;
+    }
+
+    public String value() {
+        return value;
+    }
+
+    public static TransactionSupportType fromValue(String v) {
+        for (TransactionSupportType c : TransactionSupportType.values()) {
+            if (c.value.equals(v)) {
+                return c;
+            }
+        }
+        throw new IllegalArgumentException(v.toString());
+    }
+
+}

Modified: openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java?rev=575836&r1=575835&r2=575836&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-jee/src/test/java/org/apache/openejb/jee/JeeTest.java Fri Sep 14 17:39:26 2007
@@ -55,6 +55,10 @@
         marshalAndUnmarshal(WebApp.class, "web-example.xml");
     }
 
+    public void testRar() throws Exception {
+        marshalAndUnmarshal(Connector.class, "connector-example.xml");
+    }
+
     private <T> void marshalAndUnmarshal(Class<T> type, String xmlFileName) throws JAXBException, IOException {
         JAXBContext ctx = JAXBContext.newInstance(type);
         Unmarshaller unmarshaller = ctx.createUnmarshaller();

Added: openejb/trunk/openejb3/container/openejb-jee/src/test/resources/connector-example.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-jee/src/test/resources/connector-example.xml?rev=575836&view=auto
==============================================================================
--- openejb/trunk/openejb3/container/openejb-jee/src/test/resources/connector-example.xml (added)
+++ openejb/trunk/openejb3/container/openejb-jee/src/test/resources/connector-example.xml Fri Sep 14 17:39:26 2007
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<connector xmlns="http://java.sun.com/xml/ns/javaee" version="1.5" id="ID001">
+    <description xml:lang="">description0</description>
+    <display-name xml:lang="en-US">display-name0</display-name>
+    <icon xml:lang="" id="ID007">
+        <small-icon>small-icon0</small-icon>
+        <large-icon>large-icon0</large-icon>
+    </icon>
+    <vendor-name>vendor-name0</vendor-name>
+    <eis-type>eis-type0</eis-type>
+    <resourceadapter-version>resourceadapter-version0</resourceadapter-version>
+    <license id="ID019">
+        <description xml:lang="" id="ID021">description1</description>
+        <license-required>true</license-required>
+    </license>
+    <resourceadapter id="ID025">
+        <resourceadapter-class>resourceadapter-class0</resourceadapter-class>
+        <config-property id="ID029">
+            <description xml:lang="" id="ID031">description2</description>
+            <config-property-name>config-property-name0</config-property-name>
+            <config-property-type>java.lang.Boolean</config-property-type>
+            <config-property-value>config-property-value0</config-property-value>
+        </config-property>
+        <outbound-resourceadapter id="ID039">
+            <connection-definition id="ID041">
+                <managedconnectionfactory-class>managedconnectionfactory-class0</managedconnectionfactory-class>
+                <config-property id="ID045">
+                    <description xml:lang="en-US" id="ID047">description3</description>
+                    <config-property-name>config-property-name1</config-property-name>
+                    <config-property-type>java.lang.Boolean</config-property-type>
+                    <config-property-value>config-property-value1</config-property-value>
+                </config-property>
+                <connectionfactory-interface>connectionfactory-interface0</connectionfactory-interface>
+                <connectionfactory-impl-class>connectionfactory-impl-class0</connectionfactory-impl-class>
+                <connection-interface>connection-interface0</connection-interface>
+                <connection-impl-class>connection-impl-class0</connection-impl-class>
+            </connection-definition>
+            <connection-definition id="ID063">
+                <managedconnectionfactory-class>managedconnectionfactory-class1</managedconnectionfactory-class>
+                <config-property id="ID067">
+                    <description xml:lang="en-US" id="ID069">description4</description>
+                    <config-property-name>config-property-name2</config-property-name>
+                    <config-property-type>java.lang.Boolean</config-property-type>
+                    <config-property-value>config-property-value2</config-property-value>
+                </config-property>
+                <connectionfactory-interface>connectionfactory-interface1</connectionfactory-interface>
+                <connectionfactory-impl-class>connectionfactory-impl-class1</connectionfactory-impl-class>
+                <connection-interface>connection-interface1</connection-interface>
+                <connection-impl-class>connection-impl-class1</connection-impl-class>
+            </connection-definition>
+            <connection-definition id="ID085">
+                <managedconnectionfactory-class>managedconnectionfactory-class2</managedconnectionfactory-class>
+                <config-property id="ID089">
+                    <description xml:lang="en-US" id="ID091">description5</description>
+                    <config-property-name>config-property-name3</config-property-name>
+                    <config-property-type>java.lang.Boolean</config-property-type>
+                    <config-property-value>config-property-value3</config-property-value>
+                </config-property>
+                <connectionfactory-interface>connectionfactory-interface2</connectionfactory-interface>
+                <connectionfactory-impl-class>connectionfactory-impl-class2</connectionfactory-impl-class>
+                <connection-interface>connection-interface2</connection-interface>
+                <connection-impl-class>connection-impl-class2</connection-impl-class>
+            </connection-definition>
+            <transaction-support>NoTransaction</transaction-support>
+            <authentication-mechanism id="ID109">
+                <description xml:lang="en-US" id="ID111">description6</description>
+                <authentication-mechanism-type>authentication-mechanism-type0</authentication-mechanism-type>
+                <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+            </authentication-mechanism>
+            <reauthentication-support>true</reauthentication-support>
+        </outbound-resourceadapter>
+        <inbound-resourceadapter id="ID119">
+            <messageadapter id="ID121">
+                <messagelistener id="ID123">
+                    <messagelistener-type>messagelistener-type0</messagelistener-type>
+                    <activationspec id="ID127">
+                        <activationspec-class>activationspec-class0</activationspec-class>
+                        <required-config-property id="ID131">
+                            <description xml:lang="en-US" id="ID133">description7</description>
+                            <config-property-name>config-property-name4</config-property-name>
+                        </required-config-property>
+                    </activationspec>
+                </messagelistener>
+                <messagelistener id="ID137">
+                    <messagelistener-type>messagelistener-type1</messagelistener-type>
+                    <activationspec id="ID141">
+                        <activationspec-class>activationspec-class1</activationspec-class>
+                        <required-config-property id="ID145">
+                            <description xml:lang="" id="ID147">description8</description>
+                            <config-property-name>config-property-name5</config-property-name>
+                        </required-config-property>
+                    </activationspec>
+                </messagelistener>
+                <messagelistener id="ID151">
+                    <messagelistener-type>messagelistener-type2</messagelistener-type>
+                    <activationspec id="ID155">
+                        <activationspec-class>activationspec-class2</activationspec-class>
+                        <required-config-property id="ID159">
+                            <description xml:lang="" id="ID161">description9</description>
+                            <config-property-name>config-property-name6</config-property-name>
+                        </required-config-property>
+                    </activationspec>
+                </messagelistener>
+            </messageadapter>
+        </inbound-resourceadapter>
+        <adminobject id="ID165">
+            <adminobject-interface>adminobject-interface0</adminobject-interface>
+            <adminobject-class>adminobject-class0</adminobject-class>
+            <config-property id="ID171">
+                <description xml:lang="" id="ID173">description10</description>
+                <config-property-name>config-property-name7</config-property-name>
+                <config-property-type>java.lang.Boolean</config-property-type>
+                <config-property-value>config-property-value4</config-property-value>
+            </config-property>
+        </adminobject>
+        <security-permission id="ID181">
+            <description xml:lang="" id="ID183">description11</description>
+            <security-permission-spec>security-permission-spec0</security-permission-spec>
+        </security-permission>
+    </resourceadapter>
+</connector>