You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2003/11/17 04:27:56 UTC
cvs commit: incubator-geronimo/modules/core/src/schema geronimo-ejb-jar.xsd
djencks 2003/11/16 19:27:56
Modified: modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/ejb
Entity.java
modules/core/src/java/org/apache/geronimo/xml/deployment
EjbJarLoader.java GeronimoEjbJarLoader.java
modules/core/src/schema geronimo-ejb-jar.xsd
Added: modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/ejb
Binding.java Query.java
Log:
add geronimo xml sql query binding functionality
Revision Changes Path
1.5 +18 -1 incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/ejb/Entity.java
Index: Entity.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/ejb/Entity.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Entity.java 29 Sep 2003 14:17:22 -0000 1.4
+++ Entity.java 17 Nov 2003 03:27:55 -0000 1.5
@@ -80,6 +80,7 @@
super.setResourceEnvRef(new ResourceEnvRef[0]);
super.setMessageDestinationRef(new MessageDestinationRef[0]);
super.setServiceRef(new ServiceRef[0]);
+ super.setQuery(new Query[0]);
}
public String getJndiName() {
@@ -270,5 +271,21 @@
public void setGeronimoServiceRef(int i, ServiceRef ref) {
super.setServiceRef(i, ref);
+ }
+
+ public void setGeronimoQuery(Query[] query) {
+ super.setQuery(query);
+ }
+
+ public Query[] getGeronimoQuery() {
+ return (Query[])super.getQuery();
+ }
+
+ public void setGeronimoQuery(int i, Query query) {
+ super.setQuery(i, query);
+ }
+
+ public Query getGeronimoQuery(int i) {
+ return (Query)super.getQuery(i);
}
}
1.1 incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/ejb/Binding.java
Index: Binding.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.deployment.model.geronimo.ejb;
/**
*
*
* @version $Revision: 1.1 $ $Date: 2003/11/17 03:27:55 $
*
* */
public class Binding {
private String type;
private int param;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getParam() {
return param;
}
public void setParam(int param) {
this.param = param;
}
}
1.1 incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/ejb/Query.java
Index: Query.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.deployment.model.geronimo.ejb;
/**
*
*
* @version $Revision: 1.1 $ $Date: 2003/11/17 03:27:55 $
*
* */
public class Query extends org.apache.geronimo.deployment.model.ejb.Query {
private String sql;
private Binding[] inputBinding;
private Binding outputBinding;
private String abstractSchemaName;
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public Binding[] getInputBinding() {
return inputBinding;
}
public void setInputBinding(Binding[] inputBinding) {
this.inputBinding = inputBinding;
}
public Binding getOutputBinding() {
return outputBinding;
}
public void setOutputBinding(Binding outputBinding) {
this.outputBinding = outputBinding;
}
public String getAbstractSchemaName() {
return abstractSchemaName;
}
public void setAbstractSchemaName(String abstractSchemaName) {
this.abstractSchemaName = abstractSchemaName;
}
}
1.10 +10 -5 incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/EjbJarLoader.java
Index: EjbJarLoader.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/EjbJarLoader.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- EjbJarLoader.java 1 Oct 2003 03:22:48 -0000 1.9
+++ EjbJarLoader.java 17 Nov 2003 03:27:56 -0000 1.10
@@ -308,12 +308,17 @@
Element[] roots = LoaderUtil.getChildren(parent, "query");
Query[] queries = new Query[roots.length];
for(int i = 0; i < roots.length; i++) {
- J2EELoader.loadDescribable(roots[i], queries[i]);
- queries[i].setEjbQl(LoaderUtil.getChildContent(roots[i], "ejb-ql"));
- queries[i].setResultTypeMapping(LoaderUtil.getChildContent(roots[i], "result-type-mapping"));
- queries[i].setQueryMethod(loadQueryMethod(roots[i]));
+ queries[i] = loadQuery(roots[i], new Query());
}
return queries;
+ }
+
+ static Query loadQuery(Element root, Query query) {
+ J2EELoader.loadDescribable(root, query);
+ query.setEjbQl(LoaderUtil.getChildContent(root, "ejb-ql"));
+ query.setResultTypeMapping(LoaderUtil.getChildContent(root, "result-type-mapping"));
+ query.setQueryMethod(loadQueryMethod(root));
+ return query;
}
private static QueryMethod loadQueryMethod(Element root) {
1.7 +37 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoEjbJarLoader.java
Index: GeronimoEjbJarLoader.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/xml/deployment/GeronimoEjbJarLoader.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- GeronimoEjbJarLoader.java 17 Nov 2003 02:03:16 -0000 1.6
+++ GeronimoEjbJarLoader.java 17 Nov 2003 03:27:56 -0000 1.7
@@ -63,6 +63,8 @@
import org.apache.geronimo.deployment.model.geronimo.ejb.MessageDriven;
import org.apache.geronimo.deployment.model.geronimo.ejb.Entity;
import org.apache.geronimo.deployment.model.geronimo.ejb.Session;
+import org.apache.geronimo.deployment.model.geronimo.ejb.Query;
+import org.apache.geronimo.deployment.model.geronimo.ejb.Binding;
import org.apache.geronimo.deployment.model.ejb.Ejb;
import org.apache.geronimo.deployment.model.ejb.Relationships;
import org.apache.geronimo.deployment.model.ejb.AssemblyDescriptor;
@@ -170,11 +172,44 @@
entities[i].setAbstractSchemaName(LoaderUtil.getChildContent(root, "abstract-schema-name"));
entities[i].setPrimkeyField(LoaderUtil.getChildContent(root, "primkey-field"));
entities[i].setCmpField(EjbJarLoader.loadCmpFields(root));
- entities[i].setQuery(EjbJarLoader.loadQueries(root));
+ entities[i].setQuery(GeronimoEjbJarLoader.loadQueries(root));
entities[i].setJndiName(LoaderUtil.getChildContent(root, "jndi-name"));
}
return entities;
}
+
+ static Query[] loadQueries(Element parent) {
+ Element[] roots = LoaderUtil.getChildren(parent, "query");
+ Query[] queries = new Query[roots.length];
+ for(int i = 0; i < roots.length; i++) {
+ Element root = roots[i];
+ Query query = (Query) EjbJarLoader.loadQuery(root, new Query());
+ query.setSql(LoaderUtil.getChildContent(root, "sql"));
+ query.setInputBinding(loadInputBinding(LoaderUtil.getChild(root, "input-binding")));
+ Element outputBinding = LoaderUtil.getChild(root, "output-binding");
+ query.setAbstractSchemaName(LoaderUtil.getChildContent(outputBinding, "abstract-schema-name"));
+ query.setOutputBinding(loadBinding(outputBinding));
+ queries[i] = query;
+ }
+ return queries;
+ }
+
+ private static Binding[] loadInputBinding(Element parent) {
+ Element[] roots = LoaderUtil.getChildren(parent, "binding");
+ Binding[] bindings = new Binding[roots.length];
+ for (int i = 0; i < bindings.length; i++) {
+ bindings[i] = loadBinding(roots[i]);
+ }
+ return bindings;
+ }
+
+ private static Binding loadBinding(Element root) {
+ Binding binding = new Binding();
+ binding.setType(LoaderUtil.getAttribute(root, "type"));
+ binding.setParam(Integer.parseInt(LoaderUtil.getChildContent(root, "param")));
+ return binding;
+ }
+
private static void loadEjb(Element root, Ejb bean) {
EjbJarLoader.loadEjb(root, bean);
1.7 +461 -465 incubator-geronimo/modules/core/src/schema/geronimo-ejb-jar.xsd
Index: geronimo-ejb-jar.xsd
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/schema/geronimo-ejb-jar.xsd,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- geronimo-ejb-jar.xsd 17 Nov 2003 02:03:16 -0000 1.6
+++ geronimo-ejb-jar.xsd 17 Nov 2003 03:27:56 -0000 1.7
@@ -1,469 +1,465 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://java.sun.com/xml/ns/j2ee" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
- <xsd:include schemaLocation="geronimo-j2ee.xsd"/>
- <xsd:element name="ejb-jar" type="j2ee:ejb-jarType">
- <xsd:key name="ejb-name-key">
- <xsd:selector xpath="j2ee:enterprise-beans/*"/>
- <xsd:field xpath="j2ee:ejb-name"/>
- </xsd:key>
- <xsd:keyref name="ejb-name-references" refer="j2ee:ejb-name-key">
- <xsd:selector xpath=".//j2ee:ejb-relationship-role/j2ee:relationship-role-source"/>
- <xsd:field xpath="j2ee:ejb-name"/>
- </xsd:keyref>
- <xsd:key name="role-name-key">
- <xsd:selector xpath="j2ee:assembly-descriptor/j2ee:security-role"/>
- <xsd:field xpath="j2ee:role-name"/>
- </xsd:key>
- <xsd:keyref name="role-name-references" refer="j2ee:role-name-key">
- <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role-ref"/>
- <xsd:field xpath="j2ee:role-link"/>
- </xsd:keyref>
- </xsd:element>
- <xsd:complexType name="activation-config-propertyType">
- <xsd:sequence>
- <xsd:element name="activation-config-property-name" type="j2ee:xsdStringType"/>
- <xsd:element name="activation-config-property-value" type="j2ee:xsdStringType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="activation-configType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="activation-config-property" type="j2ee:activation-config-propertyType" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="assembly-descriptorType">
- <xsd:sequence>
- <xsd:element name="security-role" type="j2ee:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="method-permission" type="j2ee:method-permissionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="container-transaction" type="j2ee:container-transactionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="message-destination" type="j2ee:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="exclude-list" type="j2ee:exclude-listType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="cmp-fieldType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="field-name" type="j2ee:java-identifierType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="cmp-versionType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="1.x"/>
- <xsd:enumeration value="2.x"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="cmr-field-typeType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="java.util.Collection"/>
- <xsd:enumeration value="java.util.Set"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="cmr-fieldType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="cmr-field-name" type="j2ee:string"/>
- <xsd:element name="cmr-field-type" type="j2ee:cmr-field-typeType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="container-transactionType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="method" type="j2ee:methodType" maxOccurs="unbounded"/>
- <xsd:element name="trans-attribute" type="j2ee:trans-attributeType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="ejb-classType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:fully-qualified-classType"/>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="ejb-jarType">
- <xsd:sequence>
- <xsd:element name="class-space" type="ger:class-spaceType"/>
- <xsd:group ref="j2ee:descriptionGroup"/>
- <xsd:element name="module-name" type="j2ee:string" minOccurs="0"/>
- <xsd:element name="datasource-name" type="j2ee:string"/>
- <xsd:element name="enterprise-beans" type="j2ee:enterprise-beansType"/>
- <xsd:element name="relationships" type="j2ee:relationshipsType" minOccurs="0">
- <xsd:unique name="relationship-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-relation"/>
- <xsd:field xpath="j2ee:ejb-relation-name"/>
- </xsd:unique>
- </xsd:element>
- <xsd:element name="assembly-descriptor" type="j2ee:assembly-descriptorType" minOccurs="0"/>
- <xsd:element name="ejb-client-jar" type="j2ee:pathType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="version" type="j2ee:dewey-versionType" use="required" fixed="2.1"/>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="ejb-nameType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:xsdNMTOKENType"/>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="ejb-relationType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="ejb-relation-name" type="j2ee:string" minOccurs="0"/>
- <xsd:element name="ejb-relationship-role" type="j2ee:ejb-relationship-roleType"/>
- <xsd:element name="ejb-relationship-role" type="j2ee:ejb-relationship-roleType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="ejb-relationship-roleType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="ejb-relationship-role-name" type="j2ee:string" minOccurs="0"/>
- <xsd:element name="multiplicity" type="j2ee:multiplicityType"/>
- <xsd:element name="cascade-delete" type="j2ee:emptyType" minOccurs="0"/>
- <xsd:element name="relationship-role-source" type="j2ee:relationship-role-sourceType"/>
- <xsd:element name="cmr-field" type="j2ee:cmr-fieldType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="enterprise-beansType">
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="session" type="j2ee:session-beanType">
- <xsd:unique name="session-ejb-local-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-local-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
- </xsd:unique>
- <xsd:unique name="session-ejb-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
- </xsd:unique>
- <xsd:unique name="session-resource-env-ref-uniqueness">
- <xsd:selector xpath="j2ee:resource-env-ref"/>
- <xsd:field xpath="j2ee:resource-env-ref-name"/>
- </xsd:unique>
- <xsd:unique name="session-message-destination-ref-uniqueness">
- <xsd:selector xpath="j2ee:message-destination-ref"/>
- <xsd:field xpath="j2ee:message-destination-ref-name"/>
- </xsd:unique>
- <xsd:unique name="session-res-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:resource-ref"/>
- <xsd:field xpath="j2ee:res-ref-name"/>
- </xsd:unique>
- <xsd:unique name="session-env-entry-name-uniqueness">
- <xsd:selector xpath="j2ee:env-entry"/>
- <xsd:field xpath="j2ee:env-entry-name"/>
- </xsd:unique>
- </xsd:element>
- <xsd:element name="entity" type="j2ee:entity-beanType">
- <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-local-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
- </xsd:unique>
- <xsd:unique name="entity-ejb-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
- </xsd:unique>
- <xsd:unique name="entity-resource-env-ref-uniqueness">
- <xsd:selector xpath="j2ee:resource-env-ref"/>
- <xsd:field xpath="j2ee:resource-env-ref-name"/>
- </xsd:unique>
- <xsd:unique name="entity-message-destination-ref-uniqueness">
- <xsd:selector xpath="j2ee:message-destination-ref"/>
- <xsd:field xpath="j2ee:message-destination-ref-name"/>
- </xsd:unique>
- <xsd:unique name="entity-res-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:resource-ref"/>
- <xsd:field xpath="j2ee:res-ref-name"/>
- </xsd:unique>
- <xsd:unique name="entity-env-entry-name-uniqueness">
- <xsd:selector xpath="j2ee:env-entry"/>
- <xsd:field xpath="j2ee:env-entry-name"/>
- </xsd:unique>
- </xsd:element>
- <xsd:element name="message-driven" type="j2ee:message-driven-beanType">
- <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-local-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
- </xsd:unique>
- <xsd:unique name="messaged-ejb-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:ejb-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
- </xsd:unique>
- <xsd:unique name="messaged-resource-env-ref-uniqueness">
- <xsd:selector xpath="j2ee:resource-env-ref"/>
- <xsd:field xpath="j2ee:resource-env-ref-name"/>
- </xsd:unique>
- <xsd:unique name="messaged-message-destination-ref-uniqueness">
- <xsd:selector xpath="j2ee:message-destination-ref"/>
- <xsd:field xpath="j2ee:message-destination-ref-name"/>
- </xsd:unique>
- <xsd:unique name="messaged-res-ref-name-uniqueness">
- <xsd:selector xpath="j2ee:resource-ref"/>
- <xsd:field xpath="j2ee:res-ref-name"/>
- </xsd:unique>
- <xsd:unique name="messaged-env-entry-name-uniqueness">
- <xsd:selector xpath="j2ee:env-entry"/>
- <xsd:field xpath="j2ee:env-entry-name"/>
- </xsd:unique>
- </xsd:element>
- </xsd:choice>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="entity-beanType">
- <xsd:sequence>
- <xsd:group ref="j2ee:descriptionGroup"/>
- <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
- <xsd:element name="home" type="j2ee:homeType" minOccurs="0"/>
- <xsd:element name="remote" type="j2ee:remoteType" minOccurs="0"/>
- <xsd:element name="local-home" type="j2ee:local-homeType" minOccurs="0"/>
- <xsd:element name="local" type="j2ee:localType" minOccurs="0"/>
- <xsd:element name="ejb-class" type="j2ee:ejb-classType"/>
- <xsd:element name="persistence-type" type="j2ee:persistence-typeType"/>
- <xsd:element name="prim-key-class" type="j2ee:fully-qualified-classType"/>
- <xsd:element name="reentrant" type="j2ee:true-falseType"/>
- <xsd:element name="cmp-version" type="j2ee:cmp-versionType" minOccurs="0"/>
- <xsd:element name="abstract-schema-name" type="j2ee:java-identifierType" minOccurs="0"/>
- <xsd:element name="cmp-field" type="j2ee:cmp-fieldType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="primkey-field" type="j2ee:string" minOccurs="0"/>
- <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
- <xsd:element name="security-role-ref" type="j2ee:security-role-refType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="security-identity" type="j2ee:security-identityType" minOccurs="0"/>
- <xsd:element name="query" type="j2ee:queryType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="jndi-name" type="xsd:string" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
- Actually, ejbs are located by the module name and ejb name.
+ <xsd:include schemaLocation="geronimo-j2ee.xsd"/>
+ <xsd:element name="ejb-jar" type="j2ee:ejb-jarType">
+ <xsd:key name="ejb-name-key">
+ <xsd:selector xpath="j2ee:enterprise-beans/*"/>
+ <xsd:field xpath="j2ee:ejb-name"/>
+ </xsd:key>
+ <xsd:keyref name="ejb-name-references" refer="j2ee:ejb-name-key">
+ <xsd:selector xpath=".//j2ee:ejb-relationship-role/j2ee:relationship-role-source"/>
+ <xsd:field xpath="j2ee:ejb-name"/>
+ </xsd:keyref>
+ <xsd:key name="role-name-key">
+ <xsd:selector xpath="j2ee:assembly-descriptor/j2ee:security-role"/>
+ <xsd:field xpath="j2ee:role-name"/>
+ </xsd:key>
+ <xsd:keyref name="role-name-references" refer="j2ee:role-name-key">
+ <xsd:selector xpath="j2ee:enterprise-beans/*/j2ee:security-role-ref"/>
+ <xsd:field xpath="j2ee:role-link"/>
+ </xsd:keyref>
+ </xsd:element>
+ <xsd:complexType name="activation-config-propertyType">
+ <xsd:sequence>
+ <xsd:element name="activation-config-property-name" type="j2ee:xsdStringType"/>
+ <xsd:element name="activation-config-property-value" type="j2ee:xsdStringType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="activation-configType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="activation-config-property" type="j2ee:activation-config-propertyType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="assembly-descriptorType">
+ <xsd:sequence>
+ <xsd:element name="security-role" type="j2ee:security-roleType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="method-permission" type="j2ee:method-permissionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="container-transaction" type="j2ee:container-transactionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="message-destination" type="j2ee:message-destinationType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="exclude-list" type="j2ee:exclude-listType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="cmp-fieldType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="field-name" type="j2ee:java-identifierType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="cmp-versionType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="1.x"/>
+ <xsd:enumeration value="2.x"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="cmr-field-typeType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="java.util.Collection"/>
+ <xsd:enumeration value="java.util.Set"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="cmr-fieldType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="cmr-field-name" type="j2ee:string"/>
+ <xsd:element name="cmr-field-type" type="j2ee:cmr-field-typeType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="container-transactionType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="method" type="j2ee:methodType" maxOccurs="unbounded"/>
+ <xsd:element name="trans-attribute" type="j2ee:trans-attributeType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="ejb-classType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:fully-qualified-classType"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="ejb-jarType">
+ <xsd:sequence>
+ <xsd:element name="class-space" type="ger:class-spaceType"/>
+ <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:element name="module-name" type="j2ee:string" minOccurs="0"/>
+ <xsd:element name="datasource-name" type="j2ee:string"/>
+ <xsd:element name="enterprise-beans" type="j2ee:enterprise-beansType"/>
+ <xsd:element name="relationships" type="j2ee:relationshipsType" minOccurs="0">
+ <xsd:unique name="relationship-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-relation"/>
+ <xsd:field xpath="j2ee:ejb-relation-name"/>
+ </xsd:unique>
+ </xsd:element>
+ <xsd:element name="assembly-descriptor" type="j2ee:assembly-descriptorType" minOccurs="0"/>
+ <xsd:element name="ejb-client-jar" type="j2ee:pathType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="j2ee:dewey-versionType" use="required" fixed="2.1"/>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="ejb-nameType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:xsdNMTOKENType"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="ejb-relationType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ejb-relation-name" type="j2ee:string" minOccurs="0"/>
+ <xsd:element name="ejb-relationship-role" type="j2ee:ejb-relationship-roleType"/>
+ <xsd:element name="ejb-relationship-role" type="j2ee:ejb-relationship-roleType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="ejb-relationship-roleType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ejb-relationship-role-name" type="j2ee:string" minOccurs="0"/>
+ <xsd:element name="multiplicity" type="j2ee:multiplicityType"/>
+ <xsd:element name="cascade-delete" type="j2ee:emptyType" minOccurs="0"/>
+ <xsd:element name="relationship-role-source" type="j2ee:relationship-role-sourceType"/>
+ <xsd:element name="cmr-field" type="j2ee:cmr-fieldType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="enterprise-beansType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="session" type="j2ee:session-beanType">
+ <xsd:unique name="session-ejb-local-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-local-ref"/>
+ <xsd:field xpath="j2ee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-ejb-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-ref"/>
+ <xsd:field xpath="j2ee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-resource-env-ref-uniqueness">
+ <xsd:selector xpath="j2ee:resource-env-ref"/>
+ <xsd:field xpath="j2ee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-message-destination-ref-uniqueness">
+ <xsd:selector xpath="j2ee:message-destination-ref"/>
+ <xsd:field xpath="j2ee:message-destination-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-res-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:resource-ref"/>
+ <xsd:field xpath="j2ee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-env-entry-name-uniqueness">
+ <xsd:selector xpath="j2ee:env-entry"/>
+ <xsd:field xpath="j2ee:env-entry-name"/>
+ </xsd:unique>
+ </xsd:element>
+ <xsd:element name="entity" type="j2ee:entity-beanType">
+ <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-local-ref"/>
+ <xsd:field xpath="j2ee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-ejb-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-ref"/>
+ <xsd:field xpath="j2ee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-resource-env-ref-uniqueness">
+ <xsd:selector xpath="j2ee:resource-env-ref"/>
+ <xsd:field xpath="j2ee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-message-destination-ref-uniqueness">
+ <xsd:selector xpath="j2ee:message-destination-ref"/>
+ <xsd:field xpath="j2ee:message-destination-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-res-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:resource-ref"/>
+ <xsd:field xpath="j2ee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-env-entry-name-uniqueness">
+ <xsd:selector xpath="j2ee:env-entry"/>
+ <xsd:field xpath="j2ee:env-entry-name"/>
+ </xsd:unique>
+ </xsd:element>
+ <xsd:element name="message-driven" type="j2ee:message-driven-beanType">
+ <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-local-ref"/>
+ <xsd:field xpath="j2ee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-ejb-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:ejb-ref"/>
+ <xsd:field xpath="j2ee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-resource-env-ref-uniqueness">
+ <xsd:selector xpath="j2ee:resource-env-ref"/>
+ <xsd:field xpath="j2ee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-message-destination-ref-uniqueness">
+ <xsd:selector xpath="j2ee:message-destination-ref"/>
+ <xsd:field xpath="j2ee:message-destination-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-res-ref-name-uniqueness">
+ <xsd:selector xpath="j2ee:resource-ref"/>
+ <xsd:field xpath="j2ee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-env-entry-name-uniqueness">
+ <xsd:selector xpath="j2ee:env-entry"/>
+ <xsd:field xpath="j2ee:env-entry-name"/>
+ </xsd:unique>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="entity-beanType">
+ <xsd:sequence>
+ <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
+ <xsd:element name="home" type="j2ee:homeType" minOccurs="0"/>
+ <xsd:element name="remote" type="j2ee:remoteType" minOccurs="0"/>
+ <xsd:element name="local-home" type="j2ee:local-homeType" minOccurs="0"/>
+ <xsd:element name="local" type="j2ee:localType" minOccurs="0"/>
+ <xsd:element name="ejb-class" type="j2ee:ejb-classType"/>
+ <xsd:element name="persistence-type" type="j2ee:persistence-typeType"/>
+ <xsd:element name="prim-key-class" type="j2ee:fully-qualified-classType"/>
+ <xsd:element name="reentrant" type="j2ee:true-falseType"/>
+ <xsd:element name="cmp-version" type="j2ee:cmp-versionType" minOccurs="0"/>
+ <xsd:element name="abstract-schema-name" type="j2ee:java-identifierType" minOccurs="0"/>
+ <xsd:element name="cmp-field" type="j2ee:cmp-fieldType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="primkey-field" type="j2ee:string" minOccurs="0"/>
+ <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
+ <xsd:element name="security-role-ref" type="j2ee:security-role-refType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="security-identity" type="j2ee:security-identityType" minOccurs="0"/>
+ <xsd:element name="query" type="j2ee:queryType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="jndi-name" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ Actually, ejbs are located by the module name and ejb name.
- The JNDI name controls where this EJB will appear in the application-wide JNDI
- space. Other application components that want to refer to this EJB can define
- EJB references and map them to this JNDI location.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="exclude-listType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="method" type="j2ee:methodType" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="java-typeType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:pattern value="[^\p{Z}]*"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="message-driven-beanType">
- <xsd:sequence>
- <xsd:group ref="j2ee:descriptionGroup"/>
- <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
- <xsd:element name="ejb-class" type="j2ee:ejb-classType"/>
- <xsd:element name="messaging-type" type="j2ee:fully-qualified-classType" minOccurs="0"/>
- <xsd:element name="transaction-type" type="j2ee:transaction-typeType"/>
- <xsd:element name="message-destination-type" type="j2ee:message-destination-typeType" minOccurs="0"/>
- <xsd:element name="message-destination-link" type="j2ee:message-destination-linkType" minOccurs="0"/>
- <xsd:element name="activation-config" type="j2ee:activation-configType" minOccurs="0"/>
- <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
- <xsd:element name="security-identity" type="j2ee:security-identityType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="method-intfType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="Home"/>
- <xsd:enumeration value="Remote"/>
- <xsd:enumeration value="LocalHome"/>
- <xsd:enumeration value="Local"/>
- <xsd:enumeration value="ServiceEndpoint"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="method-nameType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string"/>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="method-paramsType">
- <xsd:sequence>
- <xsd:element name="method-param" type="j2ee:java-typeType" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="method-permissionType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:choice>
- <xsd:element name="role-name" type="j2ee:role-nameType" maxOccurs="unbounded"/>
- <xsd:element name="unchecked" type="j2ee:emptyType"/>
- </xsd:choice>
- <xsd:element name="method" type="j2ee:methodType" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="methodType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
- <xsd:element name="method-intf" type="j2ee:method-intfType" minOccurs="0"/>
- <xsd:element name="method-name" type="j2ee:method-nameType"/>
- <xsd:element name="method-params" type="j2ee:method-paramsType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="multiplicityType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="One"/>
- <xsd:enumeration value="Many"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="persistence-typeType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="Bean"/>
- <xsd:enumeration value="Container"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="query-methodType">
- <xsd:sequence>
- <xsd:element name="method-name" type="j2ee:method-nameType"/>
- <xsd:element name="method-params" type="j2ee:method-paramsType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="queryType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0"/>
- <xsd:element name="query-method" type="j2ee:query-methodType"/>
- <xsd:element name="result-type-mapping" type="j2ee:result-type-mappingType" minOccurs="0"/>
- <xsd:element name="ejb-ql" type="j2ee:xsdStringType"/>
- <xsd:element name="sql" type="j2ee:xsdStringType"/>
- <xsd:element name="input-binding" type="ger:input-bindingType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="output-binding" type="ger:output-bindingType"
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <query>
- <query-method>
- <method-name>findAllCustomers</method-name>
- <method-params>
- <method-param>java.lang.Integer</method-param>
- <method-param>java.lang.String</method-param>
- </method-params>
- </query-method>
- <ejb-ql>Select OBJECT(a) From Customer a</ejb-ql>
- <ger:sql>SELECT ID FROM CUSTOMER</ger:sql>
- <ger:input-binding>
- <ger:binding type="o.o.n.persistence.jdbc.IntBinding" param="1"/>
- <ger:binding type="o.o.n.persistence.jdbc.StringBinding" param="2"/>
- </ger:input-binding>
- <ger:output-binding>
- <ger:abstract-schema-name>Customer</ger:abstract-schema-name>
- <ger:binding type="o.o.n.persistence.jdbc.StringBinding" param="1"/>
- </ger:output-binding>
- </query>
- <xsd:complexType name="relationship-role-sourceType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="relationshipsType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="ejb-relation" type="j2ee:ejb-relationType" maxOccurs="unbounded">
- <xsd:unique name="role-name-uniqueness">
- <xsd:selector xpath=".//j2ee:ejb-relationship-role-name"/>
- <xsd:field xpath="."/>
- </xsd:unique>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="result-type-mappingType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="Local"/>
- <xsd:enumeration value="Remote"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="security-identityType">
- <xsd:sequence>
- <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:choice>
- <xsd:element name="use-caller-identity" type="j2ee:emptyType"/>
- <xsd:element name="run-as" type="j2ee:run-asType"/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="session-beanType">
- <xsd:sequence>
- <xsd:group ref="j2ee:descriptionGroup"/>
- <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
- <xsd:element name="home" type="j2ee:homeType" minOccurs="0"/>
- <xsd:element name="remote" type="j2ee:remoteType" minOccurs="0"/>
- <xsd:element name="local-home" type="j2ee:local-homeType" minOccurs="0"/>
- <xsd:element name="local" type="j2ee:localType" minOccurs="0"/>
- <xsd:element name="service-endpoint" type="j2ee:fully-qualified-classType" minOccurs="0"/>
- <xsd:element name="ejb-class" type="j2ee:ejb-classType"/>
- <xsd:element name="session-type" type="j2ee:session-typeType"/>
- <xsd:element name="transaction-type" type="j2ee:transaction-typeType"/>
- <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
- <xsd:element name="security-role-ref" type="j2ee:security-role-refType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="security-identity" type="j2ee:security-identityType" minOccurs="0"/>
- <xsd:element name="jndi-name" type="xsd:string" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
- The JNDI name controls where this EJB will appear in the application-wide JNDI
- space. Other application components that want to refer to this EJB can define
- EJB references and map them to this JNDI location.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
- <xsd:complexType name="session-typeType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="Stateful"/>
- <xsd:enumeration value="Stateless"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="trans-attributeType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="NotSupported"/>
- <xsd:enumeration value="Supports"/>
- <xsd:enumeration value="Required"/>
- <xsd:enumeration value="RequiresNew"/>
- <xsd:enumeration value="Mandatory"/>
- <xsd:enumeration value="Never"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
- <xsd:complexType name="transaction-typeType">
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="Bean"/>
- <xsd:enumeration value="Container"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
+ The JNDI name controls where this EJB will appear in the application-wide JNDI
+ space. Other application components that want to refer to this EJB can define
+ EJB references and map them to this JNDI location.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="exclude-listType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="method" type="j2ee:methodType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="java-typeType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:pattern value="[^\p{Z}]*"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="message-driven-beanType">
+ <xsd:sequence>
+ <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
+ <xsd:element name="ejb-class" type="j2ee:ejb-classType"/>
+ <xsd:element name="messaging-type" type="j2ee:fully-qualified-classType" minOccurs="0"/>
+ <xsd:element name="transaction-type" type="j2ee:transaction-typeType"/>
+ <xsd:element name="message-destination-type" type="j2ee:message-destination-typeType" minOccurs="0"/>
+ <xsd:element name="message-destination-link" type="j2ee:message-destination-linkType" minOccurs="0"/>
+ <xsd:element name="activation-config" type="j2ee:activation-configType" minOccurs="0"/>
+ <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
+ <xsd:element name="security-identity" type="j2ee:security-identityType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="method-intfType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="Home"/>
+ <xsd:enumeration value="Remote"/>
+ <xsd:enumeration value="LocalHome"/>
+ <xsd:enumeration value="Local"/>
+ <xsd:enumeration value="ServiceEndpoint"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="method-nameType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="method-paramsType">
+ <xsd:sequence>
+ <xsd:element name="method-param" type="j2ee:java-typeType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="method-permissionType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:choice>
+ <xsd:element name="role-name" type="j2ee:role-nameType" maxOccurs="unbounded"/>
+ <xsd:element name="unchecked" type="j2ee:emptyType"/>
+ </xsd:choice>
+ <xsd:element name="method" type="j2ee:methodType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="methodType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
+ <xsd:element name="method-intf" type="j2ee:method-intfType" minOccurs="0"/>
+ <xsd:element name="method-name" type="j2ee:method-nameType"/>
+ <xsd:element name="method-params" type="j2ee:method-paramsType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="multiplicityType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="One"/>
+ <xsd:enumeration value="Many"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="persistence-typeType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="Bean"/>
+ <xsd:enumeration value="Container"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="query-methodType">
+ <xsd:sequence>
+ <xsd:element name="method-name" type="j2ee:method-nameType"/>
+ <xsd:element name="method-params" type="j2ee:method-paramsType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="queryType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0"/>
+ <xsd:element name="query-method" type="j2ee:query-methodType"/>
+ <xsd:element name="result-type-mapping" type="j2ee:result-type-mappingType" minOccurs="0"/>
+ <xsd:element name="ejb-ql" type="j2ee:xsdStringType"/>
+ <xsd:element name="sql" type="j2ee:xsdStringType"/>
+ <xsd:element name="input-binding" type="ger:input-bindingType"/>
+ <xsd:element name="output-binding" type="ger:output-bindingType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="input-bindingType">
+ <xsd:sequence>
+ <xsd:element name="binding" type="ger:bindingType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="output-bindingType">
+ <xsd:sequence>
+ <xsd:element name="abstract-schema-name" type="j2ee:java-identifierType"/>
+ <xsd:element name="binding" type="ger:bindingType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="bindingType">
+ <xsd:attribute name="type" type="j2ee:java-typeType"/>
+ <xsd:attribute name="param" type="xs:int"/>
+ </xsd:complexType>
+ <xsd:complexType name="relationship-role-sourceType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="relationshipsType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ejb-relation" type="j2ee:ejb-relationType" maxOccurs="unbounded">
+ <xsd:unique name="role-name-uniqueness">
+ <xsd:selector xpath=".//j2ee:ejb-relationship-role-name"/>
+ <xsd:field xpath="."/>
+ </xsd:unique>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="result-type-mappingType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="Local"/>
+ <xsd:enumeration value="Remote"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="security-identityType">
+ <xsd:sequence>
+ <xsd:element name="description" type="j2ee:descriptionType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:choice>
+ <xsd:element name="use-caller-identity" type="j2ee:emptyType"/>
+ <xsd:element name="run-as" type="j2ee:run-asType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="session-beanType">
+ <xsd:sequence>
+ <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:element name="ejb-name" type="j2ee:ejb-nameType"/>
+ <xsd:element name="home" type="j2ee:homeType" minOccurs="0"/>
+ <xsd:element name="remote" type="j2ee:remoteType" minOccurs="0"/>
+ <xsd:element name="local-home" type="j2ee:local-homeType" minOccurs="0"/>
+ <xsd:element name="local" type="j2ee:localType" minOccurs="0"/>
+ <xsd:element name="service-endpoint" type="j2ee:fully-qualified-classType" minOccurs="0"/>
+ <xsd:element name="ejb-class" type="j2ee:ejb-classType"/>
+ <xsd:element name="session-type" type="j2ee:session-typeType"/>
+ <xsd:element name="transaction-type" type="j2ee:transaction-typeType"/>
+ <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
+ <xsd:element name="security-role-ref" type="j2ee:security-role-refType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="security-identity" type="j2ee:security-identityType" minOccurs="0"/>
+ <xsd:element name="jndi-name" type="xsd:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ The JNDI name controls where this EJB will appear in the application-wide JNDI
+ space. Other application components that want to refer to this EJB can define
+ EJB references and map them to this JNDI location.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+ <xsd:complexType name="session-typeType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="Stateful"/>
+ <xsd:enumeration value="Stateless"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="trans-attributeType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="NotSupported"/>
+ <xsd:enumeration value="Supports"/>
+ <xsd:enumeration value="Required"/>
+ <xsd:enumeration value="RequiresNew"/>
+ <xsd:enumeration value="Mandatory"/>
+ <xsd:enumeration value="Never"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="transaction-typeType">
+ <xsd:simpleContent>
+ <xsd:restriction base="j2ee:string">
+ <xsd:enumeration value="Bean"/>
+ <xsd:enumeration value="Container"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
</xsd:schema>