You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/06/10 08:04:01 UTC

svn commit: r413256 [2/2] - in /incubator/tuscany/sandbox/jboynes/spec: ./ sca/ sca/src/ sca/src/main/ sca/src/main/java/ sca/src/main/java/org/ sca/src/main/java/org/osoa/ sca/src/main/java/org/osoa/sca/ sca/src/main/java/org/osoa/sca/annotations/ sca...

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Remotable.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Remotable.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Remotable.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Remotable.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,34 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations;
+
+import static java.lang.annotation.ElementType.TYPE;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation used to indicate a Java interface as remotable.
+ * Remotable interfaces use pass-by-value semantics, can be published as entry points
+ * and used for external services.
+ *
+ * @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri, 13 Jan 2006) $
+ */
+@Target(TYPE)
+@Retention(RUNTIME)
+public @interface Remotable {
+}

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Remotable.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Remotable.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,42 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations;
+
+import static java.lang.annotation.ElementType.TYPE;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation used to indicate a scoped service.
+ *
+ * @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri, 13 Jan 2006) $
+ */
+@Target(TYPE)
+@Retention(RUNTIME)
+public @interface Scope {
+    /**
+     * The name of the scope. Values currently defined by the specification are:
+     * <ul>
+     * <li>stateless (default)</li>
+     * <li>request</li>
+     * <li>session</li>
+     * <li>module</li>
+     * </ul>
+     */
+    String value() default "stateless";
+}

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Scope.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Service.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Service.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Service.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Service.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,41 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations;
+
+import static java.lang.annotation.ElementType.TYPE;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation used to indicate the service interfaces exposed by a Java class.
+ *
+ * @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri, 13 Jan 2006) $
+ */
+@Target({TYPE})
+@Retention(RUNTIME)
+public @interface Service {
+    /**
+     * Array of interfaces that should be exposed as services. 
+     */
+    Class<?>[] interfaces() default {};
+
+    /**
+     * Shortcut allowing a single interface to be exposed.
+     */
+    Class<?> value() default Void.class;
+}

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Service.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Service.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Session.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Session.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Session.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Session.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,49 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations;
+
+import static java.lang.annotation.ElementType.TYPE;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation used to indicate the characteristics of a session.
+ *
+ * @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri, 13 Jan 2006) $
+ */
+@Target(TYPE)
+@Retention(RUNTIME)
+public @interface Session {
+    /**
+     * The maximum time that can pass between operations in a single conversation.
+     * If this time is exceeded the container may end the conversation.
+     */
+    public String maxIdleTime() default "";
+
+    /**
+     * The maximum time that a conversation may remain active.
+     * If this time is exceeded the container may end the conversation.
+     */
+    public String maxAge() default "";
+
+    /**
+     * If true, indicates that only the user that initiated the conversation
+     * has the authority to continue it.
+     */
+    public boolean singlePrincipal() default false;
+}

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Session.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/Session.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/SessionID.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/SessionID.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/SessionID.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/SessionID.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,33 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation used to indicate a field or method that is used to inject the session ID.
+ *
+ * @version $Rev: 368822 $ $Date: 2006-01-13 10:54:38 -0800 (Fri, 13 Jan 2006) $
+ */
+@Target({METHOD, FIELD})
+@Retention(RUNTIME)
+public @interface SessionID {
+}

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/SessionID.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/java/org/osoa/sca/annotations/SessionID.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/META-INF/MANIFEST.MF?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/META-INF/MANIFEST.MF (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/META-INF/MANIFEST.MF Fri Jun  9 23:03:59 2006
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: SCA APIs
+Bundle-SymbolicName: org.apache.tuscany.sca.spec
+Bundle-Version: 1.0.0
+Bundle-Localization: plugin
+Bundle-Vendor: Apache
+Export-Package: org.osoa.sca, org.osoa.sca.annotations, org.osoa.sca.model

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-sca.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-sca.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-sca.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-sca.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ *  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
+		elementFormDefault="qualified">
+
+	<include schemaLocation="sca-core.xsd"/>
+
+	<element name="binding.sca" type="sca:SCABinding" substitutionGroup="sca:binding"/>
+	<complexType name="SCABinding">
+		<complexContent>
+			<extension base="sca:Binding">
+				<sequence>
+					<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>
+				<anyAttribute namespace="##any" processContents="lax"/>
+			</extension>
+		</complexContent>
+	</complexType>
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-sca.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-sca.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-webservice.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-webservice.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-webservice.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-webservice.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
+		elementFormDefault="qualified">
+
+	<include schemaLocation="sca-core.xsd"/>
+
+	<element name="binding.ws" type="sca:WebServiceBinding" substitutionGroup="sca:binding"/>
+	<complexType name="WebServiceBinding">
+		<complexContent>
+			<extension base="sca:Binding">
+				<sequence>
+					<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>
+				<attribute name="port" type="anyURI" use="required"/>
+				<anyAttribute namespace="##any" processContents="lax"/>
+			</extension>
+		</complexContent>
+	</complexType>
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-webservice.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-binding-webservice.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-core.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-core.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-core.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-core.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
+		elementFormDefault="qualified">
+
+	<element name="componentType" type="sca:ComponentType"/>
+	<complexType name="ComponentType">
+		<sequence>
+			<element minOccurs="0" maxOccurs="unbounded" name="service" type="sca:Service"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="reference" type="sca:Reference"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="property" type="sca:Property"/>
+		    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	<complexType name="Service">
+		<sequence>
+			<element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
+		    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	<element name="interface" type="sca:Interface"/>
+	<complexType name="Interface"/>
+
+	<complexType name="Reference">
+		<sequence>
+			<element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
+		    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	<complexType name="Property">
+		<sequence>
+		    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+  		<attribute name="name" type="NCName" use="required"/>
+   		<attribute name="type" type="QName" use="required"/>		
+  		<attribute name="many" type="boolean" default="false" use="optional"/>
+  		<attribute name="required" type="boolean" default="false" use="optional"/>  		
+		<attribute name="default" type="string" use="optional"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+
+	<element name="moduleFragment" type="sca:ModuleFragment"/>
+	<complexType name="ModuleFragment">
+		<sequence>
+			<element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="sca:EntryPoint"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="component" type="sca:Component"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="externalService" type="sca:ExternalService"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca:ModuleWire"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	<element name="module" type="sca:Module"/>
+	<complexType name="Module">
+		<complexContent>
+			<extension base="sca:ModuleFragment"/>
+		</complexContent>
+	</complexType>
+
+	<complexType name="EntryPoint">
+		<sequence>
+			<element minOccurs="0" maxOccurs="1" ref="sca:interface"/>
+			<element minOccurs="1" maxOccurs="unbounded" ref="sca:binding"/>
+			<element minOccurs="1" maxOccurs="unbounded" name="reference" type="anyURI"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+	<!-- a multiplicity 1..1 or 0..n sample
+			<reference>StockQuoteComponent</reference>		- type must be URI
+		 a multiplicity 1..n or 0..n sample
+			<reference>StockQuoteComponent1</reference>		- type must be URI
+			<reference>StockQuoteComponent2</reference>
+	 -->
+
+	<element name="binding" type="sca:Binding"/>
+	<complexType name="Binding">
+		<attribute name="uri" type="anyURI" use="optional"/>
+	</complexType>
+	
+	<complexType name="Component">
+		<sequence>
+			<element minOccurs="1" maxOccurs="1" ref="sca:implementation"/>
+			<element minOccurs="0" maxOccurs="1" name="properties" type="sca:PropertyValues"/>
+			<element minOccurs="0" maxOccurs="1" name="references" type="sca:ReferenceValues"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+	<!-- a multiplicity 1..1 or 0..1 sample
+			<references>
+				<v:stockQuote>StockQuoteComponent</v:stockquote>	- type must be URI
+			</references>
+		 a multiplicity 1..n or 0..n sample
+			<references>
+				<v:stockQuote>StockQuoteComponent1</v:stockQuote>	- type must be URI
+				<v:stockQuote>StockQuoteComponent2</v:stockQuote>
+			</references>
+	 -->
+
+	<element name="implementation" type="sca:Implementation"/>
+	<complexType name="Implementation"/>
+
+	<complexType name="PropertyValues">
+		<sequence>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<anyAttribute namespace="##any" processContents="lax"/>			
+	</complexType>
+
+	<complexType name="ReferenceValues">
+		<sequence>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<anyAttribute namespace="##any" processContents="lax"/>			
+	</complexType>
+
+
+	<complexType name="ExternalService">
+		<sequence>
+			<element minOccurs="1" maxOccurs="1" ref="sca:interface"/>
+			<element minOccurs="0" maxOccurs="unbounded" ref="sca:binding"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<attribute name="overridable" type="sca:OverrideOptions" default="may" use="optional"/>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	
+	<complexType name="ModuleWire">
+		<sequence>
+			<element minOccurs="1" maxOccurs="1" ref="sca:source.uri"/>
+			<element minOccurs="1" maxOccurs="1" ref="sca:target.uri"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	<element name="source" type="anyType"/>
+	<element name="target" type="anyType"/>
+	
+	<element name="source.uri" type="anyURI" substitutionGroup="sca:source"/>
+	<element name="target.uri" type="anyURI" substitutionGroup="sca:target"/>
+
+	<element name="subsystem" type="sca:Subsystem"/>
+	<complexType name="Subsystem">
+		<sequence>
+			<element minOccurs="0" maxOccurs="unbounded" name="entryPoint" type="sca:EntryPoint"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="moduleComponent" type="sca:ModuleComponent"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="externalService" type="sca:ExternalService"/>
+			<element minOccurs="0" maxOccurs="unbounded" name="wire" type="sca:SystemWire"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<attribute name="uri" type="anyURI" use="optional"/>		
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+	
+	<complexType name="ModuleComponent">
+		<sequence>
+			<element minOccurs="0" maxOccurs="1" name="properties" type="sca:PropertyValues"/>
+			<element minOccurs="0" maxOccurs="1" name="references" type="sca:ReferenceValues"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="name" type="NCName" use="required"/>
+		<attribute name="module" type="NCName" use="required"/>
+		<attribute name="uri" type="anyURI" use="optional"/>		
+		<anyAttribute namespace="##any" processContents="lax"/>
+	</complexType>
+
+	<complexType name="SystemWire">
+		<sequence>
+			<element minOccurs="1" maxOccurs="1" ref="sca:source"/>
+			<element minOccurs="1" maxOccurs="1" ref="sca:target"/>
+			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+	</complexType>
+
+	<element name="source.epr" type="anyType" substitutionGroup="sca:source"/>
+	<element name="target.epr" type="anyType" substitutionGroup="sca:target"/>
+
+	<simpleType name="Multiplicity">
+		<restriction base="string">
+			<enumeration value="0..1"/>
+			<enumeration value="1..1"/>
+			<enumeration value="0..n"/>
+			<enumeration value="1..n"/>
+		</restriction>
+	</simpleType>
+
+	<simpleType name="OverrideOptions">
+		<restriction base="string">
+			<enumeration value="no"/>
+			<enumeration value="may"/>
+			<enumeration value="must"/>
+		</restriction>
+	</simpleType>
+
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-core.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-core.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-implementation-java.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-implementation-java.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-implementation-java.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-implementation-java.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
+		elementFormDefault="qualified">
+
+	<include schemaLocation="sca-core.xsd"/>
+
+	<element name="implementation.java" type="sca:JavaImplementation" substitutionGroup="sca:implementation"/>
+	<complexType name="JavaImplementation">
+		<complexContent>
+			<extension base="sca:Implementation">
+				<sequence>
+					<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>
+				<attribute name="class" type="NCName" use="required"/>
+				<anyAttribute namespace="##any" processContents="lax"/>
+			</extension>
+		</complexContent>
+	</complexType>
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-implementation-java.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-implementation-java.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-java.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-java.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-java.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-java.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
+		elementFormDefault="qualified">
+
+	<include schemaLocation="sca-core.xsd"/>
+
+	<element name="interface.java" type="sca:JavaInterface" substitutionGroup="sca:interface"/>
+	<complexType name="JavaInterface">
+		<complexContent>
+			<extension base="sca:Interface">
+				<sequence>
+					<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>
+				<attribute name="interface" type="NCName" use="required"/>
+				<attribute name="callbackInterface" type="NCName" use="optional"/>
+				<anyAttribute namespace="##any" processContents="lax"/>
+			</extension>
+		</complexContent>
+	</complexType>
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-java.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-java.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-wsdl.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-wsdl.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-wsdl.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-wsdl.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9"
+		elementFormDefault="qualified">
+
+	<include schemaLocation="sca-core.xsd"/>
+
+	<element name="interface.wsdl" type="sca:WSDLPortType" substitutionGroup="sca:interface"/>
+	<complexType name="WSDLPortType">
+		<complexContent>
+			<extension base="sca:Interface">
+				<sequence>
+					<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>
+				<attribute name="interface" type="anyURI" use="required"/>
+				<attribute name="callbackInterface" type="anyURI" use="optional"/>
+				<anyAttribute namespace="##any" processContents="lax"/>
+			</extension>
+		</complexContent>
+	</complexType>
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-wsdl.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca-interface-wsdl.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca.xsd?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca.xsd (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca.xsd Fri Jun  9 23:03:59 2006
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
+
+  Licensed 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.
+ -->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+		targetNamespace="http://www.osoa.org/xmlns/sca/0.9" 
+		xmlns:sca="http://www.osoa.org/xmlns/sca/0.9">
+
+	<include schemaLocation="sca-core.xsd"/>
+
+	<include schemaLocation="sca-interface-java.xsd"/>
+	<include schemaLocation="sca-interface-wsdl.xsd"/>
+
+	<include schemaLocation="sca-implementation-java.xsd"/>
+
+	<include schemaLocation="sca-binding-webservice.xsd"/>
+	<include schemaLocation="sca-binding-sca.xsd"/>	
+
+</schema>

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/main/resources/schemas/sca.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/CallbackTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/CallbackTestCase.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/CallbackTestCase.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/CallbackTestCase.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,68 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+import junit.framework.TestCase;
+import org.osoa.sca.annotations.usage.CallbackType;
+
+/**
+ * Test case for callback annotation.
+ *
+ * @version $Rev: 388784 $ $Date: 2006-03-25 08:34:51 -0800 (Sat, 25 Mar 2006) $
+ */
+public class CallbackTestCase extends TestCase {
+    private Class<?> type;
+    private Field field;
+    private Method method;
+
+    /**
+     * Test annotation of a callback interface.
+     */
+    public void testTypeDeclaration() {
+        assertTrue(type.isAnnotationPresent(Callback.class));
+        Callback callback = type.getAnnotation(Callback.class);
+        assertEquals(Object.class, callback.value());
+    }
+
+    /**
+     * Test annotation of a private field.
+     */
+    public void testField() {
+        assertTrue(field.isAnnotationPresent(Callback.class));
+        Callback callback = field.getAnnotation(Callback.class);
+        assertEquals(Void.class, callback.value());
+    }
+
+    /**
+     * Test annotation of a method.
+     */
+    public void testMethod() {
+        assertTrue(method.isAnnotationPresent(Callback.class));
+        Callback callback = method.getAnnotation(Callback.class);
+        assertEquals(Void.class, callback.value());
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        type = CallbackType.class;
+        field = type.getDeclaredField("cbField");
+        method = type.getMethod("cbMethod");
+    }
+}
\ No newline at end of file

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/CallbackTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/CallbackTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/usage/CallbackType.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/usage/CallbackType.java?rev=413256&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/usage/CallbackType.java (added)
+++ incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/usage/CallbackType.java Fri Jun  9 23:03:59 2006
@@ -0,0 +1,47 @@
+/**
+ *
+ *  Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ *  Licensed 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.osoa.sca.annotations.usage;
+
+import org.osoa.sca.annotations.Callback;
+
+/**
+ * Mock object for callback annotation tests.
+ *
+ * @version $Rev: 388784 $ $Date: 2006-03-25 08:34:51 -0800 (Sat, 25 Mar 2006) $
+ */
+@Callback(Object.class)
+public class CallbackType {
+    @Callback
+    private Object cbField;
+
+    /**
+     * Site for testing annotation of a public method.
+     */
+    @Callback
+    public void cbMethod() {
+        cbField = new Object();
+    }
+
+    /**
+     * Mock method to make IDEs stop complaining.
+     *
+     * @return nothing
+     */
+    public Object getCbField() {
+        return cbField;
+    }
+}

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/usage/CallbackType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/sandbox/jboynes/spec/sca/src/test/java/org/osoa/sca/annotations/usage/CallbackType.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org