djencks 2004/10/27 21:56:11
Modified: modules/core/src/schema geronimo-naming.xsd openejb-jar.xsd
Log:
GERONIMO-371, 393, 372. Refactor jsr-77 naming and restructure specification of ref
names to parallel jsr-77
Revision Changes Path
1.5 +73 -33 openejb/modules/core/src/schema/geronimo-naming.xsd
Index: geronimo-naming.xsd
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/schema/geronimo-naming.xsd,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- geronimo-naming.xsd 12 Oct 2004 03:08:25 -0000 1.4
+++ geronimo-naming.xsd 28 Oct 2004 01:56:11 -0000 1.5
@@ -38,16 +38,12 @@
temporary (I hope) individual elements while xmlbeans group handling is
straightened out
-->
- <xsd:element name="ejb-ref"
- type="gernaming:remote-refType"/>
- <xsd:element name="ejb-local-ref"
- type="gernaming:local-refType"/>
+ <xsd:element name="ejb-ref" type="gernaming:ejb-refType"/>
+ <xsd:element name="ejb-local-ref" type="gernaming:ejb-local-refType"/>
<!-- leave web services out until I know what they do -->
<!--xsd:group ref="service-refGroup"/-->
- <xsd:element name="resource-ref"
- type="gernaming:local-refType"/>
- <xsd:element name="resource-env-ref"
- type="gernaming:local-refType"/>
+ <xsd:element name="resource-ref" type="gernaming:resource-refType"/>
+ <xsd:element name="resource-env-ref" type="gernaming:resource-env-refType"/>
<xsd:group name="jndiEnvironmentRefsGroup">
<xsd:annotation>
@@ -59,51 +55,95 @@
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
- <xsd:element name="ejb-ref"
- type="gernaming:remote-refType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="ejb-local-ref"
- type="gernaming:local-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ejb-ref" type="gernaming:ejb-refType" minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="ejb-local-ref" type="gernaming:ejb-local-refType"
minOccurs="0" maxOccurs="unbounded"/>
<!-- leave web services out until I know what they do -->
<!--xsd:group ref="service-refGroup"/-->
- <xsd:element name="resource-ref"
- type="gernaming:local-refType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="resource-env-ref"
- type="gernaming:local-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="resource-ref" type="gernaming:resource-refType"
minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="resource-env-ref"
type="gernaming:resource-env-refType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:group>
- <xsd:complexType name="remote-refType">
+ <!--target-name is the entire object name of the gbean to get the bound object
from by calling $getResource-->
+ <!--ejb-link acts like ejb-link in spec descriptors-->
+ <!--resource-link contains the name of the outbound-connectionfactory-instance
-->
+ <!--message-destination-link acts like message-destination-link in spec
descriptors-->
+ <!--url in resource-ref contains the url for URL typed resource refs-->
+ <!--Possibly the external-uri element should be revived to connect to other
naming systems-->
+ <!--when server to server communication exists we will need an element in
ejb-ref to specify the geronimo server
+ we wish to talk to. It might be possible to use the objectName server element
for this depending on what we decide it means-->
+ <!--otherwise you can supply the entire object name using the objectNameGroup-->
+
+ <xsd:complexType name="ejb-refType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string"/>
<xsd:choice>
- <xsd:sequence>
- <xsd:element name="server" type="xsd:string" minOccurs="0"/>
- <xsd:element name="kernel-name" type="xsd:string"
minOccurs="0"/>
- <xsd:element name="target-name" type="xsd:string"/>
- </xsd:sequence>
- <xsd:element name="external-uri" type="xsd:string"/>
+ <xsd:group ref="gernaming:objectNameGroup"/>
<xsd:element name="ejb-link" type="xsd:string"/>
+ <xsd:element name="target-name" type="xsd:string"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
- <xsd:complexType name="local-refType">
+ <xsd:complexType name="ejb-local-refType">
<xsd:sequence>
<xsd:element name="ref-name" type="xsd:string"/>
<xsd:choice>
- <xsd:sequence>
- <xsd:element name="kernel-name" type="xsd:string"
minOccurs="0"/>
- <xsd:element name="target-name" type="xsd:string"/>
- </xsd:sequence>
- <xsd:element name="external-uri" type="xsd:string"/>
+ <xsd:group ref="gernaming:objectNameGroup"/>
<xsd:element name="ejb-link" type="xsd:string"/>
+ <xsd:element name="target-name" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="resource-refType">
+ <xsd:sequence>
+ <xsd:element name="ref-name" type="xsd:string"/>
+ <xsd:choice>
+ <xsd:group ref="gernaming:objectNameGroup"/>
<xsd:element name="resource-link" type="xsd:string"/>
+ <xsd:element name="target-name" type="xsd:string"/>
+ <xsd:element name="url" type="xsd:string"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
+
+ <!--used by openejb cmp datasource specification -->
+ <xsd:element name="cmp-connection-factory"
type="gernaming:resource-locatorType"/>
+ <xsd:complexType name="resource-locatorType">
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:group ref="gernaming:objectNameGroup"/>
+ <xsd:element name="resource-link" type="xsd:string"/>
+ <xsd:element name="target-name" type="xsd:string"/>
+ <xsd:element name="url" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="resource-env-refType">
+ <xsd:sequence>
+ <xsd:element name="ref-name" type="xsd:string"/>
+ <xsd:choice>
+ <xsd:group ref="gernaming:objectNameGroup"/>
+ <xsd:element name="message-destination-link" type="xsd:string"/>
+ <xsd:element name="target-name" type="xsd:string"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:group name="objectNameGroup">
+ <xsd:annotation>
+ <xsd:documentation>This group contains the components of a jsr-77
object name</xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="domain" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="server" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="application" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="module" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="type" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="name" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:group>
</xsd:schema>
1.13 +22 -18 openejb/modules/core/src/schema/openejb-jar.xsd
Index: openejb-jar.xsd
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/schema/openejb-jar.xsd,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- openejb-jar.xsd 25 Oct 2004 14:24:33 -0000 1.12
+++ openejb-jar.xsd 28 Oct 2004 01:56:11 -0000 1.13
@@ -87,11 +87,12 @@
<xs:complexType name="openejb-jarType">
<xs:sequence>
<xs:element name="dependency" type="openejb:dependencyType"
minOccurs="0" maxOccurs="unbounded"/>
- <xs:element name="cmp-connection-factory" type="xs:string"
minOccurs="0" maxOccurs="1"/>
+ <!-- use a ref to put this element in the naming namespace rather than
openejb namespace-->
+ <xs:element ref="naming:cmp-connection-factory" minOccurs="0"/>
<xs:element name="enterprise-beans">
<xs:complexType>
- <xs:choice maxOccurs="unbounded">
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="session" type="openejb:session-beanType"/>
<xs:element name="entity" type="openejb:entity-beanType"/>
<xs:element name="message-driven"
type="openejb:message-driven-beanType"/>
@@ -108,6 +109,8 @@
<xs:attribute name="parentId" type="xs:string" use="optional"/>
</xs:complexType>
+
+ <!-- session bean section-->
<xs:complexType name="session-beanType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
@@ -120,6 +123,7 @@
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
+ <!--entity bean section -->
<xs:complexType name="entity-beanType">
<xs:sequence>
<xs:element name="ejb-name" type="xs:string"/>
@@ -178,22 +182,6 @@
</xs:sequence>
</xs:complexType>
- <xs:complexType name="message-driven-beanType">
- <xs:sequence>
- <xs:element name="ejb-name" type="xs:string"/>
-
- <xs:element name="resource-adapter-name" type="xs:string"/>
- <xs:element name="activation-spec-class" type="xs:string"/>
- <xs:element name="activation-config"
- type="openejb:activation-configType"
- minOccurs="0"/>
-
- <!--xs:group ref="naming:jndiEnvironmentRefsGroup"/-->
- <xs:group ref="openejb:openejb-jndiEnvironmentRefsGroup"/>
- </xs:sequence>
- <xs:attribute name="id" type="xs:ID"/>
- </xs:complexType>
-
<xs:complexType name="relationshipsType">
<xs:sequence>
<xs:element name="ejb-relation" type="openejb:ejb-relationType"
maxOccurs="unbounded"/>
@@ -241,6 +229,22 @@
</xs:complexType>
</xs:element>
</xs:sequence>
+ </xs:complexType>
+
+
+ <!--message driven bean section-->
+ <xs:complexType name="message-driven-beanType">
+ <xs:sequence>
+ <xs:element name="ejb-name" type="xs:string"/>
+ <xs:element ref="naming:resource-adapter" minOccurs="0"/>
+ <xs:element name="activation-config"
+ type="openejb:activation-configType"
+ minOccurs="0"/>
+
+ <!--xs:group ref="naming:jndiEnvironmentRefsGroup"/-->
+ <xs:group ref="openejb:openejb-jndiEnvironmentRefsGroup"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
<xs:complexType name="activation-configType">