You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by do...@apache.org on 2009/09/28 16:38:02 UTC

svn commit: r819561 [1/3] - in /tuscany/sandbox/dougsleite: guardian-model/ implementation-guardian/ implementation-guardian/src/ implementation-guardian/src/main/ implementation-guardian/src/main/java/ implementation-guardian/src/main/java/org/ implem...

Author: dougsleite
Date: Mon Sep 28 14:37:58 2009
New Revision: 819561

URL: http://svn.apache.org/viewvc?rev=819561&view=rev
Log:
- Changing the guardian-model, policy-recoveryrules, policy-resolutiontrees to a new module: implementation-guardian;
- The new module creates a new kind of implementation (implementation.guardian)

Added:
    tuscany/sandbox/dougsleite/implementation-guardian/
    tuscany/sandbox/dougsleite/implementation-guardian/.classpath
    tuscany/sandbox/dougsleite/implementation-guardian/.project
    tuscany/sandbox/dougsleite/implementation-guardian/pom.xml
    tuscany/sandbox/dougsleite/implementation-guardian/sequenceDiagram-externalException.jpg   (with props)
    tuscany/sandbox/dougsleite/implementation-guardian/src/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementation.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementationFactory.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/RecoveryRules.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/ResolutionTrees.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationFactoryImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianMemberImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/RecoveryRulesImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/ResolutionTreesImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/provider/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/provider/GuardianGroupImplementationProvider.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/provider/GuardianGroupImplementationProviderFactory.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/provider/GuardianGroupInvoker.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/xml/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/xml/GuardianGroupImplementationProcessor.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/xml/RecoveryRulesProcessor.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/xml/ResolutionTreesProcessor.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/META-INF/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/META-INF/services/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.guardian.GuardianGroupImplementationFactory
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/guardianTest.composite
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/primaryBackup.composite
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/recoveryRules.xml
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/resolutionTrees.xml
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/primaryBackup.composite
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/recoveryRules.xml
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/lcaTest.xml
    tuscany/sandbox/dougsleite/implementation-guardian/src/main/resources/resources.tar.gz   (with props)
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/GuardianImplementationTest.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/LCATestCase.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/BackupFailedException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/BackupJoinedException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/Node.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/NodeImpl.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryExistsException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryFailedException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/TestInterface.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/Launch.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/Launch.java
    tuscany/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/Launch2.java
Removed:
    tuscany/sandbox/dougsleite/guardian-model/
    tuscany/sandbox/dougsleite/policy-recoveryrules/
    tuscany/sandbox/dougsleite/policy-resolutiontrees/

