From f1dfba0cc9000fcf881267608c02b683dcf2f796 Mon Sep 17 00:00:00 2001 From: dougsleite Date: Mon, 6 Jul 2009 12:41:48 +0000 Subject: - Restructured the iTest package - Added a new test scenario: Primary-Backup with N backups - Added a new tag element () into the recovery rules XML file git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@791465 13f79535-47bb-0310-9956-ffa450edef68 --- .../common/ApplyUpdateFailureException.java | 22 ++ .../common/BackupFailedException.java | 24 ++ .../common/BackupJoinedException.java | 24 ++ .../guardian/itests/primaryBackup/common/Node.java | 34 +++ .../itests/primaryBackup/common/NodeImpl.java | 288 +++++++++++++++++++++ .../common/PrimaryExistsException.java | 24 ++ .../common/PrimaryFailedException.java | 24 ++ .../common/PrimaryServiceFailureException.java | 24 ++ .../itests/primaryBackup/common/TestInterface.java | 26 ++ .../itests/primaryBackup/nbackups/Launch.java | 64 +++++ .../itests/primaryBackup/nbackups/Launch2.java | 70 +++++ .../itests/primaryBackup/nbackups/Launch3.java | 71 +++++ .../itests/primaryBackup/simple/Launch.java | 52 ++++ .../itests/primaryBackup/simple/Launch2.java | 52 ++++ .../itests/primaryBackup/simple/Launch3.java | 63 +++++ 15 files changed, 862 insertions(+) create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch2.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch3.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java create mode 100644 sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch3.java (limited to 'sandbox/dougsleite/guardian-model/src/test') 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 new file mode 100644 index 0000000000..d7f0f763e2 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/ApplyUpdateFailureException.java @@ -0,0 +1,22 @@ +/* + * 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 new file mode 100644 index 0000000000..6660d6b42f --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupFailedException.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.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 new file mode 100644 index 0000000000..6d81d1933e --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/BackupJoinedException.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.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 new file mode 100644 index 0000000000..9fb6a27a45 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/Node.java @@ -0,0 +1,34 @@ +/* + * 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 new file mode 100644 index 0000000000..5ff80e3472 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/NodeImpl.java @@ -0,0 +1,288 @@ +/* + * 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 { + + 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 updates; + @Reference(name = "guardian_member", required = true) + public GuardianMember gm; + @Reference(name = "nodes", required = true) + public List nodeList; + private boolean forcePSFException; + private boolean forceAUFException; + + 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(); + + 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) { + 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; + } + } + } + } + + 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; + } + + private void primaryService() { + boolean backupAvailable = isThereBackupAvailable(); + System.out.println("Backup available?: " + backupAvailable); + int upcount = 1; + + while (true) { + + gm.enableContext(primaryContext); + + 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) { + for (Node n : nodeList) { + if (!n.isBlocked()) { + n.sendUpdate("Update " + upcount); + } + } + upcount++; + } 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 void backupService() { + while (true) { + + gm.enableContext(backupContext); + + 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(); + } + } + } + + //FIXME - It is not working asynchronously + //@OneWay + public void block() { + System.out.println(pID + "#Participant blocked!"); + isBlocked = true; + +// while (isBlocked) { +// try { +// Thread.sleep(5000); +// } catch (InterruptedException ex) { +// Logger.getLogger(ComponentImpl.class.getName()).log(Level.SEVERE, null, ex); +// } +// } + } + + public boolean isBlocked() { + return isBlocked; + } + + //@OneWay + public void unblock() { + System.out.println(pID + "#Participant unblocked!"); + isBlocked = false; + } + + 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/PrimaryExistsException.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java new file mode 100644 index 0000000000..935c97966e --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryExistsException.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.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 new file mode 100644 index 0000000000..086e255e94 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryFailedException.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.guardian.itests.primaryBackup.common; + +import org.apache.tuscany.sca.guardian.*; + +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 new file mode 100644 index 0000000000..46f52ea198 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/PrimaryServiceFailureException.java @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.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 new file mode 100644 index 0000000000..f659a15530 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/common/TestInterface.java @@ -0,0 +1,26 @@ +/* + * 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 new file mode 100644 index 0000000000..333f231e59 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch.java @@ -0,0 +1,64 @@ +/* + * 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 new file mode 100644 index 0000000000..94767c85dd --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch2.java @@ -0,0 +1,70 @@ +/* + * 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 new file mode 100644 index 0000000000..83d8c90d79 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/nbackups/Launch3.java @@ -0,0 +1,71 @@ +/* + * 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 new file mode 100644 index 0000000000..66b7d0a18d --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch.java @@ -0,0 +1,52 @@ +/* + * 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 new file mode 100644 index 0000000000..34eedcaa13 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch2.java @@ -0,0 +1,52 @@ +/* + * 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(); + } +} + diff --git a/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch3.java b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch3.java new file mode 100644 index 0000000000..780a8df464 --- /dev/null +++ b/sandbox/dougsleite/guardian-model/src/test/java/org/apache/tuscany/sca/guardian/itests/primaryBackup/simple/Launch3.java @@ -0,0 +1,63 @@ +/* + * 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.simple; + +import java.io.IOException; +import org.apache.tuscany.sca.guardian.GuardianGroup; +import org.apache.tuscany.sca.guardian.GuardianMember; +import org.apache.tuscany.sca.guardian.GuardianMemberImpl; +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("primarybackup-ws.composite"); + + System.out.println("Testing..."); + GuardianGroup c = scaDomain.getService(GuardianGroup.class, "GuardianGroupComponent"); + + GuardianMember gm = new GuardianMemberImpl(); + c.addGuardianMember(gm); + //c.enableContext(Context.INIT_CONTEXT); + + System.in.read(); + +// 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(); + } +} -- cgit v1.2.3