summaryrefslogtreecommitdiffstats
path: root/sandbox/dougsleite/guardian-model/src
diff options
context:
space:
mode:
authordougsleite <dougsleite@13f79535-47bb-0310-9956-ffa450edef68>2009-09-28 14:37:58 +0000
committerdougsleite <dougsleite@13f79535-47bb-0310-9956-ffa450edef68>2009-09-28 14:37:58 +0000
commitf4f96f8c8ec04e4c1709d3037e57589145be12fa (patch)
treea8bf81061fdc2af53fae50eebf063bd1ecfdc854 /sandbox/dougsleite/guardian-model/src
parent215c005bde88752999978adce56b09d2a90a13b7 (diff)
- 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) git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@819561 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sandbox/dougsleite/guardian-model/src')
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/BlockingInterface.java30
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ConcurrentExceptionOcurrenceException.java38
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Constants.java81
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Context.java79
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalException.java85
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalExceptionInterface.java54
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroup.java32
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroupImpl.java637
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMember.java40
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMemberImpl.java184
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianPrimitives.java38
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidNodeException.java30
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidRegularExpression.java30
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/JoinException.java39
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/LeaveException.java38
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ResolutionTreeUtils.java153
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/SuspendException.java38
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/UnhandledException.java38
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/lcaTest.xml21
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups-concurrent.composite75
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups.composite74
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/primarybackup-ws.composite63
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/primarybackup.composite52
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules.xml56
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus.xml58
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml82
-rw-r--r--sandbox/dougsleite/guardian-model/src/main/resources/resolutionTree.xml8
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/LCATestCase.java114
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/concurrentexceptions/Launch.java67
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java22
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java24
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java24
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java34
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java312
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java26
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java24
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java24
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java24
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java26
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch.java64
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch2.java70
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch3.java71
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java52
-rw-r--r--sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java52
44 files changed, 0 insertions, 3183 deletions
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/BlockingInterface.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/BlockingInterface.java
deleted file mode 100644
index 848c4a874d..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/BlockingInterface.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.guardian;
-
-public interface BlockingInterface {
-
- //@OneWay
- public void block();
-
- //@OneWay
- public void unblock();
-
- public boolean isBlocked();
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ConcurrentExceptionOcurrenceException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ConcurrentExceptionOcurrenceException.java
deleted file mode 100644
index 30584f2d78..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ConcurrentExceptionOcurrenceException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.guardian;
-
-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);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Constants.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Constants.java
deleted file mode 100644
index 9fa4db4f78..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Constants.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.guardian;
-
-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);
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Context.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Context.java
deleted file mode 100644
index 3ac5d63a42..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Context.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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.guardian;
-
-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));
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalException.java
deleted file mode 100644
index b880db6aa1..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalException.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.guardian;
-
-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;
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalExceptionInterface.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalExceptionInterface.java
deleted file mode 100644
index 68a09a9bc8..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalExceptionInterface.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.guardian;
-
-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);
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroup.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroup.java
deleted file mode 100644
index 5119390a14..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroup.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.guardian;
-
-import org.osoa.sca.annotations.Remotable;
-
-//@Remotable
-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);
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroupImpl.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroupImpl.java
deleted file mode 100644
index f9fe5c2c59..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroupImpl.java
+++ /dev/null
@@ -1,637 +0,0 @@
-/*
- * 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.guardian;
-
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.policy.resolutiontrees.ResolutionTreesPolicyProcessor;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMElement;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-import org.apache.tuscany.sca.policy.recoveryrules.RecoveryRulesPolicyProcessor;
-
-@Service(GuardianGroup.class)
-@Scope("COMPOSITE")
-public class GuardianGroupImpl implements GuardianGroup {
-
- private List<GuardianMember> guardianList;
- private InnerGuardianGroupThread innerThread;
- private List<GlobalExceptionInterface> concurrentExList;
- private Map<String, OMElement> resolutionTreeElements;
- private ResolutionTreeUtils resolutionTreeUtils;
- private Map<String, OMElement> ruleElements;
-
- public GuardianGroupImpl() {
- guardianList = new LinkedList<GuardianMember>();
- concurrentExList = new LinkedList<GlobalExceptionInterface>();
- innerThread = new InnerGuardianGroupThread();
- resolutionTreeUtils = new ResolutionTreeUtils();
- }
-
- @Property(name = "recovery_rules", required = false)
- public void setRecoveryRules(String recoveryRules) {
- try {
- FileInputStream fileInputStream = new FileInputStream(recoveryRules);
- XMLStreamReader xmlReader = XMLInputFactory.newInstance().createXMLStreamReader(fileInputStream);
-
- RecoveryRulesPolicyProcessor processor = new RecoveryRulesPolicyProcessor(null, null);
- ruleElements = processor.read(xmlReader).getRuleElements();
-
- } catch (ContributionReadException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- } catch (XMLStreamException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- } catch (FileNotFoundException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- @Property(name = "resolution_tree", required = false)
- public void setResolutionTree(String resolutionTree) {
-
- try {
- FileInputStream fileInputStream = new FileInputStream(resolutionTree);
- XMLStreamReader resolutionTreeReader = XMLInputFactory.newInstance().createXMLStreamReader(fileInputStream);
-
- ResolutionTreesPolicyProcessor processor = new ResolutionTreesPolicyProcessor(null, null);
- resolutionTreeElements = processor.read(resolutionTreeReader).getResolutionTreeElements();
-
- } catch (ContributionReadException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- } catch (XMLStreamException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- } catch (FileNotFoundException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- public void addGuardianMember(GuardianMember guardianMember) {
- guardianList.add(guardianMember);
- guardianMember.setUniqueParticipantID(guardianList.size() - 1);
- }
-
- public void enableContext(Context context) {
- System.out.println("Enable Context.. nothing to do!");
- //throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public void removeContext() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public synchronized void gthrow(GlobalExceptionInterface ex, List<String> participantList) {
-
- concurrentExList.add(ex);
-
- //Sends a message representing the exception to the other guardian members
- SuspendException suspendEx = new SuspendException();
- suspendEx.putSignalingParticipant(ex.getSignalingParticipants().get(0));
-
- if (participantList == null) {
- for (GuardianMember g : guardianList) {
- g.gthrow(suspendEx, null);
- }
- } else {
- for (GuardianMember g : guardianList) {
- if (participantList.contains(g.getParticipantIdentifier()) ||
- g.getParticipantIdentifier().equals(ex.getSignalingParticipants().get(0))) {
- g.gthrow(suspendEx, null);
- }
- }
- }
-
- if (!innerThread.isRunning()) {
- innerThread.setGlobalException(ex);
- new Thread(innerThread).start();
- }
- }
-
- public boolean propagate(GlobalExceptionInterface ex) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public void checkExceptionStatus() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public boolean removeGuardianMember(GuardianMember guardianMember) {
- return this.guardianList.remove(guardianMember);
- }
-
- private class InnerGuardianGroupThread implements Runnable {
-
- private boolean isRunning;
- private GlobalExceptionInterface ex = null;
-
- public InnerGuardianGroupThread() {
- isRunning = false;
- }
-
- public void setGlobalException(GlobalExceptionInterface ex) {
- this.ex = ex;
- }
-
- public GlobalExceptionInterface getGlobalException() {
- return ex;
- }
-
- public void run() {
- isRunning = true;
-
- if (ex != null) {
-
- //Time window of 10 seconds just for tests
- try {
- Thread.sleep(10000);
- } catch (InterruptedException ex1) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex1);
- }
-
- try {
- applyRecoveryRules(ex);
- } catch (ConcurrentExceptionOcurrenceException ce) {
- applyConcurrentRecoveryRules();
- }
-
- //Clear the concurrent exception list
- concurrentExList.clear();
-
- //Set up the participant state to NORMAL
- for (GuardianMember gm : guardianList) {
- if (gm.getParticipantState() == SUSPENDED_PARTICIPANT_STATE) {
- gm.setParticipantState(NORMAL_PARTICIPANT_STATE);
- }
- }
- }
- isRunning = false;
- }
-
- public boolean isRunning() {
- return isRunning;
- }
-
- private void applyRecoveryRules(GlobalExceptionInterface ex) throws ConcurrentExceptionOcurrenceException {
- ruleTag(ex, ruleElements.values().iterator());
- }
-
- private void ruleTag(GlobalExceptionInterface ex, Iterator<OMElement> ruleElements) throws ConcurrentExceptionOcurrenceException {
- String signaledException;
- String exceptionName;
-
- OMElement rule;
- while (ruleElements.hasNext()) {
-
- rule = ruleElements.next();
- signaledException = getAttributeValue(rule, Constants.SIGNALED_EXCEPTION);
- exceptionName = ex.getClass().getName();
-
- if (signaledException.equals(exceptionName)) {
- participantExceptionTag(ex, rule.getChildElements());
- break;
- }
- }
- }
-
- private void participantExceptionTag(GlobalExceptionInterface ex, Iterator<OMElement> participantElements) throws ConcurrentExceptionOcurrenceException {
- String matchParticipant;
- List<GuardianMember> gmList;
-
- OMElement participant;
- while (participantElements.hasNext()) {
- participant = participantElements.next();
-
- matchParticipant = getAttributeValue(participant, Constants.MATCH);
- gmList = getMatchingParticipants(matchParticipant, ex);
-
- if (!gmList.isEmpty()) {
- throwExceptionTag(gmList, ex, participant.getChildElements());
- }
- }
- }
-
- private void throwExceptionTag(List<GuardianMember> gmList, GlobalExceptionInterface ex, Iterator<OMElement> throwExceptionElements) throws ConcurrentExceptionOcurrenceException {
- String className;
- String targetContextName;
- Integer minParticipantJoined;
- Integer maxParticipantJoined;
-
- OMElement throwException;
- while (throwExceptionElements.hasNext()) {
-
- throwException = throwExceptionElements.next();
-
- className = getAttributeValue(throwException, Constants.CLASS);
- targetContextName = getAttributeValue(throwException, Constants.TARGET_CONTEXT);
-
- try {
- minParticipantJoined = Integer.parseInt(getAttributeValue(throwException, Constants.MIN_PARTICIPANT_JOINED));
- } catch (NumberFormatException nex) {
- minParticipantJoined = null;
- }
-
- try {
- maxParticipantJoined = Integer.parseInt(getAttributeValue(throwException, Constants.MAX_PARTICIPANT_JOINED));
- } catch (NumberFormatException nexc) {
- maxParticipantJoined = null;
- }
-
- //Test the min and max joined participants condition
- if (minParticipantJoined != null && maxParticipantJoined != null) {
- if (!(guardianList.size() >= minParticipantJoined && guardianList.size() < maxParticipantJoined)) {
- break;
- }
- } else if (minParticipantJoined != null) {
- if (!(guardianList.size() >= minParticipantJoined)) {
- break;
- }
- } else if (minParticipantJoined != null) {
- if (!(guardianList.size() >= minParticipantJoined)) {
- break;
- }
- }
-
- //<affected_participants>
- String affectedParticipants = affectedParticipantsTag(throwException.getChildElements());
- int index = -1;
-
- //Verify if the parameter is an index
- try {
- index = Integer.parseInt(affectedParticipants);
- } catch (NumberFormatException nexc) {
- index = -1;
- }
-
- //Create the new exception instance
- Class exceptionClass;
- try {
- exceptionClass = Class.forName(className);
-
- Context targetContext;
- if (targetContextName.toUpperCase().equals(Context.CURRENT_CONTEXT.getName().toUpperCase())) {
- targetContext = Context.CURRENT_CONTEXT;
- } else if (targetContextName.toUpperCase().equals(Context.INIT_CONTEXT.getName().toUpperCase())) {
- targetContext = Context.INIT_CONTEXT;
- } else {
- targetContext = new Context(targetContextName);
- }
- GlobalException newException = (GlobalException) exceptionClass.newInstance();
-
- newException.setTargetContext(targetContext);
- newException.setSignalingContext(ex.getSignalingContext());
- newException.putSignalingParticipant(ex.getSignalingParticipants().toString());
-
- //Check concurrent exception existence
- if (concurrentExList.size() > 1) {
- throw new ConcurrentExceptionOcurrenceException(concurrentExList.toString());
- }
-
- //Add the exception to the participants matched
- if (index != -1) {
- gmList.get(index).addException(newException);
- } else if (affectedParticipants != null && affectedParticipants.length() != 0) {
- if (affectedParticipants.toUpperCase().equals(Constants.FIRST)) {
- gmList.get(0).addException(newException);
- } else if (affectedParticipants.toUpperCase().equals(Constants.LAST)) {
- gmList.get(gmList.size() - 1).addException(newException);
- } else if (affectedParticipants.toUpperCase().equals(Constants.ALL)) {
- for (GuardianMember gm : gmList) {
- gm.addException(newException);
- }
- }
- } else {
- for (GuardianMember gm : gmList) {
- gm.addException(newException);
- }
- }
-
- } catch (InstantiationException ex1) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex1);
- } catch (IllegalAccessException ex1) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex1);
- } catch (ClassNotFoundException ex1) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex1);
- }
- }
- }
-
- private String affectedParticipantsTag(Iterator<OMElement> affectedParticipantElements) {
-
- String affectedParticipantValue = null;
-
- OMElement affectedParticipant;
- while (affectedParticipantElements.hasNext()) {
-
- affectedParticipant = affectedParticipantElements.next();
- affectedParticipantValue = affectedParticipant.getText();
- }
-
- if (affectedParticipantValue != null && affectedParticipantValue.length() == 0) {
- affectedParticipantValue = null;
- }
-
- return affectedParticipantValue;
- }
-
- private String getAttributeValue(OMElement element, String attributeName) {
- OMAttribute at;
- Iterator it = element.getAllAttributes();
-
- while (it.hasNext()) {
- at = (OMAttribute) it.next();
- if (at.getLocalName().equals(attributeName)) {
- return at.getAttributeValue();
- }
- }
-
- return null;
- }
-
- private void applyConcurrentRecoveryRules() {
-
- boolean concurrentExOcurrence = false;
- List<GlobalExceptionInterface> copyConcurrentExList;
- GlobalExceptionInterface resolvedEx;
-
- do {
- System.out.println("Concurrent exceptions: " + concurrentExList);
-
- copyConcurrentExList = new LinkedList(concurrentExList);
-
- resolvedEx = checkExceptionResolutionTrees(copyConcurrentExList, resolutionTreeElements.values().iterator());
-
- concurrentExList.clear();
-
- System.out.println("Resolved Exception: " + resolvedEx);
- if (resolvedEx != null) {
- System.out.println("List of participants: " + resolvedEx.getSignalingParticipants());
- }
-
- try {
- //Process the exception list sequentially
- if (resolvedEx == null) {
- for (GlobalExceptionInterface ex : copyConcurrentExList) {
- applyRecoveryRules(ex);
- }
- } else {
- applyRecoveryRules(resolvedEx);
- }
-
- } catch (ConcurrentExceptionOcurrenceException exc) {
- concurrentExOcurrence = true;
- break;
- }
- } while (concurrentExOcurrence);
- }
-
- //FIXME: Need to check the exception level
- private GlobalExceptionInterface checkExceptionResolutionTrees(List<GlobalExceptionInterface> exceptionList, Iterator resolutionTreesElements) {
-
- OMElement tree;
- OMElement root;
- String exceptionLevel = null;
- GlobalExceptionInterface resolvedEx = null;
-
- while (resolutionTreesElements.hasNext()) {
- tree = (OMElement) resolutionTreesElements.next();
- exceptionLevel = tree.getAttributeValue(Constants.EXCEPTION_LEVEL_QNAME);
-
- root = (OMElement) tree.getChildElements().next();
- resolvedEx = checkExceptionResolutionTree(exceptionList, root);
-
- if (resolvedEx != null) {
- break;
- }
- }
-
- return resolvedEx;
- }
-
- //Search for the root of the smallest subtree that contains all the concurrently signaled exceptions. If not found, return null.
- private GlobalExceptionInterface checkExceptionResolutionTree(List<GlobalExceptionInterface> exceptionList, OMElement rootTree) {
-
- resolutionTreeUtils.setRoot(rootTree);
- String ex1, ex2;
- GlobalExceptionInterface resolvedEx = null;
-
- ex1 = exceptionList.get(0).getClass().getName();
- for (int i = 1; i < exceptionList.size(); i++) {
- ex2 = exceptionList.get(i).getClass().getName();
-
- try {
- ex1 = resolutionTreeUtils.getLowestCommonAncestor(ex1, ex2);
- } catch (InvalidNodeException invalidNodeException) {
- ex1 = null;
- break;
- }
- }
-
- if (ex1 != null) {
- Class exceptionClass;
-
- try {
- exceptionClass = Class.forName(ex1);
- resolvedEx = (GlobalException) exceptionClass.newInstance();
-
- for (GlobalExceptionInterface ex : exceptionList) {
- resolvedEx.putSignalingParticipant(ex.getSignalingParticipants().get(0));
- }
-
- } catch (InstantiationException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- } catch (ClassNotFoundException ex) {
- Logger.getLogger(GuardianGroupImpl.class.getName()).log(Level.SEVERE, null, ex);
- }
-
- return resolvedEx;
-
- } else {
- return null;
- }
- }
-
- private List<GuardianMember> getMatchingParticipants(String regularExpression, GlobalExceptionInterface signaledException) {
- List<GuardianMember> matchingParticipants = new LinkedList();
- String[] splitByComma = regularExpression.split(",");
-
- //Invalid regular expression
- if (splitByComma.length > 2) {
- throw new InvalidRegularExpression("The comma ',' operator can only be applied for two expressions");
- }
-
- //There is no comma on the regular expression
- if (splitByComma.length == 1) {
-
- if (regularExpression.toUpperCase().equals("SIGNALER")) {
- for (GuardianMember gm : guardianList) {
- if (signaledException.getSignalingParticipants().contains(gm.getParticipantIdentifier())) {
- matchingParticipants.add(gm);
- }
- }
- } else if (regularExpression.toUpperCase().equals("!SIGNALER")) {
- for (GuardianMember gm : guardianList) {
- if (!signaledException.getSignalingParticipants().contains(gm.getParticipantIdentifier())) {
- matchingParticipants.add(gm);
- }
- }
-
- } else {
- //Create an java regular expression
- String re = createJavaRegularExpression(regularExpression);
-
- for (GuardianMember gm : guardianList) {
- if (gm.getParticipantIdentifier().matches(re)) {
- matchingParticipants.add(gm);
- }
- }
- }
-
- } //There is comma on the regular expression
- else {
-
- String element;
- int index = -1;
- for (int i = 0; i < splitByComma.length; i++) {
- element = splitByComma[i].toUpperCase();
- if (element.equals("SIGNALER") || element.equals("!SIGNALER")) {
- if (index == -1) {
- index = i;
- } else {
- index = -1;
- }
- }
- }
-
- //Invalid expression
- if (index == -1) {
- throw new InvalidRegularExpression("The comma ',' requires a SIGNALER or !SIGNALER element in one side of the expression");
- }
-
- String re = createJavaRegularExpression(splitByComma[1 - index]);
-
- for (GuardianMember gm : guardianList) {
-
- //Test if the participant matches with the regular expression
- if (gm.getParticipantIdentifier().matches(re)) {
-
- //Test if the participant is Signaler
- if (splitByComma[index].toUpperCase().equals("SIGNALER")) {
-
- if (signaledException.getSignalingParticipants().contains(gm.getParticipantIdentifier())) {
- matchingParticipants.add(gm);
- }
- } //Test if the participant is not Signaler
- else {
- if (!signaledException.getSignalingParticipants().contains(gm.getParticipantIdentifier())) {
- matchingParticipants.add(gm);
- }
- }
- }
- }
-
- }
-
- return matchingParticipants;
- }
-
- /* Valid expressions: *, <Context>.*, <Context>, *.<Context>, *.<Context>.*,
- * *.<Context>.*.<Context>.*, <REG_EXP> || <REG_EXP>
- *
- * Invalid expressions: *.*, **,
- *
- * Not supported yet: !<Context>, !<Context> || <Context>, !(<Context> || <Context>)
- */
- private String createJavaRegularExpression(String regularExpression) throws InvalidRegularExpression {
- StringBuffer re = new StringBuffer();
-
- String[] splitByBar = regularExpression.split("\\|\\|");
- String[] splitByPeriod;
-
- for (int i = 0; i < splitByBar.length; i++) {
-
- splitByPeriod = splitByBar[i].split("\\.");
-
- if (i > 0) {
- re.append("|");
- }
-
- re.append("^");
- for (int j = 0; j < splitByPeriod.length; j++) {
-
- //*
- if (splitByPeriod[j].equals("*")) {
-
- //Validate the regular expression
- if (j + 1 != splitByPeriod.length && splitByPeriod[j + 1].equals("*")) {
- throw new InvalidRegularExpression();
- }
-
- //*
- if (splitByPeriod.length == 1) {
- re.append("(\\w+)");
- } //*.<CONTEXT>
-
- if (j == 0 && splitByPeriod.length != 1) {
- re.append("(\\w+\\");
- re.append(".)*");
- } //<CONTEXT>.*
- else {
- re.append("(\\");
- re.append(".\\w+)*");
- }
- } //<CONTEXT>
- else {
-
-// //Validate the regular expression
-// if (splitedByPeriod[j].matches("^(\\*)*$")) {
-// throw new RuntimeException("Invalid name for a context");
-// }
-
- //<CONTEXT> || <CONTEXT>.<CONTEXT>.<CONTEXT> || *.<CONTEXT>
- if (splitByPeriod.length == 1) {
- re.append("(\\w+\\");
- re.append(".)*");
- }
-
- if (j == 0 || j - 1 == 0) {
- re.append("(" + splitByPeriod[j] + ")");
- } else {
- re.append("(\\." + splitByPeriod[j] + ")");
- }
- }
- }
- re.append("$");
- }
- return re.toString();
- }
- }
-} \ No newline at end of file
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMember.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMember.java
deleted file mode 100644
index 48dad22bff..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMember.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.guardian;
-
-public interface GuardianMember extends GuardianPrimitives {
-
- public void addException(GlobalException ex);
-
- public void setService(BlockingInterface service);
-
- public void removeService();
-
- public Context getCurrentContext();
-
- public BlockingInterface getService();
-
- public String getParticipantIdentifier();
-
- public void setUniqueParticipantID(int id);
-
- public int getParticipantState();
-
- public void setParticipantState(int state);
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMemberImpl.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMemberImpl.java
deleted file mode 100644
index 893d5fcb1b..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMemberImpl.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * 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.guardian;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-import java.util.Stack;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.Service;
-
-@Service(GuardianMember.class)
-@Scope("COMPOSITE")
-public class GuardianMemberImpl implements GuardianMember {
-
- private int participantState;
- private Stack<Context> contextList;
- private BlockingInterface service;
- private Queue<GlobalException> exceptionQueue;
- @Reference(name = "guardian_group", required = true)
- public GuardianGroup guardianGroup;
- private int id;
- //FIXME: Review the usage of this variable
- private boolean exceptionThrown;
-
- public GuardianMemberImpl() {
- contextList = new Stack<Context>();
- contextList.add(Context.INIT_CONTEXT);
- exceptionQueue = new LinkedList<GlobalException>();
- participantState = GuardianGroup.NORMAL_PARTICIPANT_STATE;
- exceptionThrown = false;
- }
-
- @Init
- public void init() {
- guardianGroup.addGuardianMember(this);
- }
-
- @Destroy
- public void destroy() {
- guardianGroup.removeGuardianMember(this);
- }
-
- public void addException(GlobalException ex) {
- exceptionQueue.add(ex);
- }
-
- public void setService(BlockingInterface service) {
- this.service = service;
- }
-
- public Context getCurrentContext() {
- return contextList.peek();
- }
-
- public BlockingInterface getService() {
- return service;
- }
-
- public void enableContext(Context context) {
- //Update the context list with the related set of exceptions
- contextList.push(context);
-
- if (contextList.size() == 2) {
- JoinException ex = new JoinException();
- ex.setSignalingContext(context);
- ex.putSignalingParticipant(getParticipantIdentifier());
- gthrow(ex, null);
- }
-
- }
-
- public void removeContext() {
- if (!contextList.isEmpty()) {
- contextList.pop();
- }
- }
-
- //If participantList is null then signal to ALL participants
- public void gthrow(GlobalExceptionInterface ex, List<String> participantList) {
- //1)Block the participant until raise an exception
-
- if (!(ex instanceof SuspendException)) {
- //Set the exception's parameters
- ex.setSignalingContext(getCurrentContext());
- ex.putSignalingParticipant(getParticipantIdentifier());
-
- guardianGroup.gthrow(ex, participantList);
- exceptionThrown = true;
- } else {
- /*if (service instanceof BlockingInterface && !service.isBlocked()) {
- service.block();
- }*/
- setParticipantState(GuardianGroup.SUSPENDED_PARTICIPANT_STATE);
- }
- }
-
- public boolean propagate(GlobalExceptionInterface ex) {
- //1)Compares the current context with the exception's target context
- return !getCurrentContext().equals(ex.getTargetContext());
- }
-
- public void checkExceptionStatus() throws GlobalException {
-
- //Blocks until the state be diferent the SUSPENDED_STATE
- while (participantState == GuardianGroup.SUSPENDED_PARTICIPANT_STATE && exceptionThrown) {
- System.out.println(getParticipantIdentifier() + ": I am blocked!");
- try {
- Thread.sleep(5000);
- } catch (InterruptedException ex) {
- Logger.getLogger(GuardianMemberImpl.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- exceptionThrown = false;
- System.out.println(getParticipantIdentifier() + ": I am not blocked!");
-
- GlobalException exc;
-
- if ((exc = exceptionQueue.peek()) == null) {
- System.out.println(getParticipantIdentifier() + "#No exception on exception queue");
- return;
- }
-
- //Check if ex.targetContext() matches the participant id
- //Eg. ex.targetContext(): Main and participant id: Init.Main.Backup -> should thrown the exception
- //Test if the exception should be thrown in the target context
- for (Context c : contextList) {
- if (exc.getTargetContext().equals(c) && (c.equals(Context.INIT_CONTEXT) || c.getExceptionList().contains(exc.getClass()))) {
- System.out.println(getParticipantIdentifier() + "#Returning an exception");
- exceptionQueue.poll();
- throw exc;
- }
- }
-
- return;
- }
-
- public String getParticipantIdentifier() {
- //1) Return the participant identifier -> context list dot separated
- StringBuffer participantIdentifier = new StringBuffer();
- participantIdentifier.append(this.id);
- for (int i = 0; i < contextList.size(); i++) {
- participantIdentifier.append("." + contextList.get(i).getName());
- }
- return participantIdentifier.toString();
- }
-
- public void setUniqueParticipantID(int id) {
- this.id = id;
- }
-
- public void removeService() {
- this.service = null;
- }
-
- public int getParticipantState() {
- return participantState;
- }
-
- public void setParticipantState(int state) {
- this.participantState = state;
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianPrimitives.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianPrimitives.java
deleted file mode 100644
index 9ddd22a2fd..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianPrimitives.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.guardian;
-
-import java.util.List;
-
-//@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;
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidNodeException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidNodeException.java
deleted file mode 100644
index 3df76b0596..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidNodeException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.guardian;
-
-public class InvalidNodeException extends RuntimeException {
-
- public InvalidNodeException() {
- super();
- }
-
- public InvalidNodeException(String message) {
- super(message);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidRegularExpression.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidRegularExpression.java
deleted file mode 100644
index 30e750941e..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidRegularExpression.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.guardian;
-
-public class InvalidRegularExpression extends RuntimeException {
-
- public InvalidRegularExpression() {
- super();
- }
-
- public InvalidRegularExpression(String message) {
- super(message);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/JoinException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/JoinException.java
deleted file mode 100644
index b14ebeac2b..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/JoinException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.guardian;
-
-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);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/LeaveException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/LeaveException.java
deleted file mode 100644
index 04e892f4bd..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/LeaveException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.guardian;
-
-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);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ResolutionTreeUtils.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ResolutionTreeUtils.java
deleted file mode 100644
index 09dd0673eb..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ResolutionTreeUtils.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * 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.guardian;
-
-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;
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/SuspendException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/SuspendException.java
deleted file mode 100644
index b7ede6d530..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/SuspendException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.guardian;
-
-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);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/UnhandledException.java b/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/UnhandledException.java
deleted file mode 100644
index 81e3844280..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/UnhandledException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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.guardian;
-
-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);
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/lcaTest.xml b/sandbox/dougsleite/guardian-model/src/main/resources/lcaTest.xml
deleted file mode 100644
index e528760ad8..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/lcaTest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<resolution_trees>
- <resolution_tree exception_level="1">
- <exception class="Exception1">
- <exception class="Exception2">
- <exception class="Exception4"/>
- <exception class="Exception5"/>
- </exception>
- <exception class="Exception3">
- <exception class="Exception6"/>
- <exception class="Exception7"/>
- <exception class="Exception8"/>
- </exception>
- </exception>
- </resolution_tree>
-</resolution_trees>
-
-
-
-
-
-
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups-concurrent.composite b/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups-concurrent.composite
deleted file mode 100644
index 7cd28ff085..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups-concurrent.composite
+++ /dev/null
@@ -1,75 +0,0 @@
-<?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 (thea
- * "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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://serverbackup"
- name="serverbackup">
-
- <component name="Participant1">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember1"/>
- <reference name="nodes" target="Participant2 Participant3 Participant4"/>
- </component>
-
- <component name="Participant2">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember2"/>
- <reference name="nodes" target="Participant1 Participant3 Participant4"/>
- </component>
-
- <component name="Participant3">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember3"/>
- <reference name="nodes" target="Participant1 Participant2 Participant4"/>
- </component>
-
- <component name="Participant4">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember4"/>
- <reference name="nodes" target="Participant1 Participant2 Participant3"/>
- </component>
-
- <component name="GuardianMember1">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember2">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember3">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember4">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianGroup">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianGroupImpl"/>
- <property name="recovery_rules">src/main/resources/recoveryrules_nbackpus_concurrent.xml</property>
- <property name="resolution_tree">src/main/resources/resolutionTree.xml</property>
- </component>
-
-</composite>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups.composite b/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups.composite
deleted file mode 100644
index ecb12079f5..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups.composite
+++ /dev/null
@@ -1,74 +0,0 @@
-<?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 (thea
- * "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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://serverbackup"
- name="serverbackup">
-
- <component name="Participant1">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember1"/>
- <reference name="nodes" target="Participant2 Participant3 Participant4"/>
- </component>
-
- <component name="Participant2">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember2"/>
- <reference name="nodes" target="Participant1 Participant3 Participant4"/>
- </component>
-
- <component name="Participant3">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember3"/>
- <reference name="nodes" target="Participant1 Participant2 Participant4"/>
- </component>
-
- <component name="Participant4">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember4"/>
- <reference name="nodes" target="Participant1 Participant2 Participant3"/>
- </component>
-
- <component name="GuardianMember1">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember2">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember3">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember4">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianGroup">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianGroupImpl"/>
- <property name="recovery_rules">src/main/resources/recoveryrules_nbackpus.xml</property>
- </component>
-
-</composite>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup-ws.composite b/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup-ws.composite
deleted file mode 100644
index 3de5d87fa2..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup-ws.composite
+++ /dev/null
@@ -1,63 +0,0 @@
-<?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 (thea
- * "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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://serverbackup"
- name="serverbackup">
-<!--
- <component name="Participant1">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember1"/>
- <reference name="node" target="Participant2"/>
- </component>
-
- <component name="Participant2">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember2"/>
- <reference name="node" target="Participant1"/>
- </component>
-
- <component name="GuardianMember1">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group">
- <interface.java interface="org.apache.tuscany.sca.guardian.GuardianGroup"/>
- <binding.ws uri="http://localhost:8085/GuardianGroup" requires="MTOM"/>
- </reference>
- </component>
-
- <component name="GuardianMember2">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group">
- <interface.java interface="org.apache.tuscany.sca.guardian.GuardianGroup"/>
- <binding.ws uri="http://localhost:8085/GuardianGroup" requires="MTOM"/>
- </reference>
- </component>
--->
-
- <component name="GuardianGroupComponent">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianGroupImpl"/>
- <property name="recovery_rules">src/main/resources/recoveryrules.xml</property>
- <service name="GuardianGroup">
- <interface.java interface="org.apache.tuscany.sca.guardian.GuardianGroup"/>
- <binding.ws uri="http://localhost:8085/GuardianGroup" requires="MTOM"/>
- </service>
- </component>
-
-</composite>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup.composite b/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup.composite
deleted file mode 100644
index 9160a070c8..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup.composite
+++ /dev/null
@@ -1,52 +0,0 @@
-<?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 (thea
- * "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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://primarybackup"
- name="primarybackup">
-
- <component name="Participant1">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember1"/>
- <reference name="nodes" target="Participant2"/>
- </component>
-
- <component name="Participant2">
- <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/>
- <reference name="guardian_member" target="GuardianMember2"/>
- <reference name="nodes" target="Participant1"/>
- </component>
-
- <component name="GuardianMember1">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianMember2">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/>
- <reference name="guardian_group" target="GuardianGroup"/>
- </component>
-
- <component name="GuardianGroup">
- <implementation.java class="org.apache.tuscany.sca.guardian.GuardianGroupImpl"/>
- <property name="recovery_rules">src/main/resources/recoveryrules.xml</property>
- </component>
-
-</composite>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules.xml b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules.xml
deleted file mode 100644
index 5df6a321e6..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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 (thea
- * "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.
--->
-
-<recovery_rules>
-
- <rule name="Rule1" signaled_exception="org.apache.tuscany.sca.guardian.JoinException">
-
- <participant match="SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryExistsException" target_context="MAIN" min_participant_joined="2"/>
- </participant>
-
- <participant match="!SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupJoinedException" target_context="PRIMARY" min_participant_joined="2"/>
- </participant>
- </rule>
-
- <rule name="Rule2" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
- </participant>
-
- <participant match="*.BACKUP">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN"/>
- </participant>
- </rule>
-
- <rule name="Rule3" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="PRIMARY"/>
- </participant>
-
- <participant match="*.BACKUP">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
- </participant>
- </rule>
-
-</recovery_rules>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus.xml b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus.xml
deleted file mode 100644
index 468fe5fc3a..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?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 (thea
- * "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.
--->
-
-<recovery_rules>
-
- <rule name="Rule1" signaled_exception="org.apache.tuscany.sca.guardian.JoinException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupJoinedException" target_context="PRIMARY"/>
- </participant>
-
- <participant match="SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryExistsException" target_context="MAIN" min_participant_joined="2"/>
- </participant>
- </rule>
-
- <rule name="Rule2" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
- </participant>
-
- <participant match="*.BACKUP">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
- <affected_participants>FIRST</affected_participants>
- </throw_exception>
- </participant>
- </rule>
-
- <rule name="Rule3" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="PRIMARY"/>
- </participant>
-
- <participant match="SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
- </participant>
- </rule>
-
-</recovery_rules>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml b/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
deleted file mode 100644
index 65c509751c..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/recoveryrules_nbackpus_concurrent.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?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 (thea
- * "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.
--->
-
-<recovery_rules>
-
- <!-- A new participant joins in the group -->
- <rule name="Rule1" signaled_exception="org.apache.tuscany.sca.guardian.JoinException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupJoinedException" target_context="PRIMARY"/>
- </participant>
-
- <participant match="SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryExistsException" target_context="MAIN" min_participant_joined="2"/>
- </participant>
- </rule>
-
- <!-- The Primary fails -->
- <rule name="Rule2" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
- </participant>
-
- <participant match="*.BACKUP">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
- <affected_participants>FIRST</affected_participants>
- </throw_exception>
- </participant>
- </rule>
-
- <!-- The Backup fails -->
- <rule name="Rule3" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="PRIMARY"/>
- </participant>
-
- <participant match="SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
- </participant>
- </rule>
-
- <!-- The Primary and Backup fail together -->
- <rule name="Rule4" signaled_exception="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryBackupFailedTogetherException">
-
- <participant match="*.PRIMARY">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="INIT_CONTEXT"/>
- </participant>
-
- <!-- Backup signaler -->
- <participant match="*.BACKUP,SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException" target_context="INIT_CONTEXT"/>
- </participant>
-
- <!-- Excluding the backup signaler -->
- <participant match="*.BACKUP,!SIGNALER">
- <throw_exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException" target_context="MAIN">
- <affected_participants>FIRST</affected_participants>
- </throw_exception>
- </participant>
-
- </rule>
-
-</recovery_rules>
diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/resolutionTree.xml b/sandbox/dougsleite/guardian-model/src/main/resources/resolutionTree.xml
deleted file mode 100644
index 34c2fec0bf..0000000000
--- a/sandbox/dougsleite/guardian-model/src/main/resources/resolutionTree.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<resolution_trees>
- <resolution_tree exception_level="1">
- <exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryBackupFailedTogetherException">
- <exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.PrimaryFailedException"/>
- <exception class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.BackupFailedException"/>
- </exception>
- </resolution_tree>
-</resolution_trees>
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/LCATestCase.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/LCATestCase.java
deleted file mode 100644
index bdcb7ac97d..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/LCATestCase.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * 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.guardian.itests;
-
-import java.io.FileInputStream;
-import org.apache.tuscany.sca.policy.resolutiontrees.*;
-import org.apache.tuscany.sca.guardian.ResolutionTreeUtils;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Map;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-import org.junit.Test;
-import org.apache.axiom.om.OMElement;
-import java.util.List;
-import junit.framework.Assert;
-import org.junit.Before;
-
-public class LCATestCase {
-
- private ResolutionTreeUtils treeUtils;
-
- @Before
- public void init() throws Exception {
- ResolutionTreesPolicyProcessor processor = new ResolutionTreesPolicyProcessor(null, null);
-
- FileInputStream fileInputStream = new FileInputStream("src/main/resources/lcaTest.xml");
- XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(fileInputStream);
-
-
- ResolutionTreesPolicy policy = processor.read(reader);
- Map<String, OMElement> resolutionTrees = policy.getResolutionTreeElements();
-
- List<OMElement> rootElements = getRootElements(resolutionTrees.values());
-
- treeUtils = new ResolutionTreeUtils();
- treeUtils.setRoot(rootElements.get(0));
- }
-
- @Test
- public void testLCAEx2Ex2() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception2", "Exception2");
- System.out.println("lca: " + lca);
- Assert.assertEquals("Exception2", lca);
- }
-
- @Test
- public void testLCAEx2Ex3() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception2", "Exception3");
- Assert.assertEquals("Exception1", lca);
- }
-
- @Test
- public void testLCAEx2Ex8() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception2", "Exception8");
- Assert.assertEquals("Exception1", lca);
- }
-
- @Test
- public void testLCAEx4Ex3() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception4", "Exception3");
- Assert.assertEquals("Exception1", lca);
- }
-
- @Test
- public void testLCAEx4Ex5() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception4", "Exception5");
- Assert.assertEquals("Exception2", lca);
- }
-
- @Test
- public void testLCAEx6Ex7() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception6", "Exception7");
- Assert.assertEquals("Exception3", lca);
- }
-
- @Test
- public void testLCAEx1Ex8() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception1", "Exception8");
- Assert.assertEquals("Exception1", lca);
- }
-
- @Test
- public void testLCAEx2Ex5() throws Exception {
- String lca = treeUtils.getLowestCommonAncestor("Exception2", "Exception5");
- Assert.assertEquals("Exception2", lca);
- }
-
- private List<OMElement> getRootElements(Collection<OMElement> resolutionTrees) {
- List<OMElement> rootElements = new LinkedList<OMElement>();
-
- for (OMElement resolutionTree : resolutionTrees) {
- rootElements.add(resolutionTree.getFirstElement());
- }
-
- return rootElements;
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/concurrentexceptions/Launch.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/concurrentexceptions/Launch.java
deleted file mode 100644
index 9ac2e9113b..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/concurrentexceptions/Launch.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.guardian.itests.concurrentexceptions;
-
-import java.io.IOException;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.Node;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.TestInterface;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Launch {
-
- public static void main(String... args) throws IOException {
- SCADomain scaDomain = SCADomain.newInstance("primaryNbackups-concurrent.composite");
-
- System.out.println("Starting participat1...");
- Node c = scaDomain.getService(Node.class, "Participant1");
- c.execute();
-
- System.in.read();
-
- System.out.println("Starting participant2...");
- Node c2 = scaDomain.getService(Node.class, "Participant2");
- c2.execute();
-
- System.in.read();
-
- System.out.println("Starting participant3...");
- Node c3 = scaDomain.getService(Node.class, "Participant3");
- c3.execute();
-
- System.in.read();
-
- System.out.println("Starting participant4...");
- Node c4 = scaDomain.getService(Node.class, "Participant4");
- c4.execute();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant1...");
- TestInterface t = scaDomain.getService(TestInterface.class, "Participant1");
- t.forcePrimaryServiceFailureException();
-
- System.out.println("Forcing exception ocurrence at participant2...");
- TestInterface t2 = scaDomain.getService(TestInterface.class, "Participant2");
- t2.forceApplyUpdateFailureException();
-
- System.in.read();
-
- scaDomain.close();
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java
deleted file mode 100644
index d7f0f763e2..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-public class ApplyUpdateFailureException extends RuntimeException {
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java
deleted file mode 100644
index 6660d6b42f..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.*;
-
-public class BackupFailedException extends GlobalException {
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java
deleted file mode 100644
index 6d81d1933e..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.GlobalException;
-
-public class BackupJoinedException extends GlobalException {
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java
deleted file mode 100644
index 9fb6a27a45..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.BlockingInterface;
-import org.osoa.sca.annotations.OneWay;
-
-public interface Node extends BlockingInterface {
-
- @OneWay
- public void execute();
-
- public void sendUpdate(String s);
-
- public void applyUpdate();
-
- public String getID();
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java
deleted file mode 100644
index 00880352b8..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.tuscany.sca.guardian.Context;
-import org.apache.tuscany.sca.guardian.GuardianMember;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Destroy;
-import org.osoa.sca.annotations.OneWay;
-
-@Scope("COMPOSITE")
-//public class NodeImpl implements Node, TestInterface {
-public class NodeImpl implements Node {
-
- private static int PRIMARY = 0;
- private static int BACKUP = 1;
- private boolean isBlocked;
- private Context mainContext;
- private Context primaryContext;
- private Context backupContext;
- private int role;
- private String pID;
- private Queue<String> updates;
- @Reference(name = "guardian_member", required = true)
- public GuardianMember gm;
- @Reference(name = "nodes", required = true)
- public List<Node> nodeList;
- private boolean forcePSFException;
- private boolean forceAUFException;
- private int upcount;
-
- public NodeImpl() {
-
- mainContext = new Context("MAIN");
- mainContext.addException(PrimaryFailedException.class);
- mainContext.addException(PrimaryExistsException.class);
-
- primaryContext = new Context("PRIMARY");
- primaryContext.addException(BackupFailedException.class);
- primaryContext.addException(BackupJoinedException.class);
- primaryContext.addException(PrimaryServiceFailureException.class);
-
- backupContext = new Context("BACKUP", null);
-
- updates = new LinkedList();
-
- isBlocked = true;
-
- nodeList = new LinkedList<Node>();
-
- forcePSFException = false;
- forceAUFException = false;
- }
-
- @Init
- public void init() {
- gm.setService(this);
- pID = gm.getParticipantIdentifier();
- }
-
- @Destroy
- public void destroy() {
- gm.removeService();
- }
-
- @OneWay
- public void execute() {
- isBlocked = false;
- gm.enableContext(mainContext);
- role = PRIMARY;
-
- while (true) {
-
- //blockingCheck();
-
- try {
- System.out.println(pID + "#Main context: ");
- sleep(pID + "#Sleeping at main context...", 4000);
-
- gm.checkExceptionStatus();
-
- if (role == PRIMARY) {
- //Config as primary then...
- primaryService();
- } else {
- //Config as backup then...
- backupService();
- }
-
-
- } catch (PrimaryExistsException ex) {
- System.out.println(pID + "# Exception captured!: PrimaryExistsException");
- System.out.println(pID + "#Needs propagation?: " + gm.propagate(ex));
-
- if (gm.propagate(ex)) {
- throw ex;
- }
-
- role = BACKUP;
- } catch (PrimaryFailedException ex) {
- System.out.println(pID + "# Exception captured!: PrimaryFailedException");
- System.out.println(pID + "#Needs propagation?: " + gm.propagate(ex));
-
- if (gm.propagate(ex)) {
- //throw ex;
- this.block();
- ex.printStackTrace();
- return;
- }
-
- role = PRIMARY;
-
- } catch (BackupFailedException ex) {
- System.out.println(pID + "# Exception captured!: BackupFailedException");
- System.out.println(pID + "#Needs propagation?: " + gm.propagate(ex));
-
- if (gm.propagate(ex)) {
- //throw ex;
- this.block();
- ex.printStackTrace();
- return;
- }
- }
- }
- }
-
- private void primaryService() {
- boolean backupAvailable = isThereBackupAvailable();
-
- upcount = 1;
-
- while (true) {
-
- gm.enableContext(primaryContext);
-
- //blockingCheck();
-
- try {
- System.out.println(pID + "#Primary context: ");
- sleep(pID + "#Sleeping at primary context...", 4000);
- gm.checkExceptionStatus();
-
- //Process the request then...
- System.out.println(pID + "#Processing the request...");
-
- //Check for an internal error
- if (forcePSFException) {
- throw new PrimaryServiceFailureException();
- }
-
- if (backupAvailable) {
-
- if (!updateBackups()) {
- backupAvailable = isThereBackupAvailable();
- }
-
- } else {
- System.out.println(pID + "#No backup available to send updates!");
- //backupAvailable = isThereBackupAvailable();
- }
- //send the reply to the client
- System.out.println(pID + "#Sending the reply to the client...");
-
- } catch (PrimaryServiceFailureException ex) {
- System.out.println(pID + "# Exception captured!: PrimaryServiceFailureException");
- gm.gthrow(new PrimaryFailedException(), null);
- } catch (BackupFailedException ex) {
- System.out.println(pID + "# Exception captured!: BackupFailedException");
- //backupAvailable = false;
- backupAvailable = isThereBackupAvailable();
- } catch (BackupJoinedException ex) {
- System.out.println(pID + "# Exception captured!: BackupJoinedException");
- backupAvailable = true;
- } finally {
- gm.removeContext();
- }
- }
- }
-
- private boolean updateBackups() {
- boolean flag = false;
-
- for (Node n : nodeList) {
- if (!n.isBlocked()) {
- n.sendUpdate("Update " + upcount);
- flag = true;
- }
- }
- if (flag) {
- upcount++;
- }
-
- return flag;
- }
-
- private void backupService() {
- while (true) {
-
- gm.enableContext(backupContext);
-
- //blockingCheck();
-
- try {
- System.out.println(pID + "#Backup context: ");
- sleep(pID + "#Sleeping at backup service", 4000);
- gm.checkExceptionStatus();
-
- applyUpdate();
-
- if (forceAUFException) {
- throw new ApplyUpdateFailureException();
- }
-
- } catch (ApplyUpdateFailureException ex) {
- System.out.println(pID + "# Exception captured!: ApplyUpdateFailureException");
- gm.gthrow(new BackupFailedException(), null);
- } finally {
- gm.removeContext();
- }
- }
- }
-
- public String getID() {
- return gm.getParticipantIdentifier();
- }
-
- private void sleep(String msg, int millis) {
- try {
- System.out.println(msg);
- Thread.sleep(millis);
- } catch (InterruptedException ex) {
- Logger.getLogger(NodeImpl.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- private boolean isThereBackupAvailable() {
- for (Node n : nodeList) {
- if (!n.isBlocked()) {
- return true;
- }
- }
- return false;
- }
-
- public void block() {
- isBlocked = true;
- }
-
- public boolean isBlocked() {
- return isBlocked;
- }
-
- public void unblock() {
- isBlocked = false;
- }
-
- private void blockingCheck() {
- System.out.println(pID + "#Participant blocked!");
- while (isBlocked) {
- System.out.println("isBlocked: " + isBlocked);
- try {
- Thread.sleep(5000);
- } catch (InterruptedException ex) {
- Logger.getLogger(NodeImpl.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- System.out.println(pID + "#Participant unblocked!");
- }
-
- public void sendUpdate(String update) {
- System.out.println(pID + "#Receiving updates from primary: " + update);
- updates.offer(update);
- }
-
- public void applyUpdate() {
- if (!updates.isEmpty()) {
- System.out.println(pID + "#Applying the updates received from the primary: " + updates.poll());
- }
- }
-
- public void forcePrimaryServiceFailureException() {
- forcePSFException = true;
- }
-
- public void forceApplyUpdateFailureException() {
- forceAUFException = true;
- }
-}
-
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java
deleted file mode 100644
index d2ce160bd7..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.GlobalException;
-
-public class PrimaryBackupFailedTogetherException extends GlobalException {
-
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java
deleted file mode 100644
index 935c97966e..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.GlobalException;
-
-public class PrimaryExistsException extends GlobalException {
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java
deleted file mode 100644
index 00f2f84c00..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.GlobalException;
-
-public class PrimaryFailedException extends GlobalException {
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java
deleted file mode 100644
index 46f52ea198..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-import org.apache.tuscany.sca.guardian.GlobalException;
-
-public class PrimaryServiceFailureException extends GlobalException {
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java
deleted file mode 100644
index f659a15530..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.common;
-
-public interface TestInterface {
-
- public void forcePrimaryServiceFailureException();
-
- public void forceApplyUpdateFailureException();
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch.java
deleted file mode 100644
index 333f231e59..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.nbackups;
-
-import java.io.IOException;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.Node;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.TestInterface;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Launch {
-
- public static void main(String... args) throws IOException {
- SCADomain scaDomain = SCADomain.newInstance("primaryNbackups.composite");
-
- System.out.println("Starting participat1...");
- Node c = scaDomain.getService(Node.class, "Participant1");
- c.execute();
-
- System.in.read();
-
- System.out.println("Starting participant2...");
- Node c2 = scaDomain.getService(Node.class, "Participant2");
- c2.execute();
-
- System.in.read();
-
- System.out.println("Starting participant3...");
- Node c3 = scaDomain.getService(Node.class, "Participant3");
- c3.execute();
-
- System.in.read();
-
- System.out.println("Starting participant4...");
- Node c4 = scaDomain.getService(Node.class, "Participant4");
- c4.execute();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant1...");
- TestInterface t = scaDomain.getService(TestInterface.class, "Participant1");
- t.forcePrimaryServiceFailureException();
-
- System.in.read();
-
- scaDomain.close();
- }
-}
-
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch2.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch2.java
deleted file mode 100644
index 94767c85dd..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch2.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.nbackups;
-
-import java.io.IOException;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.Node;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.TestInterface;
-
-public class Launch2 {
-
- public static void main(String... args) throws IOException {
- SCADomain scaDomain = SCADomain.newInstance("primaryNbackups.composite");
-
- System.out.println("Starting participat1...");
- Node c = scaDomain.getService(Node.class, "Participant1");
- c.execute();
-
- System.in.read();
-
- System.out.println("Starting participant2...");
- Node c2 = scaDomain.getService(Node.class, "Participant2");
- c2.execute();
-
- System.in.read();
-
- System.out.println("Starting participant3...");
- Node c3 = scaDomain.getService(Node.class, "Participant3");
- c3.execute();
-
- System.in.read();
-
- System.out.println("Starting participant4...");
- Node c4 = scaDomain.getService(Node.class, "Participant4");
- c4.execute();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant2...");
- TestInterface t = scaDomain.getService(TestInterface.class, "Participant2");
- t.forceApplyUpdateFailureException();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant3...");
- TestInterface t2 = scaDomain.getService(TestInterface.class, "Participant3");
- t2.forceApplyUpdateFailureException();
-
- System.in.read();
-
- scaDomain.close();
- }
-}
-
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch3.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch3.java
deleted file mode 100644
index 83d8c90d79..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch3.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2009 douglas.
- *
- * 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.
- * under the License.
- */
-
-package org.apache.tuscany.sca.guardian.itests.primaryBackup.nbackups;
-
-import java.io.IOException;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.Node;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.TestInterface;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-/**
- *
- * @author douglas
- */
-public class Launch3 {
- public static void main(String... args) throws IOException {
- SCADomain scaDomain = SCADomain.newInstance("primaryNbackups.composite");
-
- System.out.println("Starting participat1...");
- Node c = scaDomain.getService(Node.class, "Participant1");
- c.execute();
-
- System.in.read();
-
- System.out.println("Starting participant2...");
- Node c2 = scaDomain.getService(Node.class, "Participant2");
- c2.execute();
-
- System.in.read();
-
- System.out.println("Starting participant3...");
- Node c3 = scaDomain.getService(Node.class, "Participant3");
- c3.execute();
-
- System.in.read();
-
- System.out.println("Starting participant4...");
- Node c4 = scaDomain.getService(Node.class, "Participant4");
- c4.execute();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant2...");
- TestInterface t = scaDomain.getService(TestInterface.class, "Participant2");
- t.forceApplyUpdateFailureException();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant1...");
- TestInterface t2 = scaDomain.getService(TestInterface.class, "Participant1");
- t2.forcePrimaryServiceFailureException();
-
- System.in.read();
-
- scaDomain.close();
- }
-}
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java
deleted file mode 100644
index 66b7d0a18d..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.simple;
-
-import java.io.IOException;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.Node;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.TestInterface;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class Launch {
-
- public static void main(String... args) throws IOException {
- SCADomain scaDomain = SCADomain.newInstance("primarybackup.composite");
-
- System.out.println("Starting participat1...");
- Node c = scaDomain.getService(Node.class, "Participant1");
- c.execute();
-
- System.in.read();
-
- System.out.println("Starting participant2...");
- Node c2 = scaDomain.getService(Node.class, "Participant2");
- c2.execute();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant1...");
- TestInterface t = scaDomain.getService(TestInterface.class, "Participant1");
- t.forcePrimaryServiceFailureException();
-
- System.in.read();
-
- scaDomain.close();
- }
-}
-
diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java
deleted file mode 100644
index 34eedcaa13..0000000000
--- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.guardian.itests.primaryBackup.simple;
-
-import java.io.IOException;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.Node;
-import org.apache.tuscany.sca.guardian.itests.primaryBackup.common.TestInterface;
-
-public class Launch2 {
-
- public static void main(String... args) throws IOException {
- SCADomain scaDomain = SCADomain.newInstance("primarybackup.composite");
-
- System.out.println("Starting participat1...");
- Node c = scaDomain.getService(Node.class, "Participant1");
- c.execute();
-
- System.in.read();
-
- System.out.println("Starting participant2...");
- Node c2 = scaDomain.getService(Node.class, "Participant2");
- c2.execute();
-
- System.in.read();
-
- System.out.println("Forcing exception ocurrence at participant2...");
- TestInterface t = scaDomain.getService(TestInterface.class, "Participant2");
- t.forceApplyUpdateFailureException();
-
- System.in.read();
-
- scaDomain.close();
- }
-}
-