From 5da4f6d5cb1d83711fc6052a34fce06b48e47d06 Mon Sep 17 00:00:00 2001 From: antelder Date: Tue, 13 Oct 2009 10:35:48 +0000 Subject: Add the Eightball demo contributions git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@824676 13f79535-47bb-0310-9956-ffa450edef68 --- .../eightball-demo/eightball-process-test/pom.xml | 109 +++++++++++++++++ .../src/main/java/demo/EightBall.java | 28 +++++ .../src/main/java/demo/EightBallProcessTest.java | 49 ++++++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++ .../resources/eightball-process-test.composite | 30 +++++ sandbox/eightball-demo/eightball-process/pom.xml | 109 +++++++++++++++++ .../src/main/java/demo/EightBall.java | 28 +++++ .../src/main/java/demo/EightBallProcess.java | 42 +++++++ .../src/main/java/demo/Translator.java | 29 +++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++ .../src/main/resources/eightball-process.composite | 31 +++++ sandbox/eightball-demo/eightball-test/pom.xml | 109 +++++++++++++++++ .../src/main/java/demo/EightBall.java | 28 +++++ .../src/main/java/demo/EightBallTest.java | 49 ++++++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++ .../src/main/resources/eightball-test.composite | 30 +++++ sandbox/eightball-demo/eightball-webapp/pom.xml | 135 +++++++++++++++++++++ .../src/main/java/demo/EightBall.java | 28 +++++ .../src/main/java/demo/EightBallServlet.java | 52 ++++++++ .../src/main/webapp/WEB-INF/web.composite | 30 +++++ .../src/main/webapp/WEB-INF/web.xml | 41 +++++++ .../src/main/webapp/eightball.html | 48 ++++++++ sandbox/eightball-demo/eightball/pom.xml | 109 +++++++++++++++++ .../eightball/src/main/java/demo/EightBall.java | 28 +++++ .../src/main/java/demo/EightBallImpl.java | 62 ++++++++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++ .../src/main/resources/eightball.composite | 29 +++++ sandbox/eightball-demo/translator-test/pom.xml | 109 +++++++++++++++++ .../src/main/java/demo/Translator.java | 29 +++++ .../src/main/java/demo/TranslatorTest.java | 47 +++++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++ .../src/main/resources/translator-test.composite | 30 +++++ sandbox/eightball-demo/translator/pom.xml | 109 +++++++++++++++++ .../translator/src/main/java/demo/Translator.java | 29 +++++ .../src/main/java/demo/TranslatorImpl.java | 95 +++++++++++++++ .../main/resources/META-INF/sca-contribution.xml | 23 ++++ .../src/main/resources/translator.composite | 29 +++++ 37 files changed, 1848 insertions(+) create mode 100644 sandbox/eightball-demo/eightball-process-test/pom.xml create mode 100644 sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBall.java create mode 100644 sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBallProcessTest.java create mode 100644 sandbox/eightball-demo/eightball-process-test/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/eightball-demo/eightball-process-test/src/main/resources/eightball-process-test.composite create mode 100644 sandbox/eightball-demo/eightball-process/pom.xml create mode 100644 sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBall.java create mode 100644 sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBallProcess.java create mode 100644 sandbox/eightball-demo/eightball-process/src/main/java/demo/Translator.java create mode 100644 sandbox/eightball-demo/eightball-process/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/eightball-demo/eightball-process/src/main/resources/eightball-process.composite create mode 100644 sandbox/eightball-demo/eightball-test/pom.xml create mode 100644 sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBall.java create mode 100644 sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBallTest.java create mode 100644 sandbox/eightball-demo/eightball-test/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/eightball-demo/eightball-test/src/main/resources/eightball-test.composite create mode 100644 sandbox/eightball-demo/eightball-webapp/pom.xml create mode 100644 sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBall.java create mode 100644 sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBallServlet.java create mode 100644 sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.composite create mode 100644 sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.xml create mode 100644 sandbox/eightball-demo/eightball-webapp/src/main/webapp/eightball.html create mode 100644 sandbox/eightball-demo/eightball/pom.xml create mode 100644 sandbox/eightball-demo/eightball/src/main/java/demo/EightBall.java create mode 100644 sandbox/eightball-demo/eightball/src/main/java/demo/EightBallImpl.java create mode 100644 sandbox/eightball-demo/eightball/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/eightball-demo/eightball/src/main/resources/eightball.composite create mode 100644 sandbox/eightball-demo/translator-test/pom.xml create mode 100644 sandbox/eightball-demo/translator-test/src/main/java/demo/Translator.java create mode 100644 sandbox/eightball-demo/translator-test/src/main/java/demo/TranslatorTest.java create mode 100644 sandbox/eightball-demo/translator-test/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/eightball-demo/translator-test/src/main/resources/translator-test.composite create mode 100644 sandbox/eightball-demo/translator/pom.xml create mode 100644 sandbox/eightball-demo/translator/src/main/java/demo/Translator.java create mode 100644 sandbox/eightball-demo/translator/src/main/java/demo/TranslatorImpl.java create mode 100644 sandbox/eightball-demo/translator/src/main/resources/META-INF/sca-contribution.xml create mode 100644 sandbox/eightball-demo/translator/src/main/resources/translator.composite (limited to 'sandbox') diff --git a/sandbox/eightball-demo/eightball-process-test/pom.xml b/sandbox/eightball-demo/eightball-process-test/pom.xml new file mode 100644 index 0000000000..7a43cc46b6 --- /dev/null +++ b/sandbox/eightball-demo/eightball-process-test/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + demo + eightball-process-test + jar + 1.0-SNAPSHOT + + quickstart + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + junit + junit + 4.5 + test + + + + + install + ${artifactId} + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + org.apache.tuscany.maven.plugins + maven-tuscany-plugin + + + + + 2.0-SNAPSHOT + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBall.java b/sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBall.java new file mode 100644 index 0000000000..88f8b67abb --- /dev/null +++ b/sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBall.java @@ -0,0 +1,28 @@ +/* + * 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 demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface EightBall { + + String askQuestion(String question); + +} diff --git a/sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBallProcessTest.java b/sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBallProcessTest.java new file mode 100644 index 0000000000..e9bcfa9ca6 --- /dev/null +++ b/sandbox/eightball-demo/eightball-process-test/src/main/java/demo/EightBallProcessTest.java @@ -0,0 +1,49 @@ +/* + * 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 demo; + +import java.io.BufferedReader; +import java.io.InputStreamReader; + +import org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; + +@Scope("COMPOSITE") @EagerInit +public class EightBallProcessTest { + + @Reference + public EightBall eightBall; + + public String sayHello(String name) { + return "Hello " + name; + } + + @Init + public void init() throws Exception { + Thread.sleep(5000); + while (true) { + System.out.println("Enter your question for the Eight Ball:"); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + String question = br.readLine(); + System.out.println("Eight Ball says " + eightBall.askQuestion(question)); + } + } +} diff --git a/sandbox/eightball-demo/eightball-process-test/src/main/resources/META-INF/sca-contribution.xml b/sandbox/eightball-demo/eightball-process-test/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..982a661660 --- /dev/null +++ b/sandbox/eightball-demo/eightball-process-test/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-process-test/src/main/resources/eightball-process-test.composite b/sandbox/eightball-demo/eightball-process-test/src/main/resources/eightball-process-test.composite new file mode 100644 index 0000000000..3e485c443c --- /dev/null +++ b/sandbox/eightball-demo/eightball-process-test/src/main/resources/eightball-process-test.composite @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/sandbox/eightball-demo/eightball-process/pom.xml b/sandbox/eightball-demo/eightball-process/pom.xml new file mode 100644 index 0000000000..38b52e183d --- /dev/null +++ b/sandbox/eightball-demo/eightball-process/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + demo + eightball-process + jar + 1.0-SNAPSHOT + + quickstart + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + junit + junit + 4.5 + test + + + + + install + ${artifactId} + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + org.apache.tuscany.maven.plugins + maven-tuscany-plugin + + + + + 2.0-SNAPSHOT + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBall.java b/sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBall.java new file mode 100644 index 0000000000..88f8b67abb --- /dev/null +++ b/sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBall.java @@ -0,0 +1,28 @@ +/* + * 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 demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface EightBall { + + String askQuestion(String question); + +} diff --git a/sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBallProcess.java b/sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBallProcess.java new file mode 100644 index 0000000000..7c12c1c3ea --- /dev/null +++ b/sandbox/eightball-demo/eightball-process/src/main/java/demo/EightBallProcess.java @@ -0,0 +1,42 @@ +/* + * 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 demo; + +import org.oasisopen.sca.annotation.Reference; + +public class EightBallProcess implements EightBall { + + @Reference + public EightBall eightball; + + @Reference + public Translator translator; + + public String askQuestion(String question) { + System.out.println("Processing " + question); + String germanQuestion = translator.toGerman(question); + System.out.println("Processing " + germanQuestion); + String germanAnswer = eightball.askQuestion(germanQuestion); + System.out.println("Processing " + germanAnswer); + String englishAnswer = translator.toEnglish(germanAnswer); + System.out.println("Processing " + englishAnswer); + return englishAnswer; + } + +} diff --git a/sandbox/eightball-demo/eightball-process/src/main/java/demo/Translator.java b/sandbox/eightball-demo/eightball-process/src/main/java/demo/Translator.java new file mode 100644 index 0000000000..11070032d1 --- /dev/null +++ b/sandbox/eightball-demo/eightball-process/src/main/java/demo/Translator.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface Translator { + + String toEnglish(String phrase); + String toGerman(String phrase); + +} diff --git a/sandbox/eightball-demo/eightball-process/src/main/resources/META-INF/sca-contribution.xml b/sandbox/eightball-demo/eightball-process/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..7189620041 --- /dev/null +++ b/sandbox/eightball-demo/eightball-process/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-process/src/main/resources/eightball-process.composite b/sandbox/eightball-demo/eightball-process/src/main/resources/eightball-process.composite new file mode 100644 index 0000000000..aa5e999ec2 --- /dev/null +++ b/sandbox/eightball-demo/eightball-process/src/main/resources/eightball-process.composite @@ -0,0 +1,31 @@ + + + + + + + + + + + diff --git a/sandbox/eightball-demo/eightball-test/pom.xml b/sandbox/eightball-demo/eightball-test/pom.xml new file mode 100644 index 0000000000..0fd534ce4c --- /dev/null +++ b/sandbox/eightball-demo/eightball-test/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + demo + eightball-test + jar + 1.0-SNAPSHOT + + quickstart + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + junit + junit + 4.5 + test + + + + + install + ${artifactId} + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + org.apache.tuscany.maven.plugins + maven-tuscany-plugin + + + + + 2.0-SNAPSHOT + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBall.java b/sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBall.java new file mode 100644 index 0000000000..88f8b67abb --- /dev/null +++ b/sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBall.java @@ -0,0 +1,28 @@ +/* + * 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 demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface EightBall { + + String askQuestion(String question); + +} diff --git a/sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBallTest.java b/sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBallTest.java new file mode 100644 index 0000000000..f1fb899c58 --- /dev/null +++ b/sandbox/eightball-demo/eightball-test/src/main/java/demo/EightBallTest.java @@ -0,0 +1,49 @@ +/* + * 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 demo; + +import java.io.BufferedReader; +import java.io.InputStreamReader; + +import org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; + +@Scope("COMPOSITE") @EagerInit +public class EightBallTest { + + @Reference + public EightBall eightBall; + + public String sayHello(String name) { + return "Hello " + name; + } + + @Init + public void init() throws Exception { + Thread.sleep(5000); + while (true) { + System.out.println("Enter your question for the Eight Ball:"); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + String question = br.readLine(); + System.out.println("Eight Ball says " + eightBall.askQuestion(question)); + } + } +} diff --git a/sandbox/eightball-demo/eightball-test/src/main/resources/META-INF/sca-contribution.xml b/sandbox/eightball-demo/eightball-test/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..3269f18ed7 --- /dev/null +++ b/sandbox/eightball-demo/eightball-test/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-test/src/main/resources/eightball-test.composite b/sandbox/eightball-demo/eightball-test/src/main/resources/eightball-test.composite new file mode 100644 index 0000000000..40b6e72e6e --- /dev/null +++ b/sandbox/eightball-demo/eightball-test/src/main/resources/eightball-test.composite @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/sandbox/eightball-demo/eightball-webapp/pom.xml b/sandbox/eightball-demo/eightball-webapp/pom.xml new file mode 100644 index 0000000000..6287de1a7e --- /dev/null +++ b/sandbox/eightball-demo/eightball-webapp/pom.xml @@ -0,0 +1,135 @@ + + + + + 4.0.0 + demo + eightball-webapp + war + 1.0-SNAPSHOT + quickstart + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + + + junit + junit + 4.5 + test + + + + + org.mortbay.jetty + jetty + ${jetty.version} + provided + + + org.mortbay.jetty + jetty-util + ${jetty.version} + provided + + + org.mortbay.jetty + jetty-management + ${jetty.version} + provided + + + + install + eightball-webapp + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.mortbay.jetty + maven-jetty-plugin + ${jetty.version} + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + + + 2.0-SNAPSHOT + 6.1.18 + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBall.java b/sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBall.java new file mode 100644 index 0000000000..88f8b67abb --- /dev/null +++ b/sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBall.java @@ -0,0 +1,28 @@ +/* + * 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 demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface EightBall { + + String askQuestion(String question); + +} diff --git a/sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBallServlet.java b/sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBallServlet.java new file mode 100644 index 0000000000..d6c3103281 --- /dev/null +++ b/sandbox/eightball-demo/eightball-webapp/src/main/java/demo/EightBallServlet.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 demo; + +import java.io.IOException; +import java.io.Writer; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.oasisopen.sca.annotation.Reference; + +/** + */ +public class EightBallServlet extends HttpServlet { + + @Reference + protected EightBall eightball; + + @Override + protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { + String question = request.getParameter("question"); + String answer = eightball.askQuestion(question); + Writer out = response.getWriter(); + out.write("The Magic Eight Ball"); + out.write("

The Magic Eight Ball

"); + out.write("

You ask:"); + out.write("
" + question + ""); + out.write("

Eight Ball says:"); + out.write("
" + answer + ""); + out.write(""); + out.flush(); + out.close(); + } +} diff --git a/sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.composite b/sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.composite new file mode 100644 index 0000000000..148349503e --- /dev/null +++ b/sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.composite @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.xml b/sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000..f828db7a81 --- /dev/null +++ b/sandbox/eightball-demo/eightball-webapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,41 @@ + + + + + eightball-webapp + + + EightBallServlet + demo.EightBallServlet + + + + EightBallServlet + /EightBallServlet + + + + eightball.html + + + diff --git a/sandbox/eightball-demo/eightball-webapp/src/main/webapp/eightball.html b/sandbox/eightball-demo/eightball-webapp/src/main/webapp/eightball.html new file mode 100644 index 0000000000..e22cc81c83 --- /dev/null +++ b/sandbox/eightball-demo/eightball-webapp/src/main/webapp/eightball.html @@ -0,0 +1,48 @@ + + + + +The Magic Eight Ball + + + + +

The Magic Eight Ball

+ +The Tuscany Magic Eight Ball reaches into the future to find the answers to your questions. It knows what will be, and is willing to share this with you.

+Just type in your question that can be answered "Yes" or "No", concentrate very, very hard, and click on the "Ask" button.

+ +

+ + + + + + + +
+ +
+ +
+
+ + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball/pom.xml b/sandbox/eightball-demo/eightball/pom.xml new file mode 100644 index 0000000000..5bd58d3dae --- /dev/null +++ b/sandbox/eightball-demo/eightball/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + demo + eightball + jar + 1.0-SNAPSHOT + + quickstart + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + junit + junit + 4.5 + test + + + + + install + ${artifactId} + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + org.apache.tuscany.maven.plugins + maven-tuscany-plugin + + + + + 2.0-SNAPSHOT + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball/src/main/java/demo/EightBall.java b/sandbox/eightball-demo/eightball/src/main/java/demo/EightBall.java new file mode 100644 index 0000000000..88f8b67abb --- /dev/null +++ b/sandbox/eightball-demo/eightball/src/main/java/demo/EightBall.java @@ -0,0 +1,28 @@ +/* + * 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 demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface EightBall { + + String askQuestion(String question); + +} diff --git a/sandbox/eightball-demo/eightball/src/main/java/demo/EightBallImpl.java b/sandbox/eightball-demo/eightball/src/main/java/demo/EightBallImpl.java new file mode 100644 index 0000000000..10a09aee9c --- /dev/null +++ b/sandbox/eightball-demo/eightball/src/main/java/demo/EightBallImpl.java @@ -0,0 +1,62 @@ +/* + * 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 demo; + +import java.util.Random; +import java.lang.Double; +import java.util.Date; + +public class EightBallImpl implements EightBall { + + static String answers[] = { + "Zeichen zeigen auf \"Ja\".", + "Ja.", + "Antwort unklar, versuchen Sie es erneut.", + "Ohne Zweifel.", + "Meine Quellen sagen nein.", + "Wie ich es sehe, ja.", + "Sie koennen sich darauf verlassen.", + "Konzentrieren Sie sich und fragen Sie erneut.", + "Aussichten unguenstig.", + "Auf alle Faelle, ja.", + "Es ist besser, es Ihnen jetzt nicht zu sagen.", + "Sehr zweifelhaft.", + "Ja - auf jeden Fall.", + "Es ist sicher.", + "Kann jetzt nicht vorhergesagt werden.", + "Höchstwahrscheinlich.", + "Fragen Sie später noch einmal.", + "Meine Antwort ist nein.", + "Aussichten gut.", + "Verlassen Sie sich nicht darauf."}; + + public String askQuestion(String question) { + String answer; + if ("1+2".equals(question)) { + answer = "3"; + } else { + Random r = new Random(new Date().getTime()); + Double d = new Double((r.nextDouble() * 20) - 1); + answer = new String(answers[d.intValue()]); + } + System.out.println("EightBall answer: " + answer); + return answer; + } + +} diff --git a/sandbox/eightball-demo/eightball/src/main/resources/META-INF/sca-contribution.xml b/sandbox/eightball-demo/eightball/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..87ee1ae0c9 --- /dev/null +++ b/sandbox/eightball-demo/eightball/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/eightball-demo/eightball/src/main/resources/eightball.composite b/sandbox/eightball-demo/eightball/src/main/resources/eightball.composite new file mode 100644 index 0000000000..1f585cd399 --- /dev/null +++ b/sandbox/eightball-demo/eightball/src/main/resources/eightball.composite @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/sandbox/eightball-demo/translator-test/pom.xml b/sandbox/eightball-demo/translator-test/pom.xml new file mode 100644 index 0000000000..5967528a9c --- /dev/null +++ b/sandbox/eightball-demo/translator-test/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + demo + translator-test + jar + 1.0-SNAPSHOT + + quickstart + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + junit + junit + 4.5 + test + + + + + install + ${artifactId} + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + org.apache.tuscany.maven.plugins + maven-tuscany-plugin + + + + + 2.0-SNAPSHOT + + \ No newline at end of file diff --git a/sandbox/eightball-demo/translator-test/src/main/java/demo/Translator.java b/sandbox/eightball-demo/translator-test/src/main/java/demo/Translator.java new file mode 100644 index 0000000000..11070032d1 --- /dev/null +++ b/sandbox/eightball-demo/translator-test/src/main/java/demo/Translator.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface Translator { + + String toEnglish(String phrase); + String toGerman(String phrase); + +} diff --git a/sandbox/eightball-demo/translator-test/src/main/java/demo/TranslatorTest.java b/sandbox/eightball-demo/translator-test/src/main/java/demo/TranslatorTest.java new file mode 100644 index 0000000000..2905fbe835 --- /dev/null +++ b/sandbox/eightball-demo/translator-test/src/main/java/demo/TranslatorTest.java @@ -0,0 +1,47 @@ +/* + * 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 demo; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.oasisopen.sca.annotation.EagerInit; +import org.oasisopen.sca.annotation.Init; +import org.oasisopen.sca.annotation.Reference; +import org.oasisopen.sca.annotation.Scope; + +@Scope("COMPOSITE") @EagerInit +public class TranslatorTest { + + @Reference + public Translator translator; + + @Init + public void init() throws InterruptedException, IOException { + Thread.sleep(5000); + while (true) { + System.out.println("Enter your German phrase to translate:"); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + String german = br.readLine(); + System.out.println("Translator says: " + translator.toEnglish(german)); + } + } + +} diff --git a/sandbox/eightball-demo/translator-test/src/main/resources/META-INF/sca-contribution.xml b/sandbox/eightball-demo/translator-test/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..b68534253a --- /dev/null +++ b/sandbox/eightball-demo/translator-test/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/eightball-demo/translator-test/src/main/resources/translator-test.composite b/sandbox/eightball-demo/translator-test/src/main/resources/translator-test.composite new file mode 100644 index 0000000000..08ea71e4e0 --- /dev/null +++ b/sandbox/eightball-demo/translator-test/src/main/resources/translator-test.composite @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/sandbox/eightball-demo/translator/pom.xml b/sandbox/eightball-demo/translator/pom.xml new file mode 100644 index 0000000000..858fa1b4eb --- /dev/null +++ b/sandbox/eightball-demo/translator/pom.xml @@ -0,0 +1,109 @@ + + + + + 4.0.0 + demo + translator + jar + 1.0-SNAPSHOT + + quickstart + + + + + + org.apache.tuscany.sca + tuscany-sca-api + ${tuscany.version} + provided + + + + + junit + junit + 4.5 + test + + + + + install + ${artifactId} + + + false + src/main/resources + + + false + src/main/java + + ** + + + **/*.java + + + + + + false + src/test/java + + ** + + + **/*.java + + + + + + true + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + true + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + true + + + + org.apache.tuscany.maven.plugins + maven-tuscany-plugin + + + + + 2.0-SNAPSHOT + + \ No newline at end of file diff --git a/sandbox/eightball-demo/translator/src/main/java/demo/Translator.java b/sandbox/eightball-demo/translator/src/main/java/demo/Translator.java new file mode 100644 index 0000000000..11070032d1 --- /dev/null +++ b/sandbox/eightball-demo/translator/src/main/java/demo/Translator.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package demo; + +import org.oasisopen.sca.annotation.Remotable; + +@Remotable +public interface Translator { + + String toEnglish(String phrase); + String toGerman(String phrase); + +} diff --git a/sandbox/eightball-demo/translator/src/main/java/demo/TranslatorImpl.java b/sandbox/eightball-demo/translator/src/main/java/demo/TranslatorImpl.java new file mode 100644 index 0000000000..19116bc047 --- /dev/null +++ b/sandbox/eightball-demo/translator/src/main/java/demo/TranslatorImpl.java @@ -0,0 +1,95 @@ +/* + * 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 demo; + +import java.util.Arrays; +import java.util.List; + +public class TranslatorImpl implements Translator { + + static List english = Arrays.asList(new String[]{ + "Signs point to yes.", + "Yes.", + "Reply hazy, try again.", + "Without a doubt.", + "My sources say no.", + "As I see it, yes.", + "You may rely on it.", + "Concentrate and ask again.", + "Outlook not so good.", + "It is decidedly so.", + "Better not tell you now.", + "Very doubtful.", + "Yes - definitely.", + "It is certain.", + "Cannot predict now.", + "Most likely.", + "Ask again later.", + "My reply is no.", + "Outlook good.", + "Don't count on it.", + "You are a donkey"}); + + static List german = Arrays.asList(new String[]{ + "Zeichen zeigen auf \"Ja\".", + "Ja.", + "Antwort unklar, versuchen Sie es erneut.", + "Ohne Zweifel.", + "Meine Quellen sagen nein.", + "Wie ich es sehe, ja.", + "Sie koennen sich darauf verlassen.", + "Konzentrieren Sie sich und fragen Sie erneut.", + "Aussichten unguenstig.", + "Auf alle Faelle, ja.", + "Es ist besser, es Ihnen jetzt nicht zu sagen.", + "Sehr zweifelhaft.", + "Ja - auf jeden Fall.", + "Es ist sicher.", + "Kann jetzt nicht vorhergesagt werden.", + "Höchstwahrscheinlich.", + "Fragen Sie später noch einmal.", + "Meine Antwort ist nein.", + "Aussichten gut.", + "Verlassen Sie sich nicht darauf.", + "Du bist ein Esel"}); + + public String toEnglish(String phrase) { + int x = german.indexOf(phrase); + String translatedPhrase; + if (x == -1) { + translatedPhrase = phrase; + } else { + translatedPhrase = english.get(x); + } + System.out.println("Translated " + phrase + " : " + translatedPhrase); + return translatedPhrase; + } + + public String toGerman(String phrase) { + int x = english.indexOf(phrase); + String translatedPhrase; + if (x == -1) { + translatedPhrase = phrase; + } else { + translatedPhrase = german.get(x); + } + System.out.println("Translated " + phrase + " : " + translatedPhrase); + return translatedPhrase; + } +} diff --git a/sandbox/eightball-demo/translator/src/main/resources/META-INF/sca-contribution.xml b/sandbox/eightball-demo/translator/src/main/resources/META-INF/sca-contribution.xml new file mode 100644 index 0000000000..ef8354073f --- /dev/null +++ b/sandbox/eightball-demo/translator/src/main/resources/META-INF/sca-contribution.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/sandbox/eightball-demo/translator/src/main/resources/translator.composite b/sandbox/eightball-demo/translator/src/main/resources/translator.composite new file mode 100644 index 0000000000..82cb2c2560 --- /dev/null +++ b/sandbox/eightball-demo/translator/src/main/resources/translator.composite @@ -0,0 +1,29 @@ + + + + + + + + + -- cgit v1.2.3