diff options
author | dougsleite <dougsleite@13f79535-47bb-0310-9956-ffa450edef68> | 2009-09-28 14:37:58 +0000 |
---|---|---|
committer | dougsleite <dougsleite@13f79535-47bb-0310-9956-ffa450edef68> | 2009-09-28 14:37:58 +0000 |
commit | f4f96f8c8ec04e4c1709d3037e57589145be12fa (patch) | |
tree | a8bf81061fdc2af53fae50eebf063bd1ecfdc854 /sandbox/dougsleite/guardian-model | |
parent | 215c005bde88752999978adce56b09d2a90a13b7 (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 '')
50 files changed, 187 insertions, 767 deletions
diff --git a/sandbox/dougsleite/guardian-model/.settings/org.eclipse.jdt.core.prefs b/sandbox/dougsleite/guardian-model/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2f04a7646c..0000000000 --- a/sandbox/dougsleite/guardian-model/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,5 +0,0 @@ -#Tue Jun 23 15:59:15 BRT 2009 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.source=1.5 diff --git a/sandbox/dougsleite/guardian-model/.settings/org.maven.ide.eclipse.prefs b/sandbox/dougsleite/guardian-model/.settings/org.maven.ide.eclipse.prefs deleted file mode 100644 index c8dabf2f86..0000000000 --- a/sandbox/dougsleite/guardian-model/.settings/org.maven.ide.eclipse.prefs +++ /dev/null @@ -1,9 +0,0 @@ -#Tue Jun 23 15:58:52 BRT 2009 -activeProfiles= -eclipse.preferences.version=1 -fullBuildGoals=process-test-resources -includeModules=false -resolveWorkspaceProjects=true -resourceFilterGoals=process-resources resources\:testResources -skipCompilerPlugin=true -version=1 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/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/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/.classpath b/sandbox/dougsleite/implementation-guardian/.classpath index 554ad2954f..554ad2954f 100644 --- a/sandbox/dougsleite/guardian-model/.classpath +++ b/sandbox/dougsleite/implementation-guardian/.classpath diff --git a/sandbox/dougsleite/guardian-model/.project b/sandbox/dougsleite/implementation-guardian/.project index a5f54ef1d3..a5f54ef1d3 100644 --- a/sandbox/dougsleite/guardian-model/.project +++ b/sandbox/dougsleite/implementation-guardian/.project diff --git a/sandbox/dougsleite/guardian-model/pom.xml b/sandbox/dougsleite/implementation-guardian/pom.xml index a204957231..dcd91936e6 100644 --- a/sandbox/dougsleite/guardian-model/pom.xml +++ b/sandbox/dougsleite/implementation-guardian/pom.xml @@ -25,8 +25,8 @@ <version>1.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>tuscany-guardian</artifactId>
- <name>Apache Tuscany SCA Guardian Model</name>
+ <artifactId>tuscany-implementation-guardian</artifactId>
+ <name>Apache Tuscany SCA Implementation Guardian Model</name>
<repositories>
<repository>
@@ -68,18 +68,6 @@ <version>1.5</version>
</dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-resolutiontrees</artifactId>
- <version>1.6-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-recoveryrules</artifactId>
- <version>1.6-SNAPSHOT</version>
- </dependency>
-
</dependencies>
<build>
@@ -91,9 +79,9 @@ <configuration>
<instructions>
<Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.guardian</Bundle-SymbolicName>
+ <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.guardian</Bundle-SymbolicName>
<Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.guardian*</Export-Package>
+ <Export-Package>org.apache.tuscany.sca.implementation.guardian*</Export-Package>
</instructions>
</configuration>
</plugin>
diff --git a/sandbox/dougsleite/guardian-model/sequenceDiagram-externalException.jpg b/sandbox/dougsleite/implementation-guardian/sequenceDiagram-externalException.jpg Binary files differindex 60060ca0e2..60060ca0e2 100644 --- a/sandbox/dougsleite/guardian-model/sequenceDiagram-externalException.jpg +++ b/sandbox/dougsleite/implementation-guardian/sequenceDiagram-externalException.jpg diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/BlockingInterface.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java index 848c4a874d..1bb1066435 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/BlockingInterface.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/BlockingInterface.java @@ -16,8 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian; +@Deprecated public interface BlockingInterface { //@OneWay diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroup.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java index 5119390a14..2775699843 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroup.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianGroup.java @@ -16,11 +16,8 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian; -import org.osoa.sca.annotations.Remotable; - -//@Remotable public interface GuardianGroup extends GuardianPrimitives { public static int NORMAL_PARTICIPANT_STATE = 0; diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMember.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java index 48dad22bff..b82bf082b1 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMember.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianMember.java @@ -16,19 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian; + +import org.apache.tuscany.sca.implementation.guardian.common.Context; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalException; public interface GuardianMember extends GuardianPrimitives { public void addException(GlobalException ex); - public void setService(BlockingInterface service); - - public void removeService(); - - public Context getCurrentContext(); - - public BlockingInterface getService(); + public Context getCurrentContext(); public String getParticipantIdentifier(); diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianPrimitives.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java index 9ddd22a2fd..c50e855d30 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianPrimitives.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/GuardianPrimitives.java @@ -16,9 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian; import java.util.List; +import org.apache.tuscany.sca.implementation.guardian.common.Context; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalExceptionInterface; //@Remotable public interface GuardianPrimitives { diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ConcurrentExceptionOcurrenceException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java index 30584f2d78..4bfe1320b4 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ConcurrentExceptionOcurrenceException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ConcurrentExceptionOcurrenceException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; -class ConcurrentExceptionOcurrenceException extends Exception { +public class ConcurrentExceptionOcurrenceException extends Exception { public ConcurrentExceptionOcurrenceException() { super(); diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Constants.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java index 9fa4db4f78..cf5d56179d 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Constants.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Constants.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; import javax.xml.namespace.QName; @@ -78,4 +78,5 @@ public interface Constants { 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/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java index 3ac5d63a42..95c6f3bed6 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/Context.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; import java.util.LinkedList; import java.util.List; diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java index b880db6aa1..022fe1a5f8 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalException.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; import java.util.LinkedList; import java.util.List; diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalExceptionInterface.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java index 68a09a9bc8..450d4ae18b 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GlobalExceptionInterface.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/GlobalExceptionInterface.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; import java.util.List; diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidNodeException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java index 3df76b0596..ed85661dbf 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidNodeException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidNodeException.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; public class InvalidNodeException extends RuntimeException { diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidRegularExpression.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java index 30e750941e..99aa027fb8 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/InvalidRegularExpression.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/InvalidRegularExpressionException.java @@ -16,15 +16,15 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; -public class InvalidRegularExpression extends RuntimeException { +public class InvalidRegularExpressionException extends RuntimeException { - public InvalidRegularExpression() { + public InvalidRegularExpressionException() { super(); } - public InvalidRegularExpression(String message) { + public InvalidRegularExpressionException(String message) { super(message); } } diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/JoinException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java index b14ebeac2b..890b8704ee 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/JoinException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/JoinException.java @@ -17,9 +17,9 @@ * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; -class JoinException extends GlobalException { +public class JoinException extends GlobalException { public JoinException() { super(); diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/LeaveException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java index 04e892f4bd..9684de22ad 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/LeaveException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/LeaveException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; -class LeaveException extends GlobalException { +public class LeaveException extends GlobalException { public LeaveException() { super(); diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ResolutionTreeUtils.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java index 09dd0673eb..fbf147285e 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/ResolutionTreeUtils.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/ResolutionTreeUtils.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; import java.util.Collections; import java.util.Hashtable; diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/SuspendException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java index b7ede6d530..5ce2f5afd9 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/SuspendException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/SuspendException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; -class SuspendException extends GlobalException { +public class SuspendException extends GlobalException { public SuspendException() { super(); diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/UnhandledException.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java index 81e3844280..a8f9cdfad6 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/UnhandledException.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/UnhandledException.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.common; public class UnhandledException extends GlobalException { diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroupImpl.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImpl.java index f9fe5c2c59..5a243560e3 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianGroupImpl.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImpl.java @@ -16,10 +16,8 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.impl; -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; @@ -33,13 +31,21 @@ 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; +import org.apache.tuscany.sca.contribution.service.ContributionReadException; +import org.apache.tuscany.sca.implementation.guardian.common.InvalidRegularExpressionException; +import org.apache.tuscany.sca.implementation.guardian.GuardianGroup; +import org.apache.tuscany.sca.implementation.guardian.GuardianMember; +import org.apache.tuscany.sca.implementation.guardian.common.ConcurrentExceptionOcurrenceException; +import org.apache.tuscany.sca.implementation.guardian.common.Constants; +import org.apache.tuscany.sca.implementation.guardian.common.Context; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalExceptionInterface; +import org.apache.tuscany.sca.implementation.guardian.common.InvalidNodeException; +import org.apache.tuscany.sca.implementation.guardian.common.ResolutionTreeUtils; +import org.apache.tuscany.sca.implementation.guardian.common.SuspendException; +import org.apache.tuscany.sca.implementation.guardian.xml.RecoveryRulesProcessor; +import org.apache.tuscany.sca.implementation.guardian.xml.ResolutionTreesProcessor; -@Service(GuardianGroup.class) -@Scope("COMPOSITE") public class GuardianGroupImpl implements GuardianGroup { private List<GuardianMember> guardianList; @@ -49,20 +55,22 @@ public class GuardianGroupImpl implements GuardianGroup { private ResolutionTreeUtils resolutionTreeUtils; private Map<String, OMElement> ruleElements; - public GuardianGroupImpl() { + public GuardianGroupImpl(String recoveryRules, String resolutionTrees) { guardianList = new LinkedList<GuardianMember>(); concurrentExList = new LinkedList<GlobalExceptionInterface>(); innerThread = new InnerGuardianGroupThread(); resolutionTreeUtils = new ResolutionTreeUtils(); + + setRecoveryRules(recoveryRules); + setResolutionTree(resolutionTrees); } - @Property(name = "recovery_rules", required = false) - public void setRecoveryRules(String recoveryRules) { + private void setRecoveryRules(String recoveryRules) { try { FileInputStream fileInputStream = new FileInputStream(recoveryRules); XMLStreamReader xmlReader = XMLInputFactory.newInstance().createXMLStreamReader(fileInputStream); - RecoveryRulesPolicyProcessor processor = new RecoveryRulesPolicyProcessor(null, null); + RecoveryRulesProcessor processor = new RecoveryRulesProcessor(); ruleElements = processor.read(xmlReader).getRuleElements(); } catch (ContributionReadException ex) { @@ -74,14 +82,13 @@ public class GuardianGroupImpl implements GuardianGroup { } } - @Property(name = "resolution_tree", required = false) - public void setResolutionTree(String resolutionTree) { + private void setResolutionTree(String resolutionTree) { try { FileInputStream fileInputStream = new FileInputStream(resolutionTree); XMLStreamReader resolutionTreeReader = XMLInputFactory.newInstance().createXMLStreamReader(fileInputStream); - ResolutionTreesPolicyProcessor processor = new ResolutionTreesPolicyProcessor(null, null); + ResolutionTreesProcessor processor = new ResolutionTreesProcessor(); resolutionTreeElements = processor.read(resolutionTreeReader).getResolutionTreeElements(); } catch (ContributionReadException ex) { @@ -98,9 +105,12 @@ public class GuardianGroupImpl implements GuardianGroup { guardianMember.setUniqueParticipantID(guardianList.size() - 1); } + public boolean removeGuardianMember(GuardianMember guardianMember) { + throw new UnsupportedOperationException("Not supported yet."); + } + public void enableContext(Context context) { - System.out.println("Enable Context.. nothing to do!"); - //throw new UnsupportedOperationException("Not supported yet."); + throw new UnsupportedOperationException("Not supported yet."); } public void removeContext() { @@ -132,6 +142,7 @@ public class GuardianGroupImpl implements GuardianGroup { innerThread.setGlobalException(ex); new Thread(innerThread).start(); } + } public boolean propagate(GlobalExceptionInterface ex) { @@ -142,10 +153,6 @@ public class GuardianGroupImpl implements GuardianGroup { throw new UnsupportedOperationException("Not supported yet."); } - public boolean removeGuardianMember(GuardianMember guardianMember) { - return this.guardianList.remove(guardianMember); - } - private class InnerGuardianGroupThread implements Runnable { private boolean isRunning; @@ -485,7 +492,7 @@ public class GuardianGroupImpl implements GuardianGroup { //Invalid regular expression if (splitByComma.length > 2) { - throw new InvalidRegularExpression("The comma ',' operator can only be applied for two expressions"); + throw new InvalidRegularExpressionException("The comma ',' operator can only be applied for two expressions"); } //There is no comma on the regular expression @@ -533,7 +540,7 @@ public class GuardianGroupImpl implements GuardianGroup { //Invalid expression if (index == -1) { - throw new InvalidRegularExpression("The comma ',' requires a SIGNALER or !SIGNALER element in one side of the expression"); + throw new InvalidRegularExpressionException("The comma ',' requires a SIGNALER or !SIGNALER element in one side of the expression"); } String re = createJavaRegularExpression(splitByComma[1 - index]); @@ -570,7 +577,7 @@ public class GuardianGroupImpl implements GuardianGroup { * * Not supported yet: !<Context>, !<Context> || <Context>, !(<Context> || <Context>) */ - private String createJavaRegularExpression(String regularExpression) throws InvalidRegularExpression { + private String createJavaRegularExpression(String regularExpression) throws InvalidRegularExpressionException { StringBuffer re = new StringBuffer(); String[] splitByBar = regularExpression.split("\\|\\|"); @@ -592,7 +599,7 @@ public class GuardianGroupImpl implements GuardianGroup { //Validate the regular expression if (j + 1 != splitByPeriod.length && splitByPeriod[j + 1].equals("*")) { - throw new InvalidRegularExpression(); + throw new InvalidRegularExpressionException(); } //* @@ -634,4 +641,4 @@ public class GuardianGroupImpl implements GuardianGroup { return re.toString(); } } -}
\ No newline at end of file +} diff --git a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMemberImpl.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianMemberImpl.java index 893d5fcb1b..80b9321e79 100644 --- a/sandbox/dougsleite/guardian-model/src/main/java/org/apache/tuscany/sca/guardian/GuardianMemberImpl.java +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianMemberImpl.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian; +package org.apache.tuscany.sca.implementation.guardian.impl; import java.util.LinkedList; import java.util.List; @@ -24,10 +24,17 @@ import java.util.Queue; import java.util.Stack; import java.util.logging.Level; import java.util.logging.Logger; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalExceptionInterface; +import org.apache.tuscany.sca.implementation.guardian.GuardianGroup; +import org.apache.tuscany.sca.implementation.guardian.GuardianMember; +import org.apache.tuscany.sca.implementation.guardian.common.Context; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.JoinException; +import org.apache.tuscany.sca.implementation.guardian.common.SuspendException; +import org.osoa.sca.annotations.Destroy; 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) @@ -36,7 +43,7 @@ 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; @@ -66,17 +73,10 @@ public class GuardianMemberImpl implements GuardianMember { 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 @@ -109,9 +109,6 @@ public class GuardianMemberImpl implements GuardianMember { guardianGroup.gthrow(ex, participantList); exceptionThrown = true; } else { - /*if (service instanceof BlockingInterface && !service.isBlocked()) { - service.block(); - }*/ setParticipantState(GuardianGroup.SUSPENDED_PARTICIPANT_STATE); } } @@ -170,10 +167,6 @@ public class GuardianMemberImpl implements GuardianMember { this.id = id; } - public void removeService() { - this.service = null; - } - public int getParticipantState() { return participantState; } diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups-concurrent.composite b/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/primaryBackup.composite index 7cd28ff085..fcb78e3879 100644 --- a/sandbox/dougsleite/guardian-model/src/main/resources/primaryNbackups-concurrent.composite +++ b/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/primaryBackup.composite @@ -17,59 +17,65 @@ * 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"> + +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" + targetNamespace="http://guardianTest" + name="guardianTest"> <component name="Participant1"> - <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/> + <implementation.java class="org.apache.tuscany.sca.implementation.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"/> + <implementation.java class="org.apache.tuscany.sca.implementation.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"/> + <implementation.java class="org.apache.tuscany.sca.implementation.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"/> + <implementation.java class="org.apache.tuscany.sca.implementation.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"/> + <implementation.java class="org.apache.tuscany.sca.implementation.guardian.impl.GuardianMemberImpl"/> + <reference name="guardian_group" target="GuardianComponent"/> </component> <component name="GuardianMember2"> - <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/> - <reference name="guardian_group" target="GuardianGroup"/> + <implementation.java class="org.apache.tuscany.sca.implementation.guardian.impl.GuardianMemberImpl"/> + <reference name="guardian_group" target="GuardianComponent"/> </component> <component name="GuardianMember3"> - <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/> - <reference name="guardian_group" target="GuardianGroup"/> + <implementation.java class="org.apache.tuscany.sca.implementation.guardian.impl.GuardianMemberImpl"/> + <reference name="guardian_group" target="GuardianComponent"/> </component> <component name="GuardianMember4"> - <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/> - <reference name="guardian_group" target="GuardianGroup"/> + <implementation.java class="org.apache.tuscany.sca.implementation.guardian.impl.GuardianMemberImpl"/> + <reference name="guardian_group" target="GuardianComponent"/> </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 name="GuardianComponent"> + <tuscany:implementation.guardian> + + <tuscany:guardianProperties + recovery_rules="src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/recoveryRules.xml" + resolution_trees="src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/resolutionTrees.xml"/> + + </tuscany:implementation.guardian> + </component> </composite> diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup.composite b/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/primaryBackup.composite index 9160a070c8..85af4efd48 100644 --- a/sandbox/dougsleite/guardian-model/src/main/resources/primarybackup.composite +++ b/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/primaryBackup.composite @@ -18,35 +18,41 @@ * 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"> + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" + targetNamespace="http://guardianTest" + name="guardianTest"> <component name="Participant1"> - <implementation.java class="org.apache.tuscany.sca.guardian.itests.primaryBackup.common.NodeImpl"/> + <implementation.java class="org.apache.tuscany.sca.implementation.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"/> + <implementation.java class="org.apache.tuscany.sca.implementation.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"/> + <implementation.java class="org.apache.tuscany.sca.implementation.guardian.impl.GuardianMemberImpl"/> + <reference name="guardian_group" target="GuardianComponent"/> </component> <component name="GuardianMember2"> - <implementation.java class="org.apache.tuscany.sca.guardian.GuardianMemberImpl"/> - <reference name="guardian_group" target="GuardianGroup"/> + <implementation.java class="org.apache.tuscany.sca.implementation.guardian.impl.GuardianMemberImpl"/> + <reference name="guardian_group" target="GuardianComponent"/> </component> - <component name="GuardianGroup"> - <implementation.java class="org.apache.tuscany.sca.guardian.GuardianGroupImpl"/> - <property name="recovery_rules">src/main/resources/recoveryrules.xml</property> + <component name="GuardianComponent"> + <tuscany:implementation.guardian> + + <tuscany:guardianProperties + recovery_rules="src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/recoveryRules.xml" + resolution_trees="src/main/resources/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/resolutionTrees.xml"/> + + </tuscany:implementation.guardian> + </component> </composite> diff --git a/sandbox/dougsleite/guardian-model/src/main/resources/lcaTest.xml b/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/lcaTest.xml index e528760ad8..e528760ad8 100644 --- a/sandbox/dougsleite/guardian-model/src/main/resources/lcaTest.xml +++ b/sandbox/dougsleite/implementation-guardian/src/main/resources/org/apache/tuscany/sca/implementation/guardian/lcaTest.xml diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/LCATestCase.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/LCATestCase.java index bdcb7ac97d..3c5e6b1b19 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/LCATestCase.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/LCATestCase.java @@ -16,11 +16,10 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests; +package org.apache.tuscany.sca.implementation.guardian; import java.io.FileInputStream; -import org.apache.tuscany.sca.policy.resolutiontrees.*; -import org.apache.tuscany.sca.guardian.ResolutionTreeUtils; +import org.apache.tuscany.sca.implementation.guardian.common.ResolutionTreeUtils; import java.util.Collection; import java.util.LinkedList; import java.util.Map; @@ -30,6 +29,7 @@ import org.junit.Test; import org.apache.axiom.om.OMElement; import java.util.List; import junit.framework.Assert; +import org.apache.tuscany.sca.implementation.guardian.xml.ResolutionTreesProcessor; import org.junit.Before; public class LCATestCase { @@ -38,13 +38,14 @@ public class LCATestCase { @Before public void init() throws Exception { - ResolutionTreesPolicyProcessor processor = new ResolutionTreesPolicyProcessor(null, null); + ResolutionTreesProcessor processor = new ResolutionTreesProcessor(); - FileInputStream fileInputStream = new FileInputStream("src/main/resources/lcaTest.xml"); + FileInputStream fileInputStream = new FileInputStream("src/main/resources/org/apache/" + + "tuscany/sca/implementation/guardian/lcaTest.xml"); XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(fileInputStream); - ResolutionTreesPolicy policy = processor.read(reader); + ResolutionTrees policy = processor.read(reader); Map<String, OMElement> resolutionTrees = policy.getResolutionTreeElements(); List<OMElement> rootElements = getRootElements(resolutionTrees.values()); diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java index d7f0f763e2..b08b26942d 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/BackupFailedException.java index 6660d6b42f..25adf1d739 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/BackupFailedException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.*; +import org.apache.tuscany.sca.implementation.guardian.common.GlobalException; 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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/BackupJoinedException.java index 6d81d1933e..f0d29f461f 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/BackupJoinedException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/Node.java index 9fb6a27a45..6aa9456816 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/Node.java @@ -16,12 +16,11 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.BlockingInterface; import org.osoa.sca.annotations.OneWay; -public interface Node extends BlockingInterface { +public interface Node { @OneWay public void execute(); @@ -31,4 +30,8 @@ public interface Node extends BlockingInterface { public void applyUpdate(); public String getID(); + + public void kill(); + + public boolean isDead(); } diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/NodeImpl.java index 00880352b8..37f4f529f0 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/NodeImpl.java @@ -16,28 +16,26 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.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.apache.tuscany.sca.implementation.guardian.GuardianMember; +import org.apache.tuscany.sca.implementation.guardian.common.Context; 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 { +public class NodeImpl implements Node, TestInterface { private static int PRIMARY = 0; private static int BACKUP = 1; - private boolean isBlocked; + private boolean isDead; private Context mainContext; private Context primaryContext; private Context backupContext; @@ -67,7 +65,7 @@ public class NodeImpl implements Node { updates = new LinkedList(); - isBlocked = true; + isDead = true; nodeList = new LinkedList<Node>(); @@ -77,18 +75,12 @@ public class NodeImpl implements Node { @Init public void init() { - gm.setService(this); pID = gm.getParticipantIdentifier(); } - @Destroy - public void destroy() { - gm.removeService(); - } - @OneWay public void execute() { - isBlocked = false; + isDead = false; gm.enableContext(mainContext); role = PRIMARY; @@ -113,20 +105,15 @@ public class NodeImpl implements Node { } 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(); + this.kill(); ex.printStackTrace(); return; } @@ -139,7 +126,7 @@ public class NodeImpl implements Node { if (gm.propagate(ex)) { //throw ex; - this.block(); + this.kill(); ex.printStackTrace(); return; } @@ -204,7 +191,7 @@ public class NodeImpl implements Node { boolean flag = false; for (Node n : nodeList) { - if (!n.isBlocked()) { + if (!n.isDead()) { n.sendUpdate("Update " + upcount); flag = true; } @@ -258,36 +245,19 @@ public class NodeImpl implements Node { private boolean isThereBackupAvailable() { for (Node n : nodeList) { - if (!n.isBlocked()) { + if (!n.isDead()) { return true; } } return false; } - public void block() { - isBlocked = true; + public void kill() { + isDead = 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 boolean isDead() { + return isDead; } public void sendUpdate(String update) { diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java index d2ce160bd7..5521caa550 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryBackupFailedTogetherException.java @@ -17,9 +17,9 @@ * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryExistsException.java index 935c97966e..d6297a1012 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryExistsException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryFailedException.java index 00f2f84c00..cc1715d077 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryFailedException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java index 46f52ea198..0bcfb72bc8 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java @@ -16,9 +16,9 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; -import org.apache.tuscany.sca.guardian.GlobalException; +import org.apache.tuscany.sca.implementation.guardian.common.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/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/TestInterface.java index f659a15530..7e7bd35cd2 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/common/TestInterface.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common; public interface TestInterface { diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/concurrentexceptions/Launch.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/Launch.java index 9ac2e9113b..ab0c21dba6 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/concurrentexceptions/Launch.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/concurrentExceptions/Launch.java @@ -16,17 +16,19 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.concurrentexceptions; +package org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.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.implementation.guardian.itests.primaryBackup.common.Node; +import org.apache.tuscany.sca.implementation.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"); + SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/" + + "implementation/guardian/itests/primaryBackup/" + + "concurrentExceptions/primaryBackup.composite"); System.out.println("Starting participat1..."); Node c = scaDomain.getService(Node.class, "Participant1"); diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/Launch.java index 66b7d0a18d..86df9bc5f9 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/Launch.java @@ -16,17 +16,19 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.simple; +package org.apache.tuscany.sca.implementation.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.implementation.guardian.itests.primaryBackup.common.Node; +import org.apache.tuscany.sca.implementation.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"); + SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/" + + "implementation/guardian/itests/primaryBackup/" + + "simple/primaryBackup.composite"); System.out.println("Starting participat1..."); Node c = scaDomain.getService(Node.class, "Participant1"); @@ -43,6 +45,7 @@ public class Launch { System.out.println("Forcing exception ocurrence at participant1..."); TestInterface t = scaDomain.getService(TestInterface.class, "Participant1"); t.forcePrimaryServiceFailureException(); + System.in.read(); diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/Launch2.java index 34eedcaa13..1c5fd26745 100644 --- a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java +++ b/sandbox/dougsleite/implementation-guardian/src/test/java/org/apache/tuscany/sca/implementation/guardian/itests/primaryBackup/simple/Launch2.java @@ -16,17 +16,19 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.guardian.itests.primaryBackup.simple; +package org.apache.tuscany.sca.implementation.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; +import org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common.Node; +import org.apache.tuscany.sca.implementation.guardian.itests.primaryBackup.common.TestInterface; public class Launch2 { public static void main(String... args) throws IOException { - SCADomain scaDomain = SCADomain.newInstance("primarybackup.composite"); + SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/" + + "implementation/guardian/itests/primaryBackup/" + + "simple/primaryBackup.composite"); System.out.println("Starting participat1..."); Node c = scaDomain.getService(Node.class, "Participant1"); |