Added: tuscany/sandbox/dougsleite/implementation-guardian/.classpath
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/.classpath?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/.classpath (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/.classpath Mon Sep 28 14:37:58 2009
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.devzuz.q.maven.jdt.core.mavenClasspathContainer"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Added: tuscany/sandbox/dougsleite/implementation-guardian/.project
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/.project?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/.project (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/.project Mon Sep 28 14:37:58 2009
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>tuscany-guardian-model</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.devzuz.q.maven.jdt.core.mavenIncrementalBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.devzuz.q.maven.jdt.core.mavenNature</nature>
+	</natures>
+</projectDescription>

Added: tuscany/sandbox/dougsleite/implementation-guardian/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/pom.xml?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/pom.xml (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/pom.xml Mon Sep 28 14:37:58 2009
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+-->
+<project xmlns:pom="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-modules</artifactId>
+        <version>1.6-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>tuscany-implementation-guardian</artifactId>
+    <name>Apache Tuscany SCA Implementation Guardian Model</name>
+
+    <repositories>
+        <repository>
+            <id>apache.incubator</id>
+            <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+        </repository>
+    </repositories>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-embedded</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-data-api</artifactId>
+            <version>1.6-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.6-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-jaxws</artifactId>
+            <version>1.5</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2</artifactId>
+            <version>1.5</version>
+        </dependency>
+        
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+
+                <configuration>
+                    <instructions>
+                        <Bundle-Version>${tuscany.version}</Bundle-Version>
+                        <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.guardian</Bundle-SymbolicName>
+                        <Bundle-Description>${pom.name}</Bundle-Description>
+                        <Export-Package>org.apache.tuscany.sca.implementation.guardian*</Export-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
+
+
+

Added: tuscany/sandbox/dougsleite/implementation-guardian/sequenceDiagram-externalException.jpg
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/sequenceDiagram-externalException.jpg?rev=819561&view=auto
==============================================================================
Binary file - no diff available.

Propchange: tuscany/sandbox/dougsleite/implementation-guardian/sequenceDiagram-externalException.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+@Deprecated
+public interface BlockingInterface {
+
+    //@OneWay
+    public void block();
+
+    //@OneWay
+    public void unblock();
+
+    public boolean isBlocked();
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+public interface GuardianGroup extends GuardianPrimitives {
+
+    public static int NORMAL_PARTICIPANT_STATE = 0;
+    public static int SUSPENDED_PARTICIPANT_STATE = 1;
+
+    public void addGuardianMember(GuardianMember guardianMember);
+
+    public boolean removeGuardianMember(GuardianMember guardianMember);
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementation.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementation.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementation.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementation.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.Implementation;
+
+public interface GuardianGroupImplementation extends Implementation {
+
+    public void setGuardianProperties(OMElement guardianProperties);
+
+    public OMElement getGuardianProperties();
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementationFactory.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementationFactory.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementationFactory.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroupImplementationFactory.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+public interface GuardianGroupImplementationFactory {
+
+    public GuardianGroupImplementation createGuardianGroupImplementation();
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+import org.apache.tuscany.sca.implementation.guardian.common.Context;
+import org.apache.tuscany.sca.implementation.guardian.common.GlobalException;
+
+public interface GuardianMember extends GuardianPrimitives {
+
+    public void addException(GlobalException ex);
+
+    public Context getCurrentContext();    
+
+    public String getParticipantIdentifier();
+
+    public void setUniqueParticipantID(int id);
+
+    public int getParticipantState();
+
+    public void setParticipantState(int state);
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+import java.util.List;
+import org.apache.tuscany.sca.implementation.guardian.common.Context;
+import org.apache.tuscany.sca.implementation.guardian.common.GlobalException;
+import org.apache.tuscany.sca.implementation.guardian.common.GlobalExceptionInterface;
+
+//@Remotable
+public interface GuardianPrimitives {
+
+    //Methods to manage contexts
+    public void enableContext(Context context);
+
+    public void removeContext();
+
+    //Methods to control the signaling of exceptions
+    public void gthrow(GlobalExceptionInterface ex, List<String> participantList);
+
+    public boolean propagate(GlobalExceptionInterface ex);
+
+    //Method to check pending global exceptions
+     public void checkExceptionStatus() throws GlobalException;
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/RecoveryRules.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/RecoveryRules.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/RecoveryRules.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/RecoveryRules.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+import java.util.Map;
+import javax.xml.namespace.QName;
+import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.xml.Constants;
+
+public interface RecoveryRules {
+
+    public static final QName RECOVERY_RULES_POLICY_QNAME =
+            new QName(Constants.SCA10_TUSCANY_NS, org.apache.tuscany.sca.implementation.guardian.common.Constants.RECOVERY_RULES);
+
+    public Map<String, OMElement> getRuleElements();
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/ResolutionTrees.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/ResolutionTrees.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/ResolutionTrees.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/ResolutionTrees.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian;
+
+import java.util.Map;
+import javax.xml.namespace.QName;
+import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.xml.Constants;
+
+public interface ResolutionTrees {
+
+    public static final QName RESOLUTION_TREES_POLICY_QNAME =
+            new QName(Constants.SCA10_TUSCANY_NS, org.apache.tuscany.sca.implementation.guardian.common.Constants.RESOLUTION_TREES);
+
+    public Map<String, OMElement> getResolutionTreeElements();
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class ConcurrentExceptionOcurrenceException extends Exception {
+
+    public ConcurrentExceptionOcurrenceException() {
+        super();
+    }
+
+    public ConcurrentExceptionOcurrenceException(String message) {
+        super(message);
+    }
+
+    public ConcurrentExceptionOcurrenceException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public ConcurrentExceptionOcurrenceException(Throwable cause) {
+        super(cause);
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+import javax.xml.namespace.QName;
+
+public interface Constants {
+
+    String RECOVERY_RULES = "recovery_rules";
+    QName RECOVERY_RULES_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, RECOVERY_RULES);
+
+    String RULE = "rule";
+    QName RULE_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, RULE);
+
+    String NAME = "name";
+    QName NAME_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, NAME);
+
+    String SIGNALED_EXCEPTION = "signaled_exception";
+    QName SIGNALED_EXCEPTION_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, SIGNALED_EXCEPTION);
+
+    String PARTICIPANT = "participant";
+    QName PARTICIPANT_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, PARTICIPANT);
+
+    String MATCH = "match";
+    QName MATCH_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, MATCH);
+
+    String THROW_EXCEPTION = "throw_exception";
+    QName THROW_EXCEPTION_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, THROW_EXCEPTION);
+
+    String CLASS = "class";
+    QName CLASS_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, CLASS);
+
+    String TARGET_CONTEXT = "target_context";
+    QName TARGET_CONTEXT_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, TARGET_CONTEXT);
+
+    String MIN_PARTICIPANT_JOINED = "min_participant_joined";
+    QName MIN_PARTICIPANT_JOINED_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, MIN_PARTICIPANT_JOINED);
+
+    String MAX_PARTICIPANT_JOINED = "max_participant_joined";
+    QName MAX_PARTICIPANT_JOINED_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, MAX_PARTICIPANT_JOINED);
+
+    String AFFECTED_PARTICIPANTS = "affected_participants";
+    QName AFFECTED_PARTICIPANTS_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, AFFECTED_PARTICIPANTS);
+
+    String FIRST = "FIRST";
+    QName FIRST_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, FIRST);
+
+    String LAST = "LAST";
+    QName LAST_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, LAST);
+
+    String ALL = "ALL";
+    QName ALL_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, ALL);
+
+    String RESOLUTION_TREE = "resolution_tree";
+    QName RESOLUTION_TREE_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, RESOLUTION_TREE);
+
+    String RESOLUTION_TREES = "resolution_trees";
+    QName RESOLUTION_TREES_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, RESOLUTION_TREES);
+
+    String EXCEPTION_LEVEL = "exception_level";
+    QName EXCEPTION_LEVEL_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, EXCEPTION_LEVEL);
+
+    String EXCEPTION = "exception";
+    QName EXCEPTION_QNAME = new QName(org.apache.tuscany.sca.assembly.xml.Constants.SCA10_TUSCANY_NS, EXCEPTION);
+    
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+import java.util.LinkedList;
+import java.util.List;
+
+public class Context {
+
+    public static Context CURRENT_CONTEXT = new Context("CURRENT_CONTEXT");
+    public static Context INIT_CONTEXT = new Context("INIT_CONTEXT");
+    public static Context GUARDIAN_CONTEXT = new Context("GUARDIAN_CONTEXT");
+
+    private String name;
+    private List<Class<? extends GlobalException>> exceptionList;
+
+    public Context() {
+        this(null);
+    }
+
+    public Context(String name) {
+        this(name, new LinkedList<Class<? extends GlobalException>>());
+    }
+
+    public Context(String name, List<Class<? extends GlobalException>> exceptionList) {
+        this.name = name;
+        this.exceptionList = exceptionList;
+    }
+
+    public void addException(Class<? extends GlobalException> ex) {
+        this.exceptionList.add(ex);
+    }
+
+    public void setExceptionList(List<Class<? extends GlobalException>> exceptionList) {
+        this.exceptionList = exceptionList;
+    }
+
+    public List<Class<? extends GlobalException>> getExceptionList() {
+        return this.exceptionList;
+    }
+
+    /**
+     * @return the name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        return (obj instanceof Context &&
+                (((Context) obj).getName().equals(this.getName()) ||
+                this == Context.CURRENT_CONTEXT ||
+                ((Context) obj) == Context.CURRENT_CONTEXT));
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+import java.util.LinkedList;
+import java.util.List;
+
+public class GlobalException extends RuntimeException implements GlobalExceptionInterface {
+
+    private List<String> signalingParticipants;
+    private Context signalingContext;
+    private Context targetContext;
+
+    public GlobalException() {
+        super();
+        signalingParticipants = new LinkedList<String>();
+    }
+
+    public GlobalException(String message) {
+        super(message);
+        signalingParticipants = new LinkedList<String>();
+    }
+
+    public GlobalException(String message, Throwable cause) {
+        super(message, cause);
+        signalingParticipants = new LinkedList<String>();
+    }
+
+    public GlobalException(Throwable cause) {
+        super(cause);
+        signalingParticipants = new LinkedList<String>();
+    }
+
+    /**
+     * @return the signalingContext
+     */
+    public Context getSignalingContext() {
+        return signalingContext;
+    }
+
+    /**
+     * @param signalingContext the signalingContext to set
+     */
+    public void setSignalingContext(Context signalingContext) {
+        this.signalingContext = signalingContext;
+    }
+
+    /**
+     * @return the targetContext
+     */
+    public Context getTargetContext() {
+        return targetContext;
+    }
+
+    /**
+     * @param targetContext the targetContext to set
+     */
+    public void setTargetContext(Context targetContext) {
+        this.targetContext = targetContext;
+    }
+
+    public void putSignalingParticipant(String participant) {
+        signalingParticipants.add(participant);
+    }
+
+    public List<String> getSignalingParticipants() {
+        return signalingParticipants;
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+import java.util.List;
+
+public interface GlobalExceptionInterface {
+
+    /**
+     * @return the signalingContext
+     */
+    public Context getSignalingContext();
+
+    /**
+     * @param signalingContext the signalingContext to set
+     */
+    public void setSignalingContext(Context signalingContext);
+
+    /**
+     * @return the targetContext
+     */
+    public Context getTargetContext();
+
+    /**
+     * @param targetContext the targetContext to set
+     */
+    public void setTargetContext(Context targetContext);
+
+    /**
+     * @return the signalingProcess
+     */
+    public List<String> getSignalingParticipants();
+
+    /**
+     * @param signalingProcess the signalingProcess to set
+     */
+    public void putSignalingParticipant(String participant);
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class InvalidNodeException extends RuntimeException {
+
+    public InvalidNodeException() {
+        super();
+    }
+
+    public InvalidNodeException(String message) {
+        super(message);
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class InvalidRegularExpressionException extends RuntimeException {
+
+    public InvalidRegularExpressionException() {
+        super();
+    }
+
+    public InvalidRegularExpressionException(String message) {
+        super(message);
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class JoinException extends GlobalException {
+
+    public JoinException() {
+        super();
+    }
+
+    public JoinException(String message) {
+        super(message);
+    }
+
+    public JoinException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public JoinException(Throwable cause) {
+        super(cause);
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class LeaveException extends GlobalException {
+
+    public LeaveException() {
+        super();
+    }
+
+    public LeaveException(String message) {
+        super(message);
+    }
+
+    public LeaveException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public LeaveException(Throwable cause) {
+        super(cause);
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,153 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+import java.util.Collections;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import org.apache.axiom.om.OMAttribute;
+import org.apache.axiom.om.OMElement;
+
+public class ResolutionTreeUtils {
+
+    //E: Euler tour of the tree obtained by listing the nodes visited in a depth first search of the tree starting from the root. Contains 2n-1 elements
+    private List<String> eulerTour;
+    //L: Array of level numbers such that L[i] contains the tree-depth of the node E[i]. Contains 2n-1 elements
+    private List<Integer> levels;
+    //R: Map of size n such that R<K> contains the index of the first ocurrence of node 'K' in E
+    private Map<String, Integer> rMap;
+    private OMElement root;
+    private int treeSize;
+
+    public ResolutionTreeUtils() {
+        init(null);
+    }
+
+    public ResolutionTreeUtils(OMElement root) {
+        init(root);
+    }
+
+    public void setRoot(OMElement root) {
+        init(root);
+    }
+
+    public List<String> getEulerTourDepthFirstSearch() {
+
+        if (root == null) {
+            throw new NullPointerException("The root musn't be null");
+        }
+
+        if (eulerTour == null) {
+            eulerTour = new LinkedList<String>();
+            levels = new LinkedList<Integer>();
+
+            eulerTourDFSRecursive(root, 0);
+        }
+
+        return eulerTour;
+    }
+
+    public String getLowestCommonAncestor(String node1, String node2) {
+        String lca = null;
+        Integer indexNode1, indexNode2;
+
+        Map<String, Integer> r = getRMap();
+
+        indexNode1 = r.get(node1);
+        indexNode2 = r.get(node2);
+
+        //Check nodes existence
+        if (indexNode1 == null && indexNode2 == null) {
+            throw new InvalidNodeException("Could not find the specified nodes: " + node1 + " and " + node2);
+        } else if (indexNode1 == null) {
+            throw new InvalidNodeException("Could not find the specified nodes: " + node1);
+        } else if (indexNode2 == null) {
+            throw new InvalidNodeException("Could not find the specified nodes: " + node2);
+        }
+
+        int indexLCA;
+        if (indexNode1 < indexNode2) {
+            indexLCA = getRangeMinimumQuery(levels, indexNode1, indexNode2);
+        } else {
+            indexLCA = getRangeMinimumQuery(levels, indexNode2, indexNode1);
+        }
+
+        lca = eulerTour.get(indexLCA);
+
+        return lca;
+    }
+
+    //Get the index of the smallest element between beginIndex and endIndex (both inclusive) in the list
+    private int getRangeMinimumQuery(List list, int beginIndex, int endIndex) {
+
+        List sublist = list.subList(beginIndex, endIndex + 1);
+
+        Object elem = Collections.min(sublist);
+
+        return sublist.indexOf(elem) + beginIndex;
+    }
+
+    private void init(OMElement root) {
+        this.root = root;
+        eulerTour = null;
+        levels = null;
+        rMap = null;
+        treeSize = 0;
+    }
+
+    private void eulerTourDFSRecursive(OMElement node, int level) {
+        String classAttribute = ((OMAttribute) node.getAllAttributes().next()).getAttributeValue();
+        eulerTour.add(classAttribute);
+
+        levels.add(level);
+        treeSize++;
+
+        Iterator children = node.getChildElements();
+
+        OMElement child;
+        while (children.hasNext()) {
+            child = (OMElement) children.next();
+            eulerTourDFSRecursive(child, level + 1);
+            eulerTour.add(classAttribute);
+            levels.add(level);
+        }
+    }
+
+    private Map<String, Integer> getRMap() {
+        if (rMap == null) {
+            rMap = new Hashtable<String, Integer>();
+
+            List<String> tour = getEulerTourDepthFirstSearch();
+            for (int i = 0; i < tour.size(); i++) {
+                String key = tour.get(i);
+                if (!rMap.containsKey(key)) {
+                    rMap.put(key, i);
+                }
+
+                if (rMap.size() == treeSize) {
+                    break;
+                }
+            }
+        }
+        return rMap;
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class SuspendException extends GlobalException {
+
+    public SuspendException() {
+        super();
+    }
+
+    public SuspendException(String message) {
+        super(message);
+    }
+
+    public SuspendException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public SuspendException(Throwable cause) {
+        super(cause);
+    }
+}

Added: tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java?rev=819561&view=auto
==============================================================================
--- tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java (added)
+++ tuscany/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java Mon Sep 28 14:37:58 2009
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.guardian.common;
+
+public class UnhandledException extends GlobalException {
+
+    public UnhandledException() {
+        super();
+    }
+
+    public UnhandledException(String message) {
+        super(message);
+    }
+
+    public UnhandledException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public UnhandledException(Throwable cause) {
+        super(cause);
+    }
+}