diff options
Diffstat (limited to 'sca-java-2.x/tags/2.0.1-RC1/samples/learning-more')
218 files changed, 0 insertions, 12040 deletions
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/pom.xml deleted file mode 100644 index aaa4cf3480..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/pom.xml +++ /dev/null @@ -1,79 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0.1</version>
- <relativePath/>
- </parent>
- <artifactId>sample-async-invocation</artifactId>
- <name>Apache Tuscany SCA Sample Async Invocation</name>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <type>pom</type>
- <version>2.0.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-plugin</artifactId>
- <version>2.0.1</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculateReferenceAsync.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculateReferenceAsync.java deleted file mode 100644 index 630a77d77b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculateReferenceAsync.java +++ /dev/null @@ -1,57 +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 calculator;
-
-import java.util.concurrent.Future;
-
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * Async client version of the CalculatorService interface
- *
- */
-
-@Remotable
-public interface CalculateReferenceAsync {
-
- // Sync
- public String calculate(Integer i1);
-
- // Aysnc Poll
- public Response<String> calculateAsync(Integer i1);
-
- // Async Callback
- public Future<String> calculateAsync(Integer i1, AsyncHandler<String> handler);
-
-
- // Sync
- public void print(Integer i1);
-
- // Aysnc Poll
- public Response<Void> printAsync(Integer i1);
-
- // Async Callback
- public Future<Void> printAsync(Integer i1, AsyncHandler<Void> handler);
-
-}
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorAsyncHandler.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorAsyncHandler.java deleted file mode 100644 index abaeef8062..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorAsyncHandler.java +++ /dev/null @@ -1,36 +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 calculator;
-
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
-
-/**
- * Handles callbacks to the async client
- */
-
-public class CalculatorAsyncHandler implements AsyncHandler<String> {
- public void handleResponse(Response<String> res) {
- try {
- System.out.println("Async client callback patern: result in handler = " + res.get());
- } catch(Exception ex){
- System.out.println("Async client callback patern: exception in handler = " + ex.getMessage());
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorClient.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorClient.java deleted file mode 100644 index d1ef16c519..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorClient.java +++ /dev/null @@ -1,52 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package calculator;
-
-import org.oasisopen.sca.annotation.EagerInit;
-import org.oasisopen.sca.annotation.Init;
-import org.oasisopen.sca.annotation.Reference;
-import org.oasisopen.sca.annotation.Scope;
-
-/**
- * This client program shows how to create an SCA runtime, start it,
- * and locate and invoke a SCA component
- */
-@Scope("COMPOSITE") @EagerInit
-public class CalculatorClient {
-
- private CalculatorServiceSync calculatorService;
-
-
- @Reference
- public void setCalculatorService(CalculatorServiceSync calculatorService) {
- this.calculatorService = calculatorService;
- }
-
- @Init
- public void calculate() {
- System.out.println("calculation=" + calculatorService.calculate(20));
- System.out.println("print");
- /* TUSCANY-3757
- calculatorService.print(27);
- */
- }
-
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorPrintAsyncHandler.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorPrintAsyncHandler.java deleted file mode 100644 index 8faf390974..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorPrintAsyncHandler.java +++ /dev/null @@ -1,36 +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 calculator;
-
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
-
-/**
- * Handles callbacks to the async client
- */
-
-public class CalculatorPrintAsyncHandler implements AsyncHandler<Void> {
- public void handleResponse(Response<Void> res) {
- try {
- System.out.println("Async client callback patern: result in print handler = " + res.get());
- } catch(Exception ex){
- System.out.println("Async client callback patern: exception in print handler = " + ex.getMessage());
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceAsync.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceAsync.java deleted file mode 100644 index fe8a890a92..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceAsync.java +++ /dev/null @@ -1,34 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator;
-
-import org.oasisopen.sca.ResponseDispatch;
-import org.oasisopen.sca.annotation.AsyncInvocation;
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The async Calculator service interface.
- */
-
-@Remotable
-@AsyncInvocation
-public interface CalculatorServiceAsync {
- void calculateAsync(Integer n1, ResponseDispatch<String> response);
- void printAsync(Integer n1, ResponseDispatch<Void> response);
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceAsyncImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceAsyncImpl.java deleted file mode 100644 index e8b603d10d..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceAsyncImpl.java +++ /dev/null @@ -1,41 +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 calculator;
-
-import org.oasisopen.sca.ResponseDispatch;
-
-public class CalculatorServiceAsyncImpl implements CalculatorServiceAsync {
-
- @Override
- public void calculateAsync(Integer n1, ResponseDispatch<String> response) {
- int result = n1 + n1;
- String retval = "async service invoked: " + n1 + " + " + n1 + " = " + result;
-
- response.sendResponse(retval);
- }
-
- @Override
- public void printAsync(Integer n1, ResponseDispatch<Void> response) {
- int result = n1 + n1;
- String retval = "async service invoked: " + n1 + " + " + n1 + " = " + result;
- System.out.println(retval);
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceProxyImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceProxyImpl.java deleted file mode 100644 index 5b3809bfc9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceProxyImpl.java +++ /dev/null @@ -1,128 +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 calculator;
-
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
-import javax.xml.ws.Response;
-
-import org.oasisopen.sca.annotation.Reference;
-
-/**
- * An implementation of the Calculator service which just proxies
- * to sync and asyn versions of the calculator service. This proxy
- * exercises the various async interface alternatives
- */
-public class CalculatorServiceProxyImpl implements CalculatorServiceSync {
-
- @Reference
- protected CalculateReferenceAsync calculatorServiceRefSync;
-
- @Reference
- protected CalculateReferenceAsync calculatorServiceRefAsync;
-
- @Override
- public String calculate(Integer n1) {
- String result = null;
-
- // calculate using a sync service
- System.out.println("Calling sync service for calculate");
- result = calculate(calculatorServiceRefSync, n1);
-
- // calculate using an aycn service
- System.out.println("Calling async service for calculate");
- result += calculate(calculatorServiceRefAsync, n1);
-
- return result;
- }
-
- // exercise sync and async versions of a service interface method
- private String calculate(CalculateReferenceAsync calculatorRef, Integer n1) {
-
- // sync
- String result = calculatorRef.calculate(1);
- System.out.println("Sync client patern: result = " + result);
-
- // async poll
- Response<String> response = calculatorRef.calculateAsync(20);
-
- while (!response.isDone()){
- System.out.println("Waiting for poll");
- try {
- Thread.sleep(500);
- } catch (Exception ex) {
- // do nothing
- }
- }
-
- try {
- result = response.get();
- System.out.println("Async client poll patern: result = " + result);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ExecutionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- // async callback
- CalculatorAsyncHandler handler = new CalculatorAsyncHandler();
- Future<String> future = calculatorRef.calculateAsync(3, handler);
-
- while (!future.isDone()){
- System.out.println("Waiting for callback");
- try {
- Thread.sleep(500);
- } catch (Exception ex) {
- // do nothing
- }
- }
-
- return result;
- }
-
- @Override
- public void print(Integer n1) {
-
- // calculate using a sync service
- System.out.println("Calling sync service for print");
- print(calculatorServiceRefSync, n1);
-
- // calculate using an asycn service
- System.out.println("Calling async service for print");
- print(calculatorServiceRefAsync, n1);
- }
-
- // exercise sync and async versions of a service interface method
- private void print(CalculateReferenceAsync calculatorRef, Integer n1) {
-
- // sync
- calculatorRef.print(1);
-
- // async poll
- Response<Void> response = calculatorRef.printAsync(20);
-
- // async callback
- CalculatorPrintAsyncHandler handler = new CalculatorPrintAsyncHandler();
- Future<Void> future = calculatorRef.printAsync(3, handler);
-
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceSync.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceSync.java deleted file mode 100644 index bc9de67816..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceSync.java +++ /dev/null @@ -1,31 +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 calculator;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The sync Calculator service interface.
- */
-
-@Remotable
-public interface CalculatorServiceSync {
- String calculate(Integer n1);
- void print(Integer n1);
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceSyncImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceSyncImpl.java deleted file mode 100644 index 9a91313cee..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/java/calculator/CalculatorServiceSyncImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package calculator;
-
-public class CalculatorServiceSyncImpl implements CalculatorServiceSync {
-
- @Override
- public String calculate(Integer n1) {
- int result = n1 + n1;
- String retval = "sync service invoked: " + n1 + " + " + n1 + " = " + result;
- return retval;
- }
-
- @Override
- public void print(Integer n1) {
- int result = n1 + n1;
- String retval = "sync service invoked: " + n1 + " + " + n1 + " = " + result;
- System.out.println(retval);
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/Calculator.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/Calculator.composite deleted file mode 100644 index 6117d436db..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/Calculator.composite +++ /dev/null @@ -1,43 +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 (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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- name="Calculator">
-
- <component name="CalculatorServiceComponent">
- <implementation.java class="calculator.CalculatorServiceProxyImpl"/>
- <reference name="calculatorServiceRefSync" target="CalculatorSync"/>
- <reference name="calculatorServiceRefAsync" target="CalculatorAsync"/>
- </component>
-
- <component name="CalculatorSync">
- <implementation.java class="calculator.CalculatorServiceSyncImpl"/>
- </component>
-
- <component name="CalculatorAsync">
- <implementation.java class="calculator.CalculatorServiceAsyncImpl"/>
- <service name="CalculatorServiceAsync">
- <binding.ws uri="http://localhost:8085/CalculatorAsync"/>
- </service>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/CalculatorClient.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/CalculatorClient.composite deleted file mode 100644 index 374ef27e2b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/CalculatorClient.composite +++ /dev/null @@ -1,30 +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 (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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="CalculatorClient">
-
- <component name="CalculatorClient">
- <implementation.java class="calculator.CalculatorClient"/>
- <reference name="calculatorService" target="CalculatorServiceComponent" />
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 70aab0e051..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +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 (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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:sample="http://sample">
- <deployable composite="sample:Calculator"/>
- <deployable composite="sample:CalculatorClient"/>
-</contribution>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/test/java/calculator/CalculatorTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/test/java/calculator/CalculatorTestCase.java deleted file mode 100644 index b4b5ff85f1..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/async-invocation/src/test/java/calculator/CalculatorTestCase.java +++ /dev/null @@ -1,63 +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 calculator;
-
-import java.net.URI;
-
-import org.junit.Assert;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-import org.oasisopen.sca.client.SCAClientFactory;
-
-/*
- * A unit test for the Calculator composite that just fires up the
- * composite and expects the EagerInit of the CalculatorClient component
- * to do its thing
- */
-public class CalculatorTestCase {
-
- @Test
- public void testCalculate() throws NoSuchServiceException {
-
- // Run the SCA composite in a Tuscany runtime
- //TuscanyRuntime.runComposite("Calculator.composite", "target/classes");
- Node node = null;
-
- try {
- TuscanyRuntime tuscanyRuntime = TuscanyRuntime.newInstance();
- node = tuscanyRuntime.createNode();
- node.installContribution("AsyncSample", "target/classes", null, null);
- node.startComposite("AsyncSample", "Calculator.composite");
- node.startComposite("AsyncSample", "CalculatorClient.composite");
-
- SCAClientFactory scaClientFactory = SCAClientFactory.newInstance(URI.create("default"));
- CalculatorClient calculatorClient = scaClientFactory.getService(CalculatorClient.class, "CalculatorClient");
-
- calculatorClient.calculate();
- }catch (Exception e){
- e.printStackTrace();
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/README deleted file mode 100644 index 57702664d7..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/README +++ /dev/null @@ -1,79 +0,0 @@ -Tuscany - Learning More - Binding Comet - Autocomplete Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript API. - -This project contains a service (CountryService) that handles requests asking -for country names starting with a certain prefix. The service implementation -uses a country repository to fetch the necessary data. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so the -parameters should have the same structure as the data types defined in the method -definition. Also, the response will have the same data type as the return type of -the service method. Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-autocomplete-webapp/ - -You can see how suggestions are being received in real time when characters are -entered in the text field. You can see the persistent HTTP streaming connection -or long polling subsequent connections using the developer tools provided by -your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/pom.xml deleted file mode 100644 index 8a9d1692af..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/pom.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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-autocomplete-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.comet Real-Time Suggestions Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-autocomplete-webapp</artifactId>
- <version>2.0.1</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Country.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Country.java deleted file mode 100644 index eedacf01d0..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Country.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.sample.comet; - -import java.io.Serializable; - -public class Country implements Serializable { - - private String name; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return name; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepository.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepository.java deleted file mode 100644 index 12cdfb4235..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.sample.comet; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryRepository { - - List<Country> findStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepositoryImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepositoryImpl.java deleted file mode 100644 index 57e2d3e214..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryRepositoryImpl.java +++ /dev/null @@ -1,80 +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.sample.comet; - -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@EagerInit -@Scope("COMPOSITE") -@Service(CountryRepository.class) -public class CountryRepositoryImpl implements CountryRepository { - - private String fileName; - private List<Country> countries; - - @Constructor - public CountryRepositoryImpl(@Property(name = "fileName") String fileName) { - this.fileName = fileName; - countries = new ArrayList<Country>(); - } - - @Init - public void start() { - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader() - .getResourceAsStream(fileName))); - String line; - while ((line = reader.readLine()) != null) { - if (!line.startsWith("#")) { - Country c = new Country(); - c.setName(line); - countries.add(c); - } - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public List<Country> findStartingWith(String text) { - List<Country> result = new ArrayList<Country>(); - for (Country c : countries) { - if (c.getName().toLowerCase().startsWith(text.toLowerCase())) { - result.add(c); - } - } - return result; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryService.java deleted file mode 100644 index e916ecb98b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.sample.comet; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryService { - - List<Country> getCountriesStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryServiceImpl.java deleted file mode 100644 index ad0786be59..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/CountryServiceImpl.java +++ /dev/null @@ -1,36 +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.sample.comet; - -import java.util.List; - -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CountryService.class) -public class CountryServiceImpl implements CountryService { - - @Reference - protected CountryRepository repository; - - @Override - public List<Country> getCountriesStartingWith(String text) { - return repository.findStartingWith(text); - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt deleted file mode 100644 index 0ce76f8167..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/resources/countries.txt +++ /dev/null @@ -1,211 +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. -Afghanistan -Albania -Algeria -Andorra -Angola -Antigua & Barbuda -Argentina -Armenia -Australia -Austria -Azerbaijan -Bahamas -Bahrain -Bangladesh -Barbados -Belarus -Belgium -Belize -Benin -Bhutan -Bolivia -Bosnia & Herzegovina -Botswana -Brazil -Brunei -Bulgaria -Burkina Faso -Burundi -Cambodia -Cameroon -Canada -Cape Verde -Central African Republic -Chad -Chile -China -Colombia -Comoros -Congo -Congo Democratic Republic of -Costa Rica -Cote d'Ivoire -Croatia -Cuba -Cyprus -Czech Republic -Denmark -Djibouti -Dominica -Dominican Republic -Ecuador -East Timor -Egypt -El Salvador -Equatorial Guinea -Eritrea -Estonia -Ethiopia -Fiji -Finland -France -Gabon -Gambia -Georgia -Germany -Ghana -Greece -Grenada -Guatemala -Guinea -Guinea-Bissau -Guyana -Haiti -Honduras -Hungary -Iceland -India -Indonesia -Iran -Iraq -Ireland -Israel -Italy -Jamaica -Japan -Jordan -Kazakhstan -Kenya -Kiribati -Korea North -Korea South -Kosovo -Kuwait -Kyrgyzstan -Laos -Latvia -Lebanon -Lesotho -Liberia -Libya -Liechtenstein -Lithuania -Luxembourg -Macedonia -Madagascar -Malawi -Malaysia -Maldives -Mali -Malta -Marshall Islands -Mauritania -Mauritius -Mexico -Micronesia -Moldova -Monaco -Mongolia -Montenegro -Morocco -Mozambique -Myanmar (Burma) -Namibia -Nauru -Nepal -The Netherlands -New Zealand -Nicaragua -Niger -Nigeria -Norway -Oman -Pakistan -Palau -Palestinian State* -Panama -Papua New Guinea -Paraguay -Peru -The Philippines -Poland -Portugal -Qatar -Romania -Russia -Rwanda -St. Kitts & Nevis -St. Lucia -St. Vincent & The Grenadines -Samoa -San Marino -Sao Tome & Principe -Saudi Arabia -Senegal -Serbia -Seychelles -Sierra Leone -Singapore -Slovakia -Slovenia -Solomon Islands -Somalia -South Africa -Spain -Sri Lanka -Sudan -Suriname -Swaziland -Sweden -Switzerland -Syria -Taiwan -Tajikistan -Tanzania -Thailand -Togo -Tonga -Trinidad & Tobago -Tunisia -Turkey -Turkmenistan -Tuvalu -Uganda -Ukraine -United Arab Emirates -United Kingdom -United States of America -Uruguay -Uzbekistan -Vanuatu -Vatican City (Holy See) -Venezuela -Yemen -Zambia -Zimbabwe diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index f7cee35452..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,41 +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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="http://samples" name="Chat"> - - <component name="CountryServiceComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.CountryServiceImpl" /> - <service name="CountryService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.CountryService" /> - <tuscany:binding.comet /> - </service> - <reference name="repository" target="CountryRepositoryComponent" /> - </component> - - <component name="CountryRepositoryComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.CountryRepositoryImpl" /> - <property name="fileName">countries.txt</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html deleted file mode 100644 index 115ca7bbdb..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/autocomplete-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,69 +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. ---> -<html> - <head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - $(document).ready(function() - { - // Tuscany Comet specific API - SCA.TuscanyComet.connect(); - - $("#country").keyup(function() { - var text = $("#country").val(); - if (text != "") { - SCA.CometComponentContext.CountryService.getCountriesStartingWith(text, callback); - } else { - $("#suggestions").html(""); - } - }); - - $("#country").focus(); - }); - - function callback(response) { - var html = '<ul>'; - $.each(response, function(index, country) { - html += '<li>' + country.name + "</li>" - }); - html += '</ul>' - $("#suggestions").html(html); - } - - </script> - </head> - <body> - <h2>Apache Tuscany Comet Sample</h2> - <h3>Real-time suggestions</h3> - <table> - <tr> - <td>Enter a country name</td> - <td><input type="text" id='country'/></td> - </tr> - </table> - </div> - <div id="suggestions"> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/README deleted file mode 100644 index 303c63146a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/README +++ /dev/null @@ -1,99 +0,0 @@ -Tuscany - Learning More - Binding Comet - Chat Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript toolkit. It -also demonstrates how to push multiple responses for a single request using -SCA callbacks via comet techniques. - -This project contains a service (ChatService) that handles chat operations like -register and postMessage. Once a client is registered it will receive messages -that are sent to the chat room. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -In order to enable callbacks to push multiple responses, you need to declare the -CometCallback in the service definition as follows: - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. However, the service implementation for this sample has the COMPOSITE -scope so the callback reference has to be obtained from the ComponentContext. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-chat-webapp/ - -You can now chat using multiple tabs or browsers. You can see the persistent HTTP -streaming connection or long polling subsequent connections using the developer tools -provided by your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/pom.xml deleted file mode 100644 index d83b1150fc..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/pom.xml +++ /dev/null @@ -1,81 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-chat-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.comet Chat Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-chat-webapp</artifactId>
- <version>2.0.1</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatService.java deleted file mode 100644 index acb224715a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatService.java +++ /dev/null @@ -1,36 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(CometCallback.class) -@Remotable -public interface ChatService { - - @OneWay - void register(); - - @OneWay - void postMessage(String user, String message); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatServiceImpl.java deleted file mode 100644 index c4f3241c5b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/ChatServiceImpl.java +++ /dev/null @@ -1,56 +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.sample.comet; - -import java.util.ArrayList; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(ChatService.class) -@Scope("COMPOSITE") -public class ChatServiceImpl implements ChatService { - - @Context - protected ComponentContext context; - - private CopyOnWriteArrayList<CometCallback> clients = new CopyOnWriteArrayList<CometCallback>(); - - @Override - public void postMessage(String user, String message) { - for (CometCallback callback : new ArrayList<CometCallback>(clients)) { - Status status = callback.sendMessage(user + ": " + message); - if (status == Status.CLIENT_DISCONNECTED) { - clients.remove(callback); - } - } - } - - @Override - public void register() { - // saving the callback object during register() method so it will push data back to the client - // using the callback method defined for the register operation in the js when used - clients.add(context.getRequestContext().<CometCallback> getCallback()); - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index c535a38116..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,37 +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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Chat"> - - <component name="ChatComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.ChatServiceImpl" /> - <service name="ChatService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - </service> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html deleted file mode 100644 index 1aa79ed0b6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/chat-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,109 +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. ---> -<html> - <head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - $(document).ready(function() - { - $("#chat").hide(); - $("#username").focus(); - - // Tuscany Comet specific API - SCA.TuscanyComet.connect(); - - $("#register").click(function() { - register(messageCallback); - }); - - $("#username").keyup(function(e) { - if(e.keyCode == 13) { - register(messageCallback); - } - }); - - function register(callback) { - SCA.CometComponentContext.ChatService.register(callback); - user = $("#username").val(); - $("#login").hide(); - $("#chat").show(); - $("#message").focus(); - } - - $("#send").click(function() { - postMessage(user, $("#message").val(), postCallback); - }); - - $("#message").keyup(function(e) { - if(e.keyCode == 13) { - postMessage(user, $("#message").val(), postCallback); - } - }); - - function postMessage(user, message, callback) { - SCA.CometComponentContext.ChatService.postMessage(user, message, callback); - $("#message").val(""); - $("#message").focus(); - } - - }); - - // this method is invoked on new messages because the CometCallback object is saved - // during the register call so uses it's callback to push data back - function messageCallback(response) { - var textarea = document.getElementById('textarea'); - textarea.value += response + "\n"; - textarea.scrollTop = textarea.scrollHeight; - } - - function postCallback(response) { - } - - </script> - </head> - <body> - <h2>Apache Tuscany Comet Sample</h2> - <h3>Chat</h3> - <p/> - <div id="login"> - <table> - <tr> - <td>Nickname</td> - <td><input type="text" id='username'/></td> - <td><input type="button" id='register' value='Login'/></td> - </tr> - </table> - </div> - <div id="chat"> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="30" readonly></textarea> - <table> - <tr> - <td><input type="text" id='message'/></td> - <td><input type="button" id='send' value='Send'/></td> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pom.xml deleted file mode 100644 index 5ce3149485..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pom.xml +++ /dev/null @@ -1,47 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-learning-more</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Sample binding.comet</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>autocomplete-webapp</module>
- <module>weather-webapp</module>
- <module>pubsub-webapp</module>
- <module>chat-webapp</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/README deleted file mode 100644 index 845ff70e58..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/README +++ /dev/null @@ -1,102 +0,0 @@ -Tuscany - Learning More - Binding Comet - PubSub Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript toolkit. It -also demonstrates how to push multiple responses for a single request using -SCA callbacks via comet techniques. - -This project contains a component that registers browser clients' interest in a -certain event type. When an event of that type comes in, it notifies all registered -clients. The event processor exposes a service via the websocket binding which -enables server push to clients. Note that Tuscany 2.x doesn't have any conversational -support so this has to be handled at application level by passing ids back and forth -between the client and the server. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -In order to enable callbacks to push multiple responses, you need to declare the -CometCallback in the service definition as follows: - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-chat-webapp/ - -You can now register or unregister for any of a number of events. When an event is fired -on the server side, the browser client will receive a notification which will be displayed -in the page. You can see the persistent HTTP streaming connection or long polling subsequent -connections using the developer tools provided by your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/pom.xml deleted file mode 100644 index 2c0a9bfb9d..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/pom.xml +++ /dev/null @@ -1,81 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-pubsub-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.comet PubSub Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-pubsub-webapp</artifactId>
- <version>2.0.1</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Event.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Event.java deleted file mode 100644 index bcc6bea7af..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Event.java +++ /dev/null @@ -1,51 +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.sample.comet; - -public class Event { - - private String id; - private String name; - private String data; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getData() { - return data; - } - - public void setData(String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessor.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessor.java deleted file mode 100644 index 838d2f317c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessor.java +++ /dev/null @@ -1,107 +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.sample.comet; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; - -@Service({ EventProcessorConsumerService.class, EventProcessorProducerService.class }) -@Scope("COMPOSITE") -public class EventProcessor implements EventProcessorConsumerService, EventProcessorProducerService { - - @Context - protected ComponentContext componentContext; - - private ConcurrentMap<String, CometCallback> clients = new ConcurrentHashMap<String, CometCallback>(); - private Multimap<String, String> eventListeners = Multimaps.synchronizedMultimap(HashMultimap - .<String, String> create()); - - @Override - public void onEvent(String eventName, String eventData) { - // System.out.println("EventProcessor: Received event " + eventName + - // "..."); - List<String> destinations = new ArrayList<String>(); - synchronized (eventListeners) { - destinations.addAll(eventListeners.get(eventName)); - } - Event event = new Event(); - event.setName(eventName); - event.setData(eventData); - for (String registrationId : destinations) { - CometCallback client = clients.get(registrationId); - if (client == null) { - // client has unregistered from this event - synchronized (eventListeners) { - eventListeners.remove(eventName, registrationId); - } - } else { - Status status = client.sendMessage(event); - if (status == Status.CLIENT_DISCONNECTED) { - unregister(registrationId); - } - } - } - } - - @Override - public void register(String eventName) { - String registrationId = UUID.randomUUID().toString(); - CometCallback callback = componentContext.getRequestContext().getCallback(); - clients.put(registrationId, callback); - synchronized (eventListeners) { - eventListeners.put(eventName, registrationId); - } - Event event = new Event(); - event.setId(registrationId); - event.setName(eventName); - event.setData(new Date().toString()); - callback.sendMessage(event); - } - - @Override - public void unregister(String registrationId) { - clients.remove(registrationId); - // unregistration from eventListeners done during onEvent - } - - @Destroy - public void shutdown() { - clients.clear(); - eventListeners.clear(); - clients = null; - eventListeners = null; - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorConsumerService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorConsumerService.java deleted file mode 100644 index c8208e862c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorConsumerService.java +++ /dev/null @@ -1,37 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(CometCallback.class) -@Remotable -public interface EventProcessorConsumerService { - - @OneWay - void register(String eventName); - - @OneWay - void unregister(String registrationId); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorProducerService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorProducerService.java deleted file mode 100644 index 49d760d171..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/EventProcessorProducerService.java +++ /dev/null @@ -1,28 +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.sample.comet; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface EventProcessorProducerService { - - void onEvent(String eventName, String eventData); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Producer.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Producer.java deleted file mode 100644 index 59307824ce..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Producer.java +++ /dev/null @@ -1,76 +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.sample.comet; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; - -@EagerInit -@Scope("COMPOSITE") -public class Producer { - - @Reference - protected EventProcessorProducerService eventProcessor; - - private String eventName; - private long frequency; - - private Timer timer = new Timer(); - private Object lock = new Object(); - - @Constructor - public Producer(@Property(name = "eventName") String eventName, @Property(name = "frequency") long frequency) { - System.out.println("Producer: In Constructor with eventName=" + eventName + " and frequency=" + frequency); - this.eventName = eventName; - this.frequency = frequency; - } - - @Init - public void start() { - System.out.println("Producer: In Init..."); - timer.schedule(new TimerTask() { - - @Override - public void run() { -// System.out.println("Producer: Producing " + eventName + " event..."); - synchronized (lock) { - eventProcessor.onEvent(Producer.this.eventName, "Event @ " + new Date()); - } - } - }, 0L, this.frequency); - } - - @Destroy - public void stop() { - synchronized (lock) { - timer.cancel(); - } - timer = null; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 6479e10e99..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Event"> - - <component name="EventProcessorComponent"> - <implementation.java - class="org.apache.tuscany.sca.sample.comet.EventProcessor" /> - <service name="EventProcessorConsumerService"> - <interface.java - interface="org.apache.tuscany.sca.sample.comet.EventProcessorConsumerService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - </service> - <service name="EventProcessorProducerService"> - <interface.java - interface="org.apache.tuscany.sca.sample.comet.EventProcessorProducerService" /> - </service> - </component> - - <component name="SLOWProducerComponent"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">SLOW</property> - <property name="frequency">6000</property> - </component> - - <component name="MODERATEProducerComponent"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">MODERATE</property> - <property name="frequency">3000</property> - </component> - - <component name="FASTProducerComponent"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">FAST</property> - <property name="frequency">1000</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html deleted file mode 100644 index 0488c4cb10..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/pubsub-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,107 +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. ---> -<html> -<head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - $(document).ready(function() - { - // Tuscany Comet specific API - $('#connect').click(function(event) { - /* transport can be : long-polling or streaming */ - SCA.TuscanyComet.connect($('#transport').val()); - $('#connect').val('Switch'); - }); - - - $('#registerEventButton').click(function(event) { - var eventName = $('#registerEventName').val(); - if (registrationIds[eventName] != null) { - alert("Already registered for " + eventName + " events"); - } else { - SCA.CometComponentContext.EventProcessorConsumerService.register(eventName, responseReceived); - } - }); - - $('#unregisterEventButton').click(function(event) { - var eventName = $('#unregisterEventName').val(); - if (registrationIds[eventName] != null) { - SCA.CometComponentContext.EventProcessorConsumerService.unregister(registrationIds[eventName], responseReceived); - registrationIds[eventName] = null; - } else { - alert("Not registered for " + eventName + " events"); - } - }); - - }); - - var registrationIds = {}; - - function responseReceived(event) { - var text = ''; - if (event.id != null) { - // registration notification - registrationIds[event.name] = event.id; - text = "Registered to " + event.name + " with id " + event.id + " at " + event.data; - } else { - // event notification - text = event.name + ": " + event.data; - } - var textarea = $('#textarea'); - $(textarea).val($(textarea).val() + text + "\n"); - $(textarea).scrollTop($(textarea)[0].scrollHeight); - } - - </script> -</head> -<body> - <div id='sidebar'> - <h2>Apache Tuscany Comet Sample</h2> - <label>Select transport</label> <select id="transport"> - <option id="streaming" value="streaming">http streaming</option> - <option id="long-polling" value="long-polling">long-polling</option> - </select> <input id='connect' type='submit' value='Connect' /> - <h3>PubSub for FAST, MODERATE and SLOW events</h3> - <p /> - <table> - <tr> - <td>Event name</td> - <td><input type="text" id='registerEventName' value='FAST' /> - </td> - <td><input type="button" id='registerEventButton' - value='Register' /> - </td> - </tr> - <tr> - <td>Event name</td> - <td><input type="text" id='unregisterEventName' value='FAST' /> - </td> - <td><input type="button" id='unregisterEventButton' - value='Unregister' /> - </td> - </tr> - </table> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="80" readonly></textarea> - </div> -</body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/README deleted file mode 100644 index dc69bcf6fc..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/README +++ /dev/null @@ -1,100 +0,0 @@ -Tuscany - Learning More - Binding Comet - Weather Monitor Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via Comet techniques -as well as how to interact with them using Tuscany's javascript toolkit. It -also demonstrates how to push multiple responses for a single request using -SCA callbacks via comet techniques. - -This project contains multiple services that once called will push notifications -to the client regarding certain weather parameters according to the location of -the user. Of course, the service implementation is a mock that generates random -numbers at a fixed interval of time as weather parameters. - -By adding <tuscany:binding.comet/> to a service definition, the Tuscany runtime -will handle the communication between the browser client and the service -implementation using Comet techniques. This enables bidirectional communication -over HTTP, therefore enabling server push. For more information, check -http://en.wikipedia.org/wiki/Comet_(programming). - -The comet binding is using the Atmosphere Framework under the hood to acomodate -as many deployment envorinments as possible. Basically, it checks if the -application server supports Servlet 3.0 falling back to a number of native -comet solutions provided by vendors (Jetty, Tomcat, WebLogic, GlassFish and -others). If none is available, Atmosphere will fallback to blocking IO. - -In order to enable callbacks to push multiple responses, you need to declare the -CometCallback in the service definition as follows: - <interface.java interface="org.apache.tuscany.sca.sample.comet.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback" /> - <tuscany:binding.comet /> - <callback> - <tuscany:binding.comet /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -Invoking comet services can be done using Tuscany's javascript API which simulates -SCA in the browser. It uses the Atmosphere jQuery plugin under the hood. In order -to use it, the following script has to be included in the client page: - <script type="text/javascript" - src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"> - </script> - -The javascript toolkit permits choosing between two comet techniques: HTTP streaming -and long polling. More detailed information about them can be found on the previously -mentioned wikipedia page. - -First, a connect operation has to be issued in order to initiate communication -with the server side using the technique of your choice. This is done using the -connection method as follows: - SCA.TuscanyComet.connect('streaming'); // for HTTP streaming - SCA.TuscanyComet.connect('long-polling'); // for long polling - SCA.TuscanyComet.connect(); // starts with HTTP streaming and falls back to long polling if necessary - -The Tuscany Comet toolkit will inject proxies for all services defined in the composite -that are using binding.comet. All invocation and connection management is handled -under the hood so in order to invoke a comet service, the following should be called: - SCA.CometComponentContext.<service name>.<operation name>(<parameters>, callback); - -The callback parameter is the function that will handle responses received for a -certain service operation. It has a single argument which is the response: - function callback(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single HTTP -connection to handle communication between a browser client and all services -defined using binding.comet in the same composite. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. This is done in order to avoid -the 2 HTTP connection limit imposed by browsers. For more info, check -http://www.openajax.org/runtime/wiki/The_Two_HTTP_Connection_Limit_Issue. - -In order to run the sample, you can execute "mvn clean install t7:run" which will -start a Tomcat 7 instance automatically or use "mvn package" and deploy the resulting -war to the application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-comet-weather-webapp/ - -You can now set a location and register for various weather parameters. Notifications -will be pushed to the browser when weather parameters change. You can see the persistent -HTTP streaming connection or long polling subsequent connections using the developer -tools provided by your browser. - -The comet binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/pom.xml deleted file mode 100644 index ce7bea5be9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/pom.xml +++ /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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-comet</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-comet-weather-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.comet Weather Monitor Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-comet-runtime</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-web-api</artifactId>
- <version>6.0</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.t7mp</groupId>
- <artifactId>maven-t7-plugin</artifactId>
- <version>0.9.6</version>
- <configuration>
- <webapps>
- <webappArtifact>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>sample-binding-comet-weather-webapp</artifactId>
- <version>2.0.1</version>
- </webappArtifact>
- </webapps>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java deleted file mode 100644 index eecc6044ea..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/Helper.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.sample.comet; - -import java.util.Date; -import java.util.Random; - -public final class Helper { - - public static int randomInt(final int max) { - return (new Random(new Date().getTime()).nextInt(100)); - } - - private Helper() { - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java deleted file mode 100644 index 7145e30e03..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/HumidityService.java +++ /dev/null @@ -1,35 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(CometCallback.class) -public interface HumidityService { - - @OneWay - void getHumidity(Location location); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java deleted file mode 100644 index a53fac5ed1..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationService.java +++ /dev/null @@ -1,35 +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.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(CometCallback.class) -public interface PrecipitationService { - - @OneWay - void getPrecipitation(Location location); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java deleted file mode 100644 index 2c064a3ae6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/PrecipitationServiceImpl.java +++ /dev/null @@ -1,56 +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.sample.comet; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.apache.tuscany.sca.sample.comet.model.Response; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -@Service(PrecipitationService.class) -public class PrecipitationServiceImpl implements PrecipitationService { - - @Callback - protected CometCallback client; - - @Override - public void getPrecipitation(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(100) + "%"); - Status status = client.sendMessage(response); - if (status == Status.CLIENT_DISCONNECTED) { - System.out.println("Client disconnected from PrecipitationService."); - this.cancel(); - } - } - }, 0L, 1000L); - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java deleted file mode 100644 index 4227667e7f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureHumidityServiceImpl.java +++ /dev/null @@ -1,76 +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.sample.comet; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.binding.comet.runtime.callback.Status; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.apache.tuscany.sca.sample.comet.model.Response; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -@Service({ TemperatureService.class, HumidityService.class }) -public class TemperatureHumidityServiceImpl implements TemperatureService, HumidityService { - - @Callback - protected CometCallback callback; - - @Override - public void getHumidity(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(90) + "%"); - Status status = callback.sendMessage(response); - if (status == Status.CLIENT_DISCONNECTED) { - System.out.println("Client disconnected from HumidityService."); - this.cancel(); - } - } - }, 0L, 5000L); - } - - @Override - public void getTemperature(final Location location, final int scale) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - final String data = "" + Helper.randomInt(scale == TemperatureService.CELSIUS ? 40 : 150); - response.setData(data); - Status status = callback.sendMessage(response); - if (status == Status.CLIENT_DISCONNECTED) { - System.out.println("Client disconnected from TemperatureService."); - this.cancel(); - } - } - }, 0L, 3000L); - } - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java deleted file mode 100644 index 83afae696f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/TemperatureService.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.sample.comet; - -import org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback; -import org.apache.tuscany.sca.sample.comet.model.Location; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(CometCallback.class) -public interface TemperatureService { - - public static final int CELSIUS = 1; - public static final int FAHRENHEIT = 2; - - @OneWay - void getTemperature(Location location, int scale); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java deleted file mode 100644 index ff2da3a360..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Location.java +++ /dev/null @@ -1,43 +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.sample.comet.model; - -public class Location { - - private String city; - private String country; - - public String getCity() { - return this.city; - } - - public void setCity(final String city) { - this.city = city; - } - - public String getCountry() { - return this.country; - } - - public void setCountry(final String country) { - this.country = country; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java deleted file mode 100644 index aaa23f0b8a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/java/org/apache/tuscany/sca/sample/comet/model/Response.java +++ /dev/null @@ -1,45 +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.sample.comet.model; - -import java.util.Date; - -public class Response { - - private Date date; - private String data; - - public Date getDate() { - return this.date; - } - - public void setDate(final Date date) { - this.date = date; - } - - public String getData() { - return this.data; - } - - public void setData(final String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 20d25fe527..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.composite +++ /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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" - name="Weather"> - - <component name="c1"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.TemperatureHumidityServiceImpl"/> - <service name="TemperatureService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.TemperatureService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback"/> - <tuscany:binding.comet/> - <callback> - <tuscany:binding.comet/> - </callback> - </service> - <service name="HumidityService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.HumidityService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback"/> - <tuscany:binding.comet/> - <callback> - <tuscany:binding.comet/> - </callback> - </service> - </component> - - - <component name="c2"> - <implementation.java class="org.apache.tuscany.sca.sample.comet.PrecipitationServiceImpl"/> - <service name="PrecipitationService"> - <interface.java interface="org.apache.tuscany.sca.sample.comet.PrecipitationService" - callbackInterface="org.apache.tuscany.sca.binding.comet.runtime.callback.CometCallback"/> - <tuscany:binding.comet/> - <callback> - <tuscany:binding.comet/> - </callback> - </service> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html deleted file mode 100644 index 6c3cf7ab5c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-comet/weather-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,159 +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. ---> -<html> - <head> - <title>Apache Tuscany Comet Sample</title> - <!-- Tuscany Comet Javascript Toolkit is dependent on jQuery --> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="tuscany-comet-js/org.apache.tuscany.sca.CometComponentContext.js"></script> - <script type="text/javascript"> - $(document).ready(function() - { - // Initialization - var location = new Object(); - location.city = null; - location.country = null; - - $('#locationButton').attr('disabled', 'disabled'); - $('#tempCButton').attr('disabled', 'disabled'); - $('#tempFButton').attr('disabled', 'disabled'); - $('#humButton').attr('disabled', 'disabled'); - $('#precipButton').attr('disabled', 'disabled'); - - $('#locationButton').click(function(event) { - location.city = $('#city').val(); - location.country = $('#country').val(); - $('#locationButton').val('Switch location'); - $('#tempCButton').removeAttr('disabled'); - $('#tempFButton').removeAttr('disabled'); - $('#humButton').removeAttr('disabled'); - $('#precipButton').removeAttr('disabled'); - $('#tempCText').text('N/A'); - $('#tempCDate').text(''); - $('#tempFText').text('N/A'); - $('#tempFDate').text(''); - $('#humText').text('N/A'); - $('#humDate').text(''); - $('#precipText').text('N/A'); - $('#precipDate').textContent(''); - }); - - // Tuscany Comet specific API - $('#connect').click(function(event) { - /* transport can be : long-polling or streaming */ - SCA.TuscanyComet.connect($('#transport').val()); - $('#connect').val('Switch'); - $('#locationButton').removeAttr('disabled'); - }); - - - $('#tempCButton').click(function(event) { - SCA.CometComponentContext.TemperatureService.getTemperature(location, 1, updateTempC); - $('#tempCButton').removeAttr('disabled'); - }); - - $('#tempFButton').click(function(event) { - SCA.CometComponentContext.TemperatureService.getTemperature(location, 2, updateTempF); - $('#tempFButton').removeAttr('disabled'); - }); - - $('#humButton').click(function(event) { - SCA.CometComponentContext.HumidityService.getHumidity(location, updateHum); - $('#humButton').removeAttr('disabled'); - }); - - $('#precipButton').click(function(event) { - SCA.CometComponentContext.PrecipitationService.getPrecipitation(location, updatePrecip); - $('#precipButton').removeAttr('disabled'); - }); - }); - - function updateTempC(response) { - $('#tempCText').text(response.data); - $('#tempCDate').text(response.date); - } - - function updateTempF(response) { - $('#tempFText').text(response.data); - $('#tempFDate').text(response.date); - } - - function updateHum(response) { - $('#humText').text(response.data); - $('#humDate').text(response.date); - } - - function updatePrecip(response) { - $('#precipText').text(response.data); - $('#precipDate').text(response.date); - } - </script> - </head> - <body> - <div id='sidebar'> - <h2>Apache Tuscany Comet Sample</h2> - <label>Select transport</label> - <select id="transport"> - <option id="streaming" value="streaming">http streaming</option> - <option id="long-polling" value="long-polling">long-polling</option> - </select> - <input id='connect' type='submit' value='Connect'/> - <h3>Weather Monitor</h3> - <p/> - <table> - <tr> - <td>City</td> - <td><input type="text" id='city' value='Brasov'/></td> - </tr> - <tr> - <td>Country</td> - <td><input type="text" id ='country' value='Romania'/></td> - </tr> - </table> - <input type="button" id='locationButton' value='Set location'/> - <p/> - <table> - <tr> - <th align="left">Temperature (Celsius):</th> - <td><span id='tempCText'>N/A</span></td> - <td><input type='button' id='tempCButton' value="Update"/></td> - <td><span id='tempCDate'></span> - </tr> - <tr> - <th align="left">Temperature (Fahrenheit):</th> - <td><span id='tempFText'>N/A</span></td> - <td><input type='button' id='tempFButton' value="Update"/></td> - <td><span id='tempFDate'></span> - </tr> - <tr> - <th align="left">Humidity:</th> - <td><span id='humText'>N/A</span></td> - <td><input type='button' id='humButton' value="Update"/></td> - <td><span id='humDate'></span> - </tr> - <tr> - <th align="left">Precipitation probability:</th> - <td><span id='precipText'>N/A</span></td> - <td><input type='button' id='precipButton' value="Update"/></td> - <td><span id='precipDate'></span> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/README deleted file mode 100644 index a0b90cdf2f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/README +++ /dev/null @@ -1,67 +0,0 @@ -Tuscany - Learning More - Binding Websocket - Autocomplete Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. - -This project contains a service (CountryService) that handles requests asking -for country names starting with a certain prefix. The service implementation -uses a country repository to fetch the necessary data. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so the -parameters should have the same structure as the data types defined in the method -definition. Also, the response will have the same data type as the return type of -the service method. Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single websocket -connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-autocomplete-webapp/ - -You can see how suggestions are being received in real time when characters are -entered in the text field. You can see the persistent websocket connection using -the developer tools provided by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/pom.xml deleted file mode 100644 index 307a78f6a2..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/pom.xml +++ /dev/null @@ -1,61 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-autocomplete-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.websocket Autocomplete Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/Country.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/Country.java deleted file mode 100644 index 931e205dd7..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/Country.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; - -import java.io.Serializable; - -public class Country implements Serializable { - - private String name; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return name; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepository.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepository.java deleted file mode 100644 index eb30e6f36a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepository.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryRepository { - - List<Country> findStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepositoryImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepositoryImpl.java deleted file mode 100644 index 17ce39a10e..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryRepositoryImpl.java +++ /dev/null @@ -1,80 +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 sample; - -import java.io.BufferedReader; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@EagerInit -@Scope("COMPOSITE") -@Service(CountryRepository.class) -public class CountryRepositoryImpl implements CountryRepository { - - private String fileName; - private List<Country> countries; - - @Constructor - public CountryRepositoryImpl(@Property(name = "fileName") String fileName) { - this.fileName = fileName; - countries = new ArrayList<Country>(); - } - - @Init - public void start() { - try { - BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getClassLoader() - .getResourceAsStream(fileName))); - String line; - while ((line = reader.readLine()) != null) { - if (!line.startsWith("#")) { - Country c = new Country(); - c.setName(line); - countries.add(c); - } - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public List<Country> findStartingWith(String text) { - List<Country> result = new ArrayList<Country>(); - for (Country c : countries) { - if (c.getName().toLowerCase().startsWith(text.toLowerCase())) { - result.add(c); - } - } - return result; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryService.java deleted file mode 100644 index 40212d5ba5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; - -import java.util.List; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface CountryService { - - List<Country> getCountriesStartingWith(String text); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryServiceImpl.java deleted file mode 100644 index 20ceacd5f0..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/java/sample/CountryServiceImpl.java +++ /dev/null @@ -1,36 +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 sample; - -import java.util.List; - -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -@Service(CountryService.class) -public class CountryServiceImpl implements CountryService { - - @Reference - protected CountryRepository repository; - - @Override - public List<Country> getCountriesStartingWith(String text) { - return repository.findStartingWith(text); - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/resources/countries.txt b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/resources/countries.txt deleted file mode 100644 index 0ce76f8167..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/resources/countries.txt +++ /dev/null @@ -1,211 +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. -Afghanistan -Albania -Algeria -Andorra -Angola -Antigua & Barbuda -Argentina -Armenia -Australia -Austria -Azerbaijan -Bahamas -Bahrain -Bangladesh -Barbados -Belarus -Belgium -Belize -Benin -Bhutan -Bolivia -Bosnia & Herzegovina -Botswana -Brazil -Brunei -Bulgaria -Burkina Faso -Burundi -Cambodia -Cameroon -Canada -Cape Verde -Central African Republic -Chad -Chile -China -Colombia -Comoros -Congo -Congo Democratic Republic of -Costa Rica -Cote d'Ivoire -Croatia -Cuba -Cyprus -Czech Republic -Denmark -Djibouti -Dominica -Dominican Republic -Ecuador -East Timor -Egypt -El Salvador -Equatorial Guinea -Eritrea -Estonia -Ethiopia -Fiji -Finland -France -Gabon -Gambia -Georgia -Germany -Ghana -Greece -Grenada -Guatemala -Guinea -Guinea-Bissau -Guyana -Haiti -Honduras -Hungary -Iceland -India -Indonesia -Iran -Iraq -Ireland -Israel -Italy -Jamaica -Japan -Jordan -Kazakhstan -Kenya -Kiribati -Korea North -Korea South -Kosovo -Kuwait -Kyrgyzstan -Laos -Latvia -Lebanon -Lesotho -Liberia -Libya -Liechtenstein -Lithuania -Luxembourg -Macedonia -Madagascar -Malawi -Malaysia -Maldives -Mali -Malta -Marshall Islands -Mauritania -Mauritius -Mexico -Micronesia -Moldova -Monaco -Mongolia -Montenegro -Morocco -Mozambique -Myanmar (Burma) -Namibia -Nauru -Nepal -The Netherlands -New Zealand -Nicaragua -Niger -Nigeria -Norway -Oman -Pakistan -Palau -Palestinian State* -Panama -Papua New Guinea -Paraguay -Peru -The Philippines -Poland -Portugal -Qatar -Romania -Russia -Rwanda -St. Kitts & Nevis -St. Lucia -St. Vincent & The Grenadines -Samoa -San Marino -Sao Tome & Principe -Saudi Arabia -Senegal -Serbia -Seychelles -Sierra Leone -Singapore -Slovakia -Slovenia -Solomon Islands -Somalia -South Africa -Spain -Sri Lanka -Sudan -Suriname -Swaziland -Sweden -Switzerland -Syria -Taiwan -Tajikistan -Tanzania -Thailand -Togo -Tonga -Trinidad & Tobago -Tunisia -Turkey -Turkmenistan -Tuvalu -Uganda -Ukraine -United Arab Emirates -United Kingdom -United States of America -Uruguay -Uzbekistan -Vanuatu -Vatican City (Holy See) -Venezuela -Yemen -Zambia -Zimbabwe diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index fc1c177e9b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,40 +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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="http://samples" name="Chat"> - - <component name="CountryServiceComponent"> - <implementation.java - class="sample.CountryServiceImpl" /> - <service name="CountryService"> - <interface.java interface="sample.CountryService" /> - <tuscany:binding.websocket port="8090" /> - </service> - <reference name="repository" target="CountryRepositoryComponent" /> - </component> - - <component name="CountryRepositoryComponent"> - <implementation.java class="sample.CountryRepositoryImpl" /> - <property name="fileName">countries.txt</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/index.html deleted file mode 100644 index 618c772eb6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/autocomplete-webapp/src/main/webapp/index.html +++ /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. ---> -<html> - <head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - Tuscany.WebsocketComponentContext.CountryServiceComponent.CountryService.getCountriesStartingWith.responseHandler = function(response) { - var html = '<ul>'; - $.each(response, function(index, country) { - html += '<li>' + country.name + "</li>" - }); - html += '</ul>' - $("#suggestions").html(html); - } - - $(document).ready(function() - { - $("#country").keyup(function() { - var text = $("#country").val(); - if (text != "") { - Tuscany.WebsocketComponentContext.CountryServiceComponent.CountryService.getCountriesStartingWith(text); - } else { - $("#suggestions").html(""); - } - }); - $("#country").focus(); - }); - - </script> - </head> - <body> - <h2>Apache Tuscany Websocket Sample</h2> - <h3>Real-time suggestions</h3> - <table> - <tr> - <td>Enter a country name</td> - <td><input type="text" id='country'/></td> - </tr> - </table> - </div> - <div id="suggestions"> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/README deleted file mode 100644 index 5a9381f980..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/README +++ /dev/null @@ -1,88 +0,0 @@ -Tuscany - Learning More - Binding Websocket - Chat Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. It also demonstrates -how to push multiple responses from the server to the client for a single request -using SCA callbacks. - -This project contains a service (ChatService) that handles chat operations like -register and postMessage. Once a client is registered it will receive messages -that are sent to the chat room. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -In order to enable callbacks to push multiple responses, you need to declare the -WebsocketBindingCallback in the service definition as follows: - - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. However, the service implementation for this sample has the COMPOSITE -scope so the callback reference has to be obtained from the ComponentContext. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single persistent -websocket connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-chat-webapp/ - -You can now chat using multiple tabs or browsers. You can see the persistent websocket -connection using the developer tools provided by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/pom.xml deleted file mode 100644 index ad6a82ac6f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/pom.xml +++ /dev/null @@ -1,67 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-chat-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.websocket Chat Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatService.java deleted file mode 100644 index 7ec6a547a9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(WebsocketBindingCallback.class) -@Remotable -public interface ChatService { - - @OneWay - void register(); - - @OneWay - void postMessage(String user, String message); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatServiceImpl.java deleted file mode 100644 index 6fd4455ba9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/java/sample/ChatServiceImpl.java +++ /dev/null @@ -1,58 +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 sample; - -import java.util.ArrayList; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -@Service(ChatService.class) -@Scope("COMPOSITE") -public class ChatServiceImpl implements ChatService { - - @Context - protected ComponentContext context; - - private CopyOnWriteArrayList<WebsocketBindingCallback> clients = new CopyOnWriteArrayList<WebsocketBindingCallback>(); - - @Override - public void postMessage(String user, String message) { - for (WebsocketBindingCallback callback : new ArrayList<WebsocketBindingCallback>(clients)) { - WebsocketStatus status = callback.sendMessage(user + ": " + message); - if (status == WebsocketStatus.CLOSED) { - clients.remove(callback); - } - } - } - - @Override - public void register() { - // saving the callback object during register() method so it will push - // data back to the client - // using the callback method defined for the register operation in the - // js when used - clients.add(context.getRequestContext().<WebsocketBindingCallback> getCallback()); - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 4e83fee9e8..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,37 +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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Chat"> - - <component name="ChatComponent"> - <implementation.java - class="sample.ChatServiceImpl" /> - <service name="ChatService"> - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - </service> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/index.html deleted file mode 100644 index 2309be8533..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/chat-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,99 +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. ---> -<html> - <head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - var user = ""; - - $(document).ready(function() - { - $("#chat").hide(); - $("#username").focus(); - - $("#register").click(function() { - register(); - }); - - $("#username").keyup(function(e) { - if(e.keyCode == 13) { - register(); - } - }); - - Tuscany.WebsocketComponentContext.ChatComponent.ChatService.register.responseHandler = function(response) { - var textarea = document.getElementById('textarea'); - textarea.value += response + "\n"; - textarea.scrollTop = textarea.scrollHeight; - } - - function register() { - Tuscany.WebsocketComponentContext.ChatComponent.ChatService.register(); - user = $("#username").val(); - $("#login").hide(); - $("#chat").show(); - $("#message").focus(); - } - - $("#send").click(function() { - postMessage(user, $("#message").val()); - }); - - $("#message").keyup(function(e) { - if(e.keyCode == 13) { - postMessage(user, $("#message").val()); - } - }); - - function postMessage(user, message) { - Tuscany.WebsocketComponentContext.ChatComponent.ChatService.postMessage(user, message); - $("#message").val(""); - $("#message").focus(); - } - - }); - </script> - </head> - <body> - <h2>Apache Tuscany Comet Sample</h2> - <h3>Chat</h3> - <p/> - <div id="login"> - <table> - <tr> - <td>Nickname</td> - <td><input type="text" id='username'/></td> - <td><input type="button" id='register' value='Login'/></td> - </tr> - </table> - </div> - <div id="chat"> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="30" readonly></textarea> - <table> - <tr> - <td><input type="text" id='message'/></td> - <td><input type="button" id='send' value='Send'/></td> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pom.xml deleted file mode 100644 index f75d4bc6da..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pom.xml +++ /dev/null @@ -1,47 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-learning-more</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Sample binding.websocket</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>autocomplete-webapp</module>
- <module>weather-webapp</module>
- <module>chat-webapp</module>
- <module>pubsub-webapp</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/README deleted file mode 100644 index 1ec7d6b807..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/README +++ /dev/null @@ -1,93 +0,0 @@ -Tuscany - Learning More - Binding Websocket - PubSub Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. It also demonstrates -how to push multiple responses from the server to the client for a single request -using SCA callbacks. - -This project contains a component that registers browser clients' interest in a -certain event type. When an event of that type comes in, it notifies all registered -clients. The event processor exposes a service via the websocket binding which -enables server push to clients. Note that Tuscany 2.x doesn't have any conversational -support so this has to be handled at application level by passing ids back and forth -between the client and the server. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -In order to enable callbacks to push multiple responses, you need to declare the -WebsocketBindingCallback in the service definition as follows: - - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. However, the service implementation for this sample has the COMPOSITE -scope so the callback reference has to be obtained from the ComponentContext. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single persistent -websocket connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-chat-webapp/ - -You can now register or unregister for any of a number of events. When an event is fired -on the server side, the browser client will receive a notification which will be displayed -in the page. You can see the persistent websocket connection using the developer tools -provided by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/pom.xml deleted file mode 100644 index 8187f56379..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/pom.xml +++ /dev/null @@ -1,67 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-pubsub-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.websocket PubSub Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>r09</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Event.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Event.java deleted file mode 100644 index c9d9eb54c4..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Event.java +++ /dev/null @@ -1,51 +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 sample; - -public class Event { - - private String id; - private String name; - private String data; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getData() { - return data; - } - - public void setData(String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessor.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessor.java deleted file mode 100644 index d289b361cf..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessor.java +++ /dev/null @@ -1,104 +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 sample; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.annotation.Context; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.Scope; -import org.oasisopen.sca.annotation.Service; - -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; - -@Service({ EventProcessorConsumerService.class, EventProcessorProducerService.class }) -@Scope("COMPOSITE") -public class EventProcessor implements EventProcessorConsumerService, EventProcessorProducerService { - - @Context - protected ComponentContext componentContext; - - private ConcurrentMap<String, WebsocketBindingCallback> clients = new ConcurrentHashMap<String, WebsocketBindingCallback>(); - private Multimap<String, String> eventListeners = Multimaps.synchronizedMultimap(HashMultimap.<String, String> create()); - - @Override - public void onEvent(String eventName, String eventData) { - List<String> destinations = new ArrayList<String>(); - synchronized (eventListeners) { - destinations.addAll(eventListeners.get(eventName)); - } - Event event = new Event(); - event.setName(eventName); - event.setData(eventData); - for (String registrationId : destinations) { - WebsocketBindingCallback client = clients.get(registrationId); - if (client == null) { - // client has unregistered from this event - synchronized (eventListeners) { - eventListeners.remove(eventName, registrationId); - } - } else { - WebsocketStatus status = client.sendMessage(event); - if (status == WebsocketStatus.CLOSED) { - unregister(registrationId); - } - } - } - } - - @Override - public void register(String eventName) { - String registrationId = UUID.randomUUID().toString(); - WebsocketBindingCallback callback = componentContext.getRequestContext().getCallback(); - clients.put(registrationId, callback); - synchronized (eventListeners) { - eventListeners.put(eventName, registrationId); - } - Event event = new Event(); - event.setId(registrationId); - event.setName(eventName); - event.setData(new Date().toString()); - callback.sendMessage(event); - } - - @Override - public void unregister(String registrationId) { - clients.remove(registrationId); - // unregistration from eventListeners done during onEvent - } - - @Destroy - public void shutdown() { - clients.clear(); - eventListeners.clear(); - clients = null; - eventListeners = null; - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorConsumerService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorConsumerService.java deleted file mode 100644 index aa9156b088..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorConsumerService.java +++ /dev/null @@ -1,37 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Callback(WebsocketBindingCallback.class) -@Remotable -public interface EventProcessorConsumerService { - - @OneWay - void register(String eventName); - - @OneWay - void unregister(String registrationId); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorProducerService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorProducerService.java deleted file mode 100644 index a9c80cc697..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/EventProcessorProducerService.java +++ /dev/null @@ -1,28 +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 sample; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface EventProcessorProducerService { - - void onEvent(String eventName, String eventData); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Producer.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Producer.java deleted file mode 100644 index 88a214d843..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/java/sample/Producer.java +++ /dev/null @@ -1,75 +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 sample; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.oasisopen.sca.annotation.Constructor; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; - -@EagerInit -@Scope("COMPOSITE") -public class Producer { - - @Reference - protected EventProcessorProducerService eventProcessor; - - private String eventName; - private long frequency; - - private Timer timer = new Timer(); - private Object lock = new Object(); - - @Constructor - public Producer(@Property(name = "eventName") String eventName, @Property(name = "frequency") long frequency) { - System.out.println("Producer: In Constructor with eventName=" + eventName + " and frequency=" + frequency); - this.eventName = eventName; - this.frequency = frequency; - } - - @Init - public void start() { - System.out.println("Producer: In Init..."); - timer.schedule(new TimerTask() { - - @Override - public void run() { - synchronized (lock) { - eventProcessor.onEvent(Producer.this.eventName, "Event @ " + new Date()); - } - } - }, 0L, this.frequency); - } - - @Destroy - public void stop() { - synchronized (lock) { - timer.cancel(); - } - timer = null; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 743e2b418e..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,60 +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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" name="Event"> - - <component name="EventProcessorComponent"> - <implementation.java class="sample.EventProcessor" /> - <service name="EventProcessorConsumerService"> - <interface.java interface="sample.EventProcessorConsumerService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - </service> - <service name="EventProcessorProducerService"> - <interface.java interface="sample.EventProcessorProducerService" /> - </service> - </component> - - <component name="SLOWProducerComponent"> - <implementation.java class="sample.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">SLOW</property> - <property name="frequency">6000</property> - </component> - - <component name="MODERATEProducerComponent"> - <implementation.java class="sample.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">MODERATE</property> - <property name="frequency">3000</property> - </component> - - <component name="FASTProducerComponent"> - <implementation.java class="sample.Producer" /> - <reference name="eventProcessor" target="EventProcessorComponent" /> - <property name="eventName">FAST</property> - <property name="frequency">1000</property> - </component> - -</composite>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/index.html deleted file mode 100644 index bfacf28236..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/pubsub-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,96 +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. ---> -<html> -<head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - var registrationIds = {}; - - Tuscany.WebsocketComponentContext.EventProcessorComponent.EventProcessorConsumerService.register.responseHandler = function(event) { - var text = ''; - if (event.id != null) { - // registration notification - registrationIds[event.name] = event.id; - text = "Registered to " + event.name + " with id " + event.id + " at " + event.data; - } else { - // event notification - text = event.name + ": " + event.data; - } - var textarea = $('#textarea'); - $(textarea).val($(textarea).val() + text + "\n"); - $(textarea).scrollTop($(textarea)[0].scrollHeight); - } - - $(document).ready(function() - { - $('#registerEventButton').click(function(event) { - var eventName = $('#registerEventName').val(); - if (registrationIds[eventName] != null) { - alert("Already registered for " + eventName + " events"); - } else { - Tuscany.WebsocketComponentContext.EventProcessorComponent.EventProcessorConsumerService.register(eventName); - } - }); - - $('#unregisterEventButton').click(function(event) { - var eventName = $('#unregisterEventName').val(); - if (registrationIds[eventName] != null) { - Tuscany.WebsocketComponentContext.EventProcessorComponent.EventProcessorConsumerService.unregister(registrationIds[eventName]); - registrationIds[eventName] = null; - } else { - alert("Not registered for " + eventName + " events"); - } - }); - }); - </script> -</head> -<body> - <h2>Apache Tuscany Websocket Sample</h2> - <h3>PubSub for FAST, MODERATE and SLOW events</h3> - <p/> - <table> - <tr> - <td>Event name</td> - <td> - <select id="registerEventName"> - <option value="FAST">FAST</option> - <option value="MODERATE">MODERATE</option> - <option value="SLOW">SLOW</option> - </select> - </td> - <td><input type="button" id='registerEventButton' value='Register' /></td> - </tr> - <tr> - <td>Event name</td> - <td> - <select id="unregisterEventName"> - <option value="FAST">FAST</option> - <option value="MODERATE">MODERATE</option> - <option value="SLOW">SLOW</option> - </select> - </td> - <td><input type="button" id='unregisterEventButton' value='Unregister' /></td> - </tr> - </table> - <h3>Server notifications</h3> - <textarea id="textarea" rows="15" cols="80" readonly></textarea> -</body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/README deleted file mode 100644 index eb195bc4dc..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/README +++ /dev/null @@ -1,89 +0,0 @@ -Tuscany - Learning More - Binding Websocket - Weather Monitor Webapp ------------------------------------------------------------------ - -This sample demonstrates how Tuscany can expose services via websockets as well -as how to interact with them using Tuscany's javascript API. It also demonstrates -how to push multiple responses for a single request using SCA callbacks. - -This project contains multiple services that once called will push notifications -to the client regarding certain weather parameters according to the location of -the user. Of course, the service implementation is a mock that generates random -numbers at a fixed interval of time as weather parameters. - -By adding <tuscany:binding.websocket port="8090"/> to a service definition, the -Tuscany runtime will start a websocket server listening for requests coming -in for the exposed service at the specified port. If no port is specified, the -runtime will use port 9000 as a default. - -The websocket binding uses embedded Jetty instances as websocket servers. At the -moment, Jetty 8.0.0-M3 is used which has support for the 00, 01, 06 and 07 -versions of the websocket protocol drafts. - -IN ORDER TO RUN THIS SAMPLE SUCCESSFULLY PLEASE CHECK IF YOUR BROWSER SUPPORTS -THE ABOVE WEBSOCKET PROTOCOL VERSIONS AND THAT THE WEBSOCKET SUPPORT IS ENABLED. - -In order to enable callbacks to push multiple responses, you need to declare the -WebsocketBindingCallback in the service definition as follows: - - <interface.java interface="sample.ChatService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback" /> - <tuscany:binding.websocket /> - <callback> - <tuscany:binding.websocket /> - </callback> - -The callback object has methods that facilitate sending messages back to the -calling client. It can be injected in the service implementation using the @Callback -annotation. - -One requirement that service methods have to meet to enable multiple response -support is that they have to be annotated with @OneWay to enable non-blocking -support. Without it, methods are treated synchronously sending a single response -which is the object returned by the method call. - -The websocket binding also features a javascript API to simulate SCA in the -browser. In order to use it, the following script has to be included in the -client page: - <script type="text/javascript" - src="org.apache.tuscany.sca.WebsocketComponentContext.js"> - </script> - -This will inject proxies for all services defined in the composite that are -using binding.websocket. All invocation and connection management is handled -under the hood so in order to invoke a websocket service, the following should -be called: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>(<parameters>); - -Given the asynchornous nature of websockets, a function should be defined in -order to handle responses received for a certain service operation. This should -be done as follows: - Tuscany.WebsocketComponentContext.<component name>.<service name>.<operation name>.responseHandler = function(response) { - // handle response - }; - -Note that the data exchange is automatically handled by the binding, so parameters -will be mapped to the data types defined in the method definition. Also, the response -will have the same data type as the server side object used to wrap the response. -Objects are passed over the wire in JSON format. - -Another detail worth mentioning is that the binding will use a single persistent -websocket connection to handle communication between a browser client and all services -defined using binding.websocket on the same port. Requests and responses will get -multiplexed via the same channel and get routed to the appropriate service -implementation, respectively javascript function. - -In order to run the sample, you can execute "mvn jetty:run" which will start a Jetty -instance automatically or use "mvn package" and deploy the resulting war to the -application server of your choice. - -Next, point your browser at - http://localhost:8080/sample-binding-websocket-weather-webapp/ - -You can now set a location and register for various weather parameters. Notifications -will be pushed to the browser when weather parameters change. You can see the persistent -websocket connection handling all the communication using the developer tools provided -by your browser. - -The websocket binding is an experimental binding so community feedback is much -appreciated. Feel free to send comments or suggestions on the Apache Tuscany -dev mailing list (dev@tuscany.apache.org).
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/pom.xml deleted file mode 100644 index 811f7b6283..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/pom.xml +++ /dev/null @@ -1,60 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-binding-websocket</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-binding-websocket-weather-webapp</artifactId>
- <packaging>war</packaging>
- <version>2.0.1</version>
- <name>Apache Tuscany SCA Sample binding.websocket Weather Monitor Webapp</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-websocket</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.26</version>
- </plugin>
- </plugins>
- </build>
-
-</project>
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/Helper.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/Helper.java deleted file mode 100644 index 10b46cc55f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/Helper.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - -import java.util.Date; -import java.util.Random; - -public final class Helper { - - public static int randomInt(final int max) { - return (new Random(new Date().getTime()).nextInt(100)); - } - - private Helper() { - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/HumidityService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/HumidityService.java deleted file mode 100644 index 7b38a098ac..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/HumidityService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -import sample.model.Location; - -@Remotable -@Callback(WebsocketBindingCallback.class) -public interface HumidityService { - - @OneWay - void getHumidity(Location location); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationService.java deleted file mode 100644 index 14fcdfd8b3..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -import sample.model.Location; - -@Remotable -@Callback(WebsocketBindingCallback.class) -public interface PrecipitationService { - - @OneWay - void getPrecipitation(Location location); - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationServiceImpl.java deleted file mode 100644 index 5d9575686b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/PrecipitationServiceImpl.java +++ /dev/null @@ -1,57 +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 sample; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -import sample.model.Location; -import sample.model.Response; - -@Service(PrecipitationService.class) -public class PrecipitationServiceImpl implements PrecipitationService { - - @Callback - protected WebsocketBindingCallback client; - - @Override - public void getPrecipitation(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(100) + "%"); - WebsocketStatus status = client.sendMessage(response); - if (status == WebsocketStatus.CLOSED) { - System.out.println("Client disconnected from PrecipitationService."); - this.cancel(); - } - } - }, 0L, 1000L); - } -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureHumidityServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureHumidityServiceImpl.java deleted file mode 100644 index e505167b3c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureHumidityServiceImpl.java +++ /dev/null @@ -1,77 +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 sample; - -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketStatus; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Service; - -import sample.model.Location; -import sample.model.Response; - -@Service({ TemperatureService.class, HumidityService.class }) -public class TemperatureHumidityServiceImpl implements TemperatureService, HumidityService { - - @Callback - protected WebsocketBindingCallback callback; - - @Override - public void getHumidity(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - response.setData(Helper.randomInt(90) + "%"); - WebsocketStatus status = callback.sendMessage(response); - if (status == WebsocketStatus.CLOSED) { - System.out.println("Client disconnected from HumidityService."); - this.cancel(); - } - } - }, 0L, 5000L); - } - - @Override - public void getTemperature(final Location location) { - new Timer().scheduleAtFixedRate(new TimerTask() { - - @Override - public void run() { - final Response response = new Response(); - response.setDate(new Date()); - final String data = "" + Helper.randomInt(40); - response.setData(data); - WebsocketStatus status = callback.sendMessage(response); - if (status == WebsocketStatus.CLOSED) { - System.out.println("Client disconnected from TemperatureService."); - this.cancel(); - } - } - }, 0L, 3000L); - } - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureService.java deleted file mode 100644 index 67318c67c7..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/TemperatureService.java +++ /dev/null @@ -1,36 +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 sample; - -import org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback; -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -import sample.model.Location; - -@Remotable -@Callback(WebsocketBindingCallback.class) -public interface TemperatureService { - - @OneWay - void getTemperature(Location location); - -}
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Location.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Location.java deleted file mode 100644 index 67edc140f9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Location.java +++ /dev/null @@ -1,43 +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 sample.model; - -public class Location { - - private String city; - private String country; - - public String getCity() { - return this.city; - } - - public void setCity(final String city) { - this.city = city; - } - - public String getCountry() { - return this.country; - } - - public void setCountry(final String country) { - this.country = country; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Response.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Response.java deleted file mode 100644 index 462af6d8ab..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/java/sample/model/Response.java +++ /dev/null @@ -1,45 +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 sample.model; - -import java.util.Date; - -public class Response { - - private Date date; - private String data; - - public Date getDate() { - return this.date; - } - - public void setDate(final Date date) { - this.date = date; - } - - public String getData() { - return this.data; - } - - public void setData(final String data) { - this.data = data; - } - -} diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 58630c02ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index edf53fa76c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,57 +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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" - targetNamespace="http://samples" - name="Weather"> - - <component name="c1"> - <implementation.java class="sample.TemperatureHumidityServiceImpl"/> - <service name="TemperatureService"> - <interface.java interface="sample.TemperatureService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback"/> - <tuscany:binding.websocket/> - <callback> - <tuscany:binding.websocket/> - </callback> - </service> - <service name="HumidityService"> - <interface.java interface="sample.HumidityService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback"/> - <tuscany:binding.websocket/> - <callback> - <tuscany:binding.websocket/> - </callback> - </service> - </component> - - <component name="c2"> - <implementation.java class="sample.PrecipitationServiceImpl"/> - <service name="PrecipitationService"> - <interface.java interface="sample.PrecipitationService" - callbackInterface="org.apache.tuscany.sca.binding.websocket.runtime.WebsocketBindingCallback"/> - <tuscany:binding.websocket/> - <callback> - <tuscany:binding.websocket/> - </callback> - </service> - </component> - -</composite> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 25b06c457a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +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 (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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:j2ee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3.0.xsd" version="3.0"> - <display-name>Apache Tuscany Stock Comet Sample</display-name> - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - <async-supported>true</async-supported> - </filter> - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <welcome-file-list> - <welcome-file>index.html</welcome-file> - </welcome-file-list> -</web-app>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/index.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/index.html deleted file mode 100644 index 5d5ae2c1ca..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/binding-websocket/weather-webapp/src/main/webapp/index.html +++ /dev/null @@ -1,114 +0,0 @@ -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<html> - <head> - <title>Apache Tuscany Websocket Sample</title> - <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script> - <script type="text/javascript" src="org.apache.tuscany.sca.WebsocketComponentContext.js"></script> - <script type="text/javascript"> - $(document).ready(function(){ - var location = {}; - location.city = null; - location.country = null; - - $('#tempButton').attr('disabled', 'disabled'); - $('#humButton').attr('disabled', 'disabled'); - $('#precipButton').attr('disabled', 'disabled'); - - $('#locationButton').click(function(event) { - location.city = $('#city').val(); - location.country = $('#country').val(); - $('#locationButton').attr('disabled', 'disabled'); - $('#tempButton').removeAttr('disabled'); - $('#humButton').removeAttr('disabled'); - $('#precipButton').removeAttr('disabled'); - }); - - $('#tempButton').click(function(event) { - Tuscany.WebsocketComponentContext.c1.TemperatureService.getTemperature(location); - $('#tempButton').attr('disabled', 'disabled'); - }); - - Tuscany.WebsocketComponentContext.c1.TemperatureService.getTemperature.responseHandler = function(response) { - $('#tempText').text(response.data); - $('#tempDate').text(response.date); - } - - $('#humButton').click(function(event) { - Tuscany.WebsocketComponentContext.c1.HumidityService.getHumidity(location); - $('#humButton').attr('disabled', 'disabled'); - }); - - Tuscany.WebsocketComponentContext.c1.HumidityService.getHumidity.responseHandler = function(response) { - $('#humText').text(response.data); - $('#humDate').text(response.date); - } - - $('#precipButton').click(function(event) { - Tuscany.WebsocketComponentContext.c2.PrecipitationService.getPrecipitation(location); - $('#precipButton').attr('disabled', 'disabled'); - }); - - Tuscany.WebsocketComponentContext.c2.PrecipitationService.getPrecipitation.responseHandler = function(response) { - $('#precipText').text(response.data); - $('#precipDate').text(response.date); - } - }); - </script> - </head> - <body> - <div id='sidebar'> - <h2>Apache Tuscany Weather Sample</h2> - <h3>Weather Monitor</h3> - <p/> - <table> - <tr> - <td>City</td> - <td><input type="text" id='city' value='Brasov'/></td> - </tr> - <tr> - <td>Country</td> - <td><input type="text" id ='country' value='Romania'/></td> - </tr> - </table> - <input type="button" id='locationButton' value='Set location'/> - <p/> - <table> - <tr> - <th align="left">Temperature:</th> - <td><span id='tempText'>N/A</span></td> - <td><input type='button' id='tempButton' value="Update"/></td> - <td><span id='tempDate'></span> - </tr> - <tr> - <th align="left">Humidity:</th> - <td><span id='humText'>N/A</span></td> - <td><input type='button' id='humButton' value="Update"/></td> - <td><span id='humDate'></span> - </tr> - <tr> - <th align="left">Precipitation probability:</th> - <td><span id='precipText'>N/A</span></td> - <td><input type='button' id='precipButton' value="Update"/></td> - <td><span id='precipDate'></span> - </tr> - </table> - </div> - </body> -</html> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/META-INF/MANIFEST.MF deleted file mode 100644 index a9c9b2a8f9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0
-Bundle-Version: 2.0.0
-Bundle-Name: Sample Calculator OSGi
-Bundle-Activator: calculator.CalculatorActivator
-Bundle-ManifestVersion: 2
-Import-Package: org.oasisopen.sca.annotation;version="2.0.0",
- org.oasisopen.sca;version="2.0.0",
- org.apache.tuscany.sca;version="2.0.0",
- org.apache.tuscany.sca.core;version="2.0.0",
- org.osgi.framework,
- org.osgi.service.component;resolution:=optional,
- org.osgi.service.packageadmin,
- org.osgi.util.tracker
-Bundle-SymbolicName: sample.calculator.osgi
-Bundle-Vendor: The Apache Software Foundation
-Eclipse-LazyStart: true
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-DocURL: http://www.apache.org/
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/README.html b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/README.html deleted file mode 100644 index 18e1c62b74..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/README.html +++ /dev/null @@ -1,59 +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.
--->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
- <TITLE></TITLE>
- <META NAME="GENERATOR" CONTENT="OpenOffice.org 3.3 (Win32)">
- <META NAME="AUTHOR" CONTENT="ant ">
- <META NAME="CREATED" CONTENT="20110315;9485571">
- <META NAME="CHANGED" CONTENT="20110906;11493347">
- <STYLE TYPE="text/css">
- <!--
- @page { margin: 2cm }
- P { margin-bottom: 0.21cm }
- H1 { margin-bottom: 0.21cm }
- H1.western { font-family: "Arial", sans-serif; font-size: 16pt }
- H1.cjk { font-family: "SimSun"; font-size: 16pt }
- H1.ctl { font-family: "Mangal"; font-size: 16pt }
- PRE.cjk { font-family: "NSimSun", monospace }
- A:link { so-language: zxx }
- -->
- </STYLE>
-</HEAD>
-<BODY LANG="en-GB" DIR="LTR">
-<H1 CLASS="western">Contribution OSGi</H1>
-<P STYLE="margin-bottom: 0cm"><BR>
-</P>
-<PRE CLASS="western"><FONT FACE="Times New Roman, serif"><FONT SIZE=3>This sample packages the calculator sample as an OSGi bundle. The main differences over and above the basic calculator sample is that the bundle has a bundle activator. When the bundle is installed and started in OSGi the bundle activator starts the Tuscany runtime and runs the sample. </FONT></FONT>
-
-<FONT FACE="Times New Roman, serif"><FONT SIZE=3>See samples/running_tuscany/osgi for instructions for installing the Tuscany runtime in OSGi. Once the runtime is installed this contribution can be installed from the OSGi command line using the following command. </FONT></FONT>
-
-<FONT FACE="Courier New, monospace"><FONT SIZE=2>osgi> install file:///c:\path\to\Tuscany\installation\samples\learning-more\contribution-osgi\target\sample-contribution-osgi.jar</FONT></FONT>
-
-<FONT FACE="Times New Roman, serif"><FONT SIZE=3>This should give rise to a message indicating the bundle ID as follows:</FONT></FONT>
-
-<FONT FACE="Courier New, monospace"><FONT SIZE=2>Bundle id is 264</FONT></FONT>
-
-<FONT FACE="Times New Roman, serif"><FONT SIZE=3>The bundle can then be started using:</FONT></FONT>
-
-<FONT FACE="Courier New, monospace"><FONT SIZE=2>osgi> start 264</FONT></FONT></PRE>
-</BODY>
-</HTML>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/README.odt b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/README.odt Binary files differdeleted file mode 100644 index 934c402bdf..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/README.odt +++ /dev/null diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/pom.xml deleted file mode 100644 index d4d4921b7b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/pom.xml +++ /dev/null @@ -1,95 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
- http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0.1</version>
- <relativePath />
- </parent>
- <artifactId>sample-contribution-osgi</artifactId>
- <version>2.0.1</version>
-
- <name>Apache Tuscany SCA Sample Calculator OSGi</name>
-
- <properties>
- <tuscany.version>${project.version}</tuscany.version>
- </properties>
-
- <!-- ASF repositories so sample can be built from SVN without building trunk-->
- <repositories><repository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </repository></repositories>
- <pluginRepositories><pluginRepository>
- <id>apache.snapshots</id>
- <name>Apache Snapshot Repository</name>
- <url>http://repository.apache.org/snapshots</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository></pluginRepositories>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <type>pom</type>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-osgi-runtime-pom</artifactId>
- <type>pom</type>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/AddService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/AddService.java deleted file mode 100644 index 5a1e7a638a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/AddService.java +++ /dev/null @@ -1,28 +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 calculator;
-
-/**
- * The Add service interface
- */
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/AddServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/AddServiceImpl.java deleted file mode 100644 index caf4d358df..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/AddServiceImpl.java +++ /dev/null @@ -1,35 +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 calculator;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * An implementation of the Add service
- */
-public class AddServiceImpl implements AddService {
-
- public double add(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.FINEST, "Adding " + n1 + " and " + n2);
- return n1 + n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorActivator.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorActivator.java deleted file mode 100644 index 5e65623761..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorActivator.java +++ /dev/null @@ -1,47 +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 calculator;
-
-
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- *
- */
-public class CalculatorActivator implements BundleActivator {
- private Logger logger = Logger.getLogger(CalculatorActivator.class.getName());
-
- public void start(BundleContext context) throws Exception {
- logger.info("Starting " + context.getBundle());
- Node node = TuscanyRuntime.runComposite("Calculator.composite", context.getBundle().getLocation());
- node.stop();
- }
-
- public void stop(BundleContext context) throws Exception {
- logger.info("Stopping " + context.getBundle());
- // Registered services will be automatically unregistered
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorClient.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorClient.java deleted file mode 100644 index 2b791a8e1f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorClient.java +++ /dev/null @@ -1,62 +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 calculator;
-
-import org.oasisopen.sca.annotation.EagerInit;
-import org.oasisopen.sca.annotation.Init;
-import org.oasisopen.sca.annotation.Reference;
-import org.oasisopen.sca.annotation.Scope;
-
-/**
- * This client program shows how to create an SCA runtime, start it,
- * and locate and invoke a SCA component
- */
-@Scope("COMPOSITE") @EagerInit
-public class CalculatorClient {
-
- private CalculatorService calculatorService;
-
- @Reference
- public void setCalculatorService(CalculatorService calculatorService) {
- this.calculatorService = calculatorService;
- }
-
- @Init
- public void calculate() {
-
- // Calculate
- System.out.println("SCA API ClassLoader: " + print(Reference.class.getClassLoader()));
- System.out.println("3 + 2=" + calculatorService.add(3, 2));
- System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
- System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
- System.out.println("3 / 2=" + calculatorService.divide(3, 2));
- }
-
- private static String print(ClassLoader cl) {
- StringBuffer buf = new StringBuffer();
- for (; cl != null;) {
- buf.append(cl.toString());
- buf.append(' ');
- cl = cl.getParent();
- }
- return buf.toString();
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorService.java deleted file mode 100644 index ad87375529..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorService.java +++ /dev/null @@ -1,35 +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 calculator;
-
-
-/**
- * The Calculator service interface.
- */
-public interface CalculatorService {
-
- double add(double n1, double n2);
-
- double subtract(double n1, double n2);
-
- double multiply(double n1, double n2);
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorServiceImpl.java deleted file mode 100644 index 0f03d6e7a1..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/CalculatorServiceImpl.java +++ /dev/null @@ -1,69 +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 calculator;
-
-import org.oasisopen.sca.annotation.Reference;
-
-/**
- * An implementation of the Calculator service.
- */
-public class CalculatorServiceImpl implements CalculatorService {
-
- private AddService addService;
- private SubtractService subtractService;
- private MultiplyService multiplyService;
- private DivideService divideService;
-
- @Reference
- public void setAddService(AddService addService) {
- this.addService = addService;
- }
-
- @Reference
- public void setSubtractService(SubtractService subtractService) {
- this.subtractService = subtractService;
- }
-
- @Reference
- public void setDivideService(DivideService divideService) {
- this.divideService = divideService;
- }
-
- @Reference
- public void setMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = multiplyService;
- }
-
- public double add(double n1, double n2) {
- return addService.add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return subtractService.subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return multiplyService.multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return divideService.divide(n1, n2);
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/DivideService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/DivideService.java deleted file mode 100644 index ef6a8b375b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/DivideService.java +++ /dev/null @@ -1,28 +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 calculator;
-
-/**
- * The divide service interface
- */
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/DivideServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/DivideServiceImpl.java deleted file mode 100644 index cd91935f08..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/DivideServiceImpl.java +++ /dev/null @@ -1,35 +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 calculator;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * An implementation of the Divide service.
- */
-public class DivideServiceImpl implements DivideService {
-
- public double divide(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.FINEST, "Dividing " + n1 + " with " + n2);
- return n1 / n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/MultiplyService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/MultiplyService.java deleted file mode 100644 index db568cc762..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/MultiplyService.java +++ /dev/null @@ -1,28 +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 calculator;
-
-/**
- * The interface for the multiply service
- */
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/MultiplyServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/MultiplyServiceImpl.java deleted file mode 100644 index c85357fcd8..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/MultiplyServiceImpl.java +++ /dev/null @@ -1,35 +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 calculator;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * An implementation of the Multiply service.
- */
-public class MultiplyServiceImpl implements MultiplyService {
-
- public double multiply(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.FINEST, "Multiplying " + n1 + " with " + n2);
- return n1 * n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/SubtractService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/SubtractService.java deleted file mode 100644 index 56ee372fc4..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/SubtractService.java +++ /dev/null @@ -1,28 +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 calculator;
-
-/**
- * The interface for the multiply service
- */
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/SubtractServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/SubtractServiceImpl.java deleted file mode 100644 index 1b669084d9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/java/calculator/SubtractServiceImpl.java +++ /dev/null @@ -1,35 +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 calculator;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * An implementation of the subtract service.
- */
-public class SubtractServiceImpl implements SubtractService {
-
- public double subtract(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.FINEST, "Subtracting " + n1 + " from " + n2);
- return n1 - n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/resources/Calculator.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/resources/Calculator.composite deleted file mode 100644 index 3a7326caaa..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/main/resources/Calculator.composite +++ /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 (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. ---> -<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" - targetNamespace="http://sample" - xmlns:sample="http://sample" - name="Calculator"> - - - <component name="CalculatorServiceComponent"> - <implementation.java class="calculator.CalculatorServiceImpl"/> - <reference name="addService" target="AddServiceComponent" /> - <reference name="subtractService" target="SubtractServiceComponent" /> - <reference name="multiplyService" target="MultiplyServiceComponent" /> - <reference name="divideService" target="DivideServiceComponent" /> - </component> - - <component name="AddServiceComponent"> - <implementation.java class="calculator.AddServiceImpl"/> - </component> - - <component name="SubtractServiceComponent"> - <implementation.java class="calculator.SubtractServiceImpl"/> - </component> - - <component name="MultiplyServiceComponent"> - <implementation.java class="calculator.MultiplyServiceImpl"/> - </component> - - <component name="DivideServiceComponent"> - <implementation.java class="calculator.DivideServiceImpl"/> - </component> - - - <component name="CalculatorClient"> - <implementation.java class="calculator.CalculatorClient"/> - <reference name="calculatorService" target="CalculatorServiceComponent" /> - </component> - -</composite> diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/test/java/calculator/CalculatorTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/test/java/calculator/CalculatorTestCase.java deleted file mode 100644 index a81b58bced..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/contribution-osgi/src/test/java/calculator/CalculatorTestCase.java +++ /dev/null @@ -1,49 +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 calculator;
-
-import org.junit.Assert;
-
-import org.apache.tuscany.sca.Node;
-import org.apache.tuscany.sca.TuscanyRuntime;
-import org.junit.Test;
-import org.oasisopen.sca.NoSuchServiceException;
-
-/*
- * A unit test for the Calculator composite that just fires up the
- * composite and expects the EagerInit of the CalculatorClient component
- * to do its thing
- */
-public class CalculatorTestCase {
-
- @Test
- public void testCalculate() throws NoSuchServiceException {
-
- // Run the SCA composite in a Tuscany runtime
- Node node = TuscanyRuntime.runComposite("Calculator.composite", "target/classes");
- try {
-
-
-
- } finally {
- // Stop the Tuscany runtime Node
- node.stop();
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/LICENSE b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
-
-
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/META-INF/MANIFEST.MF deleted file mode 100644 index 6ce24a4a32..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/META-INF/MANIFEST.MF +++ /dev/null @@ -1,23 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: calculator.dosgi;version="1.0.1",
- calculator.dosgi.operations;version="1.0.1"
-Bundle-Version: 1.0.0
-Bundle-Name: calculator.dosgi.dynamic
-Bundle-Activator: calculator.dosgi.impl.CalculatorActivator
-Bundle-ManifestVersion: 2
-Import-Package: org.oasisopen.sca.annotation;version="2.0.0",
- org.osgi.framework,
- org.osgi.service.component;resolution:=optional,
- org.osgi.service.packageadmin,
- org.osgi.util.tracker
-Bundle-SymbolicName: calculator.dosgi.dynamic
-Bundle-Vendor: The Apache Software Foundation
-Bundle-ActivationPolicy: lazy
-Eclipse-LazyStart: true
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-DocURL: http://www.apache.org/
-Service-Component-Disabled: OSGI-INF/calculator-component.xml
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6
-SCA-Configuration: OSGI-INF/sca-config/calculator-config.xml
-Remote-Service: OSGI-INF/remote-service/*.xml
- diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/NOTICE b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/NOTICE deleted file mode 100644 index 7bd7e52af5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2013 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/blueprint/calculator-module.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/blueprint/calculator-module.xml deleted file mode 100644 index fe0bbf21df..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/blueprint/calculator-module.xml +++ /dev/null @@ -1,43 +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 (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.
--->
-<!-- A sample module-context.xml for OSGI RFC 124 (BluePrint Service) -->
-<components xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <component id="CalculatorComponent" class="calculator.dosgi.impl.CalculatorServiceImpl">
- <property name="addService" ref="AddService" />
- <property name="subtractService" ref="SubtractService" />
- <property name="multiplyService" ref="MultiplyService" />
- <property name="divideService" ref="DivideService" />
- </component>
-
- <!-- We can derive the SCA services for the implementation.osgi -->
- <service id="CalculatorService" ref="CalculatorComponent" interface="calculator.dosgi.CalculatorService">
- </service>
-
- <!-- We can derive the SCA references for the implementation.osgi -->
- <reference id="AddService" interface="calculator.dosgi.operations.AddService">
- </reference>
- <reference id="SubtractService" interface="calculator.dosgi.operations.SubtractService">
- </reference>
- <reference id="MultiplyService" interface="calculator.dosgi.operations.MultiplyService">
- </reference>
- <reference id="DivideService" interface="calculator.dosgi.operations.DivideService">
- </reference>
-
-</components>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/calculator-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/calculator-component.xml deleted file mode 100644 index 457588bfb6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/calculator-component.xml +++ /dev/null @@ -1,36 +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 (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.
--->
-<scr:component name="CalculatorComponent"
- xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.impl.CalculatorServiceDSImpl" />
- <service>
- <provide interface="calculator.dosgi.CalculatorService" />
- </service>
-
- <reference name="addService" interface="calculator.dosgi.operations.AddService" bind="setAddService" unbind="unsetAddService"
- policy="dynamic" />
- <reference name="subtractService" interface="calculator.dosgi.operations.SubtractService" bind="setSubtractService"
- unbind="unsetSubtractService" policy="dynamic" />
- <reference name="multiplyService" interface="calculator.dosgi.operations.MultiplyService" bind="setMultiplyService"
- unbind="unsetMultiplyService" policy="dynamic" />
- <reference name="divideService" interface="calculator.dosgi.operations.DivideService" bind="setDivideService"
- unbind="unsetDivideService" policy="dynamic" />
-
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/remote-service/calculator-service-descriptions.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/remote-service/calculator-service-descriptions.xml deleted file mode 100644 index 31bd023710..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/remote-service/calculator-service-descriptions.xml +++ /dev/null @@ -1,73 +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 (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.
--->
-<!-- A consumer-side service description file for RFC 119 -->
-<endpoint-descriptions xmlns="http://www.osgi.org/xmlns/rsa/v1.0.0"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1">
- <!-- Describe a remote OSGi service -->
- <endpoint-description>
- <property name="objectClass" value="calculator.dosgi.operations.AddService" />
- <property name="remote.configs.supported" value="org.osgi.sca"/>
- <property name="service.imported.configs" value="org.osgi.sca"/>
- <property name="sca.reference" value="addService"/>
-<!-- ##############################################################################################################-->
-<!-- Property org.osgi.sca.bindings can be removed when running with -Dorg.osgi.sca.domain.registry=tribes:default -->
- <property name="org.osgi.sca.bindings">
- <list>
- <value>{http://sample}Add</value>
- </list>
- </property>
-<!-- ##############################################################################################################-->
- </endpoint-description>
- <endpoint-description>
- <property name="objectClass" value="calculator.dosgi.operations.SubtractService" />
- <property name="service.imported.configs" value="org.osgi.sca"/>
- <property name="remote.configs.supported" value="org.osgi.sca"/>
- <property name="sca.reference" value="subtractService"/>
-<!-- ##############################################################################################################-->
-<!-- Property org.osgi.sca.bindings can be removed when running with -Dorg.osgi.sca.domain.registry=tribes:default -->
- <property name="org.osgi.sca.bindings">
- <list>
- <value>{http://sample}Subtract</value>
- </list>
- </property>
-<!-- ##############################################################################################################-->
- </endpoint-description>
- <endpoint-description>
- <property name="objectClass" value="calculator.dosgi.operations.MultiplyService" />
- <property name="service.imported.configs" value="org.osgi.sca"/>
- <property name="remote.configs.supported" value="org.osgi.sca"/>
- <property name="sca.reference" value="multiplyService"/>
-<!-- ##############################################################################################################-->
-<!-- Property org.osgi.sca.bindings can be removed when running with -Dorg.osgi.sca.domain.registry=tribes:default -->
- <property name="org.osgi.sca.bindings" value="{http://sample}Multiply"/>
-<!-- ##############################################################################################################-->
- </endpoint-description>
- <endpoint-description>
- <property name="objectClass" value="calculator.dosgi.operations.DivideService" />
- <property name="service.imported.configs" value="org.osgi.sca"/>
- <property name="remote.configs.supported" value="org.osgi.sca"/>
- <property name="sca.reference" value="divideService"/>
-<!-- ##############################################################################################################-->
-<!-- Property org.osgi.sca.bindings can be removed when running with -Dorg.osgi.sca.domain.registry=tribes:default -->
- <property name="org.osgi.sca.bindings" value="{http://sample}Divide"/>
-<!-- ##############################################################################################################-->
- </endpoint-description>
-</endpoint-descriptions>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/sca-config/calculator-config.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/sca-config/calculator-config.xml deleted file mode 100644 index 3350883a1f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/OSGI-INF/sca-config/calculator-config.xml +++ /dev/null @@ -1,32 +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 (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.
--->
-<scact:sca-config targetNamespace="http://sample"
- xmlns:scact="http://www.osgi.org/xmlns/scact/v1.0.0"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1">
- <sca:binding.ws name="Calculator" uri="http://localhost:8086/CalculatorService"/>
-
- <!-- bindings for the remote services -->
- <tuscany:binding.rmi name="Add" uri="rmi://localhost:8085/AddService"/>
- <tuscany:binding.rmi name="Divide" uri="rmi://localhost:8085/DivideService"/>
- <tuscany:binding.rmi name="Subtract" uri="rmi://localhost:8085/SubtractService"/>
- <tuscany:binding.rmi name="Multiply" uri="rmi://localhost:8085/MultiplyService"/>
-</scact:sca-config>
-
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/README deleted file mode 100644 index 52afa44559..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/README +++ /dev/null @@ -1,6 +0,0 @@ -Distributed OSGi Calculator Sample
-==================================
-This sample implements a distributed calculator using Distributed OSGi (RFC 119) over SCA.
-
-See http://tuscany.apache.org/documentation-2x/20-beta-samples-documentation.html
-for more information
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/dosgi-calculator.png b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/dosgi-calculator.png Binary files differdeleted file mode 100644 index 805baa54d2..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/dosgi-calculator.png +++ /dev/null diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/pom.xml deleted file mode 100644 index 8e5a549439..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/pom.xml +++ /dev/null @@ -1,153 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0.1</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-calculator-bundle-dynamic</artifactId>
- <name>Apache Tuscany SCA Sample OSGi Remote Services Dynamic Calculator</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-feature-ejava</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-feature-webservice</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>2.0.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl-osgi</artifactId>
- <version>2.0.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.osgi</groupId>
- <artifactId>services</artifactId>
- <version>3.2.0-v20090520-1800</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Equinox Declarative Services -->
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>ds</artifactId>
- <version>1.1.0-v20090601</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>util</artifactId>
- <version>1.0.100-v20090520-1800</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <buildcommands>
- <buildcommand>org.eclipse.pde.ManifestBuilder</buildcommand>
- <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
- </buildcommands>
- <projectnatures>
- <projectnature>org.eclipse.jdt.core.javanature</projectnature>
- <projectnature>org.eclipse.pde.PluginNature</projectnature>
- </projectnatures>
- <classpathContainers>
- <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER
- </classpathContainer>
- </classpathContainers>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.tuscany.maven.plugins</groupId>
- <artifactId>maven-osgi-junit-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>osgi-test</id>
- <phase>test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <systemProperties>
- <property>
- <name>osgi.configuration.area</name>
- <value>${project.build.directory}/equinox</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/CalculatorService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/CalculatorService.java deleted file mode 100644 index 796b1afe61..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/CalculatorService.java +++ /dev/null @@ -1,36 +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 calculator.dosgi;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The Calculator service interface.
- */
-@Remotable
-public interface CalculatorService {
-
- double add(double n1, double n2);
-
- double subtract(double n1, double n2);
-
- double multiply(double n1, double n2);
-
- double divide(double n1, double n2);
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorActivator.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorActivator.java deleted file mode 100644 index b14c9e2f4a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorActivator.java +++ /dev/null @@ -1,78 +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 calculator.dosgi.impl;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-import calculator.dosgi.CalculatorService;
-import calculator.dosgi.operations.AddService;
-
-/**
- *
- */
-public class CalculatorActivator implements BundleActivator {
- private Logger logger = Logger.getLogger(CalculatorActivator.class.getName());
-
- private Bundle getBundle(BundleContext bundleContext, Class<?> cls) {
- PackageAdmin packageAdmin = null;
- // PackageAdmin is used to resolve bundles
- ServiceReference ref = bundleContext.getServiceReference("org.osgi.service.packageadmin.PackageAdmin");
- if (ref != null) {
- packageAdmin = (PackageAdmin)bundleContext.getService(ref);
- Bundle bundle = packageAdmin.getBundle(cls);
- if (bundle != null) {
- logger.info(cls.getName() + " is loaded by bundle: " + bundle.getSymbolicName());
- }
- bundleContext.ungetService(ref);
- return bundle;
- }
- return null;
- }
-
- public void start(BundleContext context) throws Exception {
- logger.info("Starting " + context.getBundle());
- Dictionary<String, Object> props = new Hashtable<String, Object>();
- props.put("sca.service", "CalculatorComponent#service-name(Calculator)");
- props.put("calculator", "Calculator");
- props.put("service.exported.configs", new String[] {"org.osgi.sca"});
- props.put("org.osgi.sca.bindings", new String[] {"{http://sample}Calculator"});
- props.put("service.exported.interfaces", new String[] {"*"});
- logger.info("Registering " + CalculatorService.class.getName());
- CalculatorService calculator = new CalculatorServiceImpl(context);
- context.registerService(CalculatorService.class.getName(), calculator, props);
-
- getBundle(context, AddService.class);
-
- }
-
- public void stop(BundleContext context) throws Exception {
- logger.info("Stopping " + context.getBundle());
- // Registered services will be automatically unregistered
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceDSImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceDSImpl.java deleted file mode 100644 index 9c80c5beb9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceDSImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator.dosgi.impl;
-
-import org.osgi.service.component.ComponentContext;
-
-import calculator.dosgi.CalculatorService;
-import calculator.dosgi.operations.AddService;
-import calculator.dosgi.operations.DivideService;
-import calculator.dosgi.operations.MultiplyService;
-import calculator.dosgi.operations.SubtractService;
-
-/**
- * An implementation of the Calculator service.
- */
-public class CalculatorServiceDSImpl implements CalculatorService {
- private AddService addService;
- private SubtractService subtractService;
- private MultiplyService multiplyService;
- private DivideService divideService;
-
- public CalculatorServiceDSImpl() {
- super();
- System.out.println("CalculatorServiceDSImpl()");
- }
-
- protected void activate(ComponentContext context) {
- System.out.println("Activating " + context);
- }
-
- protected void deactivate(ComponentContext context) {
- System.out.println("Deactivating " + context);
- }
-
- /*
- * The following setters can be used for DS injection
- */
- public void setAddService(AddService addService) {
- System.out.println("setAddService()");
- this.addService = addService;
- }
-
- public void setSubtractService(SubtractService subtractService) {
- this.subtractService = subtractService;
- }
-
- public void setDivideService(DivideService divideService) {
- this.divideService = divideService;
- }
-
- public void setMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = multiplyService;
- }
-
- /*
- * The following setters can be used for DS injection
- */
- public void unsetAddService(AddService addService) {
- System.out.println("unsetAddService()");
- this.addService = null;
- }
-
- public void unsetSubtractService(SubtractService subtractService) {
- this.subtractService = null;
- }
-
- public void unsetDivideService(DivideService divideService) {
- this.divideService = null;
- }
-
- public void unsetMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = null;
- }
- private <T> T getService(Class<T> cls) {
- for (Object s : new Object[] {addService, subtractService, multiplyService, divideService}) {
- if (cls.isInstance(s)) {
- return cls.cast(s);
- }
- }
- throw new IllegalStateException(cls.getSimpleName() + " is not available");
- }
-
- public double add(double n1, double n2) {
- return getService(AddService.class).add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return getService(SubtractService.class).subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return getService(MultiplyService.class).multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return getService(DivideService.class).divide(n1, n2);
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceImpl.java deleted file mode 100644 index c22706c9f6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceImpl.java +++ /dev/null @@ -1,99 +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 calculator.dosgi.impl;
-
-import static org.osgi.framework.Constants.OBJECTCLASS;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.util.tracker.ServiceTracker;
-
-import calculator.dosgi.CalculatorService;
-import calculator.dosgi.operations.AddService;
-import calculator.dosgi.operations.DivideService;
-import calculator.dosgi.operations.MultiplyService;
-import calculator.dosgi.operations.SubtractService;
-
-/**
- * An implementation of the Calculator service.
- */
-public class CalculatorServiceImpl implements CalculatorService {
- private Map<Class<?>, ServiceTracker> remoteServices = new HashMap<Class<?>, ServiceTracker>();
-
- public CalculatorServiceImpl() {
- super();
- }
-
- public CalculatorServiceImpl(BundleContext context) {
- super();
- for (Class<?> cls : new Class<?>[] {AddService.class, SubtractService.class, MultiplyService.class,
- DivideService.class}) {
- Filter remoteFilter = null;
- try {
- remoteFilter =
- context.createFilter("(&(" + OBJECTCLASS + "=" + cls.getName() + ") (service.imported=*))");
- } catch (InvalidSyntaxException e) {
- e.printStackTrace();
- }
- ServiceTracker tracker = new ServiceTracker(context, remoteFilter, null);
- this.remoteServices.put(cls, tracker);
- tracker.open();
- }
- }
-
- private <T> T getService(Class<T> cls) {
- ServiceTracker tracker = remoteServices.get(cls);
- try {
- // Wait for 10 seconds until the remote services are imported
- tracker.waitForService(10000);
- } catch (InterruptedException e) {
- throw new IllegalStateException(cls.getSimpleName() + " is not available");
- }
- Object[] remoteObjects = tracker.getServices();
- if (remoteObjects != null) {
- for (Object s : remoteObjects) {
- if (cls.isInstance(s)) {
- System.out.println("Remote service: " + s);
- return cls.cast(s);
- }
- }
- }
- throw new IllegalStateException(cls.getSimpleName() + " is not available");
- }
-
- public double add(double n1, double n2) {
- return getService(AddService.class).add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return getService(SubtractService.class).subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return getService(MultiplyService.class).multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return getService(DivideService.class).divide(n1, n2);
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/AddService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/AddService.java deleted file mode 100644 index 7d68dbd5c5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/AddService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the add service
- */
-@Remotable
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/DivideService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/DivideService.java deleted file mode 100644 index 998f6e9554..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/DivideService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the divide service
- */
-@Remotable
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java deleted file mode 100644 index 7ed6db2e6b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the multiply service
- */
-@Remotable
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java deleted file mode 100644 index cb98b8fb67..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the subtract service
- */
-@Remotable
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer.java deleted file mode 100644 index 1a3e36f571..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer.java +++ /dev/null @@ -1,93 +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 calculator.rmi;
-
-import java.io.Serializable;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-import java.rmi.server.UnicastRemoteObject;
-
-/**
- *
- */
-public class OperationsRMIServer implements OperationsRemote, Serializable {
-
- private static final long serialVersionUID = 6081008315263103012L;
- private transient Registry registry;
-
- public OperationsRMIServer() throws RemoteException {
- super();
- }
-
- public double add(double n1, double n2) {
- return n1 + n2;
- }
-
- public double subtract(double n1, double n2) {
- return n1 - n2;
- }
-
- public double divide(double n1, double n2) {
- return n1 / n2;
- }
-
- public double multiply(double n1, double n2) {
- return n1 * n2;
- }
-
- public void start() throws RemoteException {
- Thread thread = new Thread() {
- public void run() {
- try {
- System.out.println("Starting the RMI server for calculator operations...");
- Remote stub = UnicastRemoteObject.exportObject(OperationsRMIServer.this);
- registry = LocateRegistry.createRegistry(8085);
- registry.bind("AddService", stub);
- registry.bind("SubtractService", stub);
- registry.bind("MultiplyService", stub);
- registry.bind("DivideService", stub);
- System.out.println("RMI server for calculator operations is now started.");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- };
- thread.start();
- }
-
- public void stop() {
- if (registry != null) {
- try {
- registry.unbind("AddService");
- registry.unbind("SubtractService");
- registry.unbind("MultiplyService");
- registry.unbind("DivideService");
- UnicastRemoteObject.unexportObject(this, false);
- UnicastRemoteObject.unexportObject(registry, false);
- registry = null;
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer_Stub.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer_Stub.java deleted file mode 100644 index d573f6b8fa..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer_Stub.java +++ /dev/null @@ -1,132 +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.
- */
-
-// Stub class generated by rmic, do not edit.
-// Contents subject to change without notice.
-package calculator.rmi;
-
-public final class OperationsRMIServer_Stub extends java.rmi.server.RemoteStub implements calculator.rmi.OperationsRemote {
- private static final long serialVersionUID = 2;
-
- private static java.lang.reflect.Method $method_add_0;
- private static java.lang.reflect.Method $method_divide_1;
- private static java.lang.reflect.Method $method_multiply_2;
- private static java.lang.reflect.Method $method_subtract_3;
-
- static {
- try {
- $method_add_0 =
- calculator.rmi.OperationsRemote.class.getMethod("add", new java.lang.Class[] {double.class, double.class});
- $method_divide_1 =
- calculator.rmi.OperationsRemote.class.getMethod("divide",
- new java.lang.Class[] {double.class, double.class});
- $method_multiply_2 =
- calculator.rmi.OperationsRemote.class.getMethod("multiply", new java.lang.Class[] {double.class,
- double.class});
- $method_subtract_3 =
- calculator.rmi.OperationsRemote.class.getMethod("subtract", new java.lang.Class[] {double.class,
- double.class});
- } catch (java.lang.NoSuchMethodException e) {
- throw new java.lang.NoSuchMethodError("stub class initialization failed");
- }
- }
-
- // constructors
- public OperationsRMIServer_Stub(java.rmi.server.RemoteRef ref) {
- super(ref);
- }
-
- // methods from remote interfaces
-
- // implementation of add(double, double)
- public double add(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_add_0,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- 864055858262779977L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- // implementation of divide(double, double)
- public double divide(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_divide_1,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- 8097593626497421928L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- // implementation of multiply(double, double)
- public double multiply(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_multiply_2,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- -346155016949350695L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- // implementation of subtract(double, double)
- public double subtract(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_subtract_3,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- -610707357620578750L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRemote.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRemote.java deleted file mode 100644 index d735ce8172..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/main/java/calculator/rmi/OperationsRemote.java +++ /dev/null @@ -1,37 +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 calculator.rmi;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * RMI Remote interface
- */
-public interface OperationsRemote extends Remote {
- double add(double n1, double n2) throws RemoteException;
-
- double subtract(double n1, double n2) throws RemoteException;
-
- double multiply(double n1, double n2) throws RemoteException;
-
- double divide(double n1, double n2) throws RemoteException;
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorNode.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorNode.java deleted file mode 100644 index 7f96067764..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorNode.java +++ /dev/null @@ -1,43 +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 calculator.dosgi.test;
-
-import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher;
-
-/**
- *
- */
-public class CalculatorNode {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- if (args.length == 0) {
- args = new String[] {"-bundles"};
- }
- try {
- NodeLauncher.main(args);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorOSGiNodeTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorOSGiNodeTestCase.java deleted file mode 100644 index 8be6de5e41..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorOSGiNodeTestCase.java +++ /dev/null @@ -1,144 +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 calculator.dosgi.test;
-
-import static calculator.dosgi.test.OSGiTestUtils.bundleStatus;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URL;
-
-import org.apache.tuscany.sca.node.equinox.launcher.EquinoxHost;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceReference;
-
-import calculator.dosgi.CalculatorService;
-import calculator.rmi.OperationsRMIServer;
-
-/**
- *
- */
-public class CalculatorOSGiNodeTestCase {
- private static EquinoxHost host;
- private static BundleContext context;
- private static Bundle calculatorBundle;
- private static OperationsRMIServer rmiServer;
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- try {
- rmiServer = new OperationsRMIServer();
- rmiServer.start();
-
- host = new EquinoxHost();
- context = host.start();
-
- for (Bundle b : context.getBundles()) {
- System.out.println(b);
- if (b.getSymbolicName().equals("org.eclipse.equinox.ds") || b.getSymbolicName()
- .startsWith("org.apache.tuscany.sca.")) {
- try {
- if (b.getHeaders().get(Constants.FRAGMENT_HOST) == null) {
- // Start the non-fragment bundle
- b.start();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- System.out.println(bundleStatus(b, false));
- }
- if ("calculator.dosgi.dynamic".equals(b.getSymbolicName())) {
- calculatorBundle = b;
- }
- }
-
- if (calculatorBundle != null) {
- calculatorBundle.start();
- System.out.println(bundleStatus(calculatorBundle, false));
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- throw e;
- }
- }
-
- @Test
- public void testOSGi() {
- ServiceReference ref =
- calculatorBundle.getBundleContext().getServiceReference(CalculatorService.class.getName());
- Assert.assertNotNull(ref);
- Object service = context.getService(ref);
- Assert.assertNotNull(service);
- CalculatorService calculator = OSGiTestUtils.cast(service, CalculatorService.class);
- System.out.println("2.0 + 1.0 = " + calculator.add(2.0, 1.0));
- System.out.println("2.0 - 1.0 = " + calculator.subtract(2.0, 1.0));
- System.out.println("2.0 * 1.0 = " + calculator.multiply(2.0, 1.0));
- System.out.println("2.0 / 1.0 = " + calculator.divide(2.0, 1.0));
- }
-
- @Test
- /**
- * Test the Web service exposed by the Calculator
- */
- public void testWS() throws Exception {
- URL url = new URL("http://localhost:8086/CalculatorService?wsdl");
- InputStream is = url.openStream();
- Reader reader = new InputStreamReader(is);
- char[] content = new char[10240]; // 10k
- int len = 0;
- while (true) {
- int size = reader.read(content, len, content.length - len);
- if (size < 0) {
- break;
- }
- len += size;
- }
- Assert.assertTrue(len > 0);
- String str = new String(content, 0, len);
- System.out.println(str);
- Assert.assertTrue(str.indexOf("<wsdl:definitions") != -1);
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- if (host != null) {
- host.stop();
- rmiServer.stop();
- host = null;
- rmiServer = null;
- context = null;
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/OSGiTestUtils.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/OSGiTestUtils.java deleted file mode 100644 index 43c4d0bf4b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/calculator-bundle/src/test/java/calculator/dosgi/test/OSGiTestUtils.java +++ /dev/null @@ -1,105 +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 calculator.dosgi.test;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.osgi.framework.Bundle;
-
-/**
- *
- * Utility class to create OSGi bundles
- *
- * @version $Rev: 796166 $ $Date: 2009-07-21 08:03:47 +0100 (Tue, 21 Jul 2009) $
- */
-public class OSGiTestUtils {
- private static class InvocationHandlerImpl implements InvocationHandler {
- private Object instance;
-
- public InvocationHandlerImpl(Object instance) {
- super();
- this.instance = instance;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- Method m = instance.getClass().getMethod(method.getName(), method.getParameterTypes());
- return m.invoke(instance, args);
- }
-
- }
-
- /**
- * Returns a string representation of the given bundle.
- *
- * @param b
- * @param verbose
- * @return
- */
- public static String bundleStatus(Bundle bundle, boolean verbose) {
- StringBuffer sb = new StringBuffer();
- sb.append(bundle.getBundleId()).append(" ").append(bundle.getSymbolicName());
- int s = bundle.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
-
- if (verbose) {
- sb.append(" ").append(bundle.getLocation());
- sb.append(" ").append(bundle.getHeaders());
- }
- return sb.toString();
- }
-
- /**
- * A utility to cast the object to the given interface. If the class for the object
- * is loaded by a different classloader, a proxy will be created.
- *
- * @param <T>
- * @param obj
- * @param cls
- * @return
- */
- public static <T> T cast(Object obj, Class<T> cls) {
- if (cls.isInstance(obj)) {
- return cls.cast(obj);
- } else {
- return cls.cast(Proxy.newProxyInstance(cls.getClassLoader(),
- new Class<?>[] {cls},
- new InvocationHandlerImpl(obj)));
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/LICENSE b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- 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.
-
-
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/META-INF/MANIFEST.MF deleted file mode 100644 index cea4e2ff79..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/META-INF/MANIFEST.MF +++ /dev/null @@ -1,23 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: calculator.dosgi.operations;version="1.0.1"
-Bundle-Version: 1.0.0
-Bundle-Name: calculator.dosgi.dynamic.operations
-Bundle-Activator: calculator.dosgi.operations.impl.OperationsActivator
-Bundle-ManifestVersion: 2
-Import-Package: calculator.dosgi.operations;version="[1.0.1,1.0.1]",
- org.oasisopen.sca.annotation;version="2.0.0",
- org.osgi.framework,
- org.osgi.service.component;resolution:=optional,
- org.osgi.service.packageadmin
-Bundle-SymbolicName: calculator.dosgi.dynamic.operations
-Bundle-Vendor: The Apache Software Foundation
-Bundle-ActivationPolicy: lazy
-Eclipse-LazyStart: true
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-DocURL: http://www.apache.org/
-Service-Component-Disabled: OSGI-INF/add-component.xml,
- OSGI-INF/subtract-component.xml,
- OSGI-INF/multiply-component.xml,
- OSGI-INF/divide-component.xml
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 -SCA-Configuration: OSGI-INF/sca-config/*.xml
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/NOTICE b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/NOTICE deleted file mode 100644 index 7bd7e52af5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2013 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/add-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/add-component.xml deleted file mode 100644 index bf4ccc3d28..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/add-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="AddComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.AddServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.AddService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/blueprint/operations-module.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/blueprint/operations-module.xml deleted file mode 100644 index e3b690f24a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/blueprint/operations-module.xml +++ /dev/null @@ -1,40 +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 (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.
--->
-<!-- A sample module-context.xml for OSGI RFC 124 (BluePrint Service) -->
-<components xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <component id="AddComponent" class="calculator.dosgi.operations.impl.AddServiceImpl">
- </component>
- <component id="SubtractComponent" class="calculator.dosgi.operations.impl.SubtractServiceImpl">
- </component>
- <component id="MultiplyComponent" class="calculator.dosgi.operations.impl.MultiplyServiceImpl">
- </component>
- <component id="DivideComponent" class="calculator.dosgi.operations.impl.DivideServiceImpl">
- </component>
-
- <!-- We can derive the SCA services for the implementation.osgi -->
- <service id="AddService" ref="AddComponent" interface="calculator.dosgi.operations.AddService">
- </service>
- <service id="SubtractService" ref="SubtractComponent" interface="calculator.dosgi.operations.SubtractService">
- </service>
- <service id="MultiplyService" ref="MultiplyComponent" interface="calculator.dosgi.operations.MultiplyService">
- </service>
- <service id="DivideService" ref="DivideComponent" interface="calculator.dosgi.operations.DivideService">
- </service>
-</components>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/divide-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/divide-component.xml deleted file mode 100644 index b939a5de80..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/divide-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="DivideComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.DivideServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.DivideService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/multiply-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/multiply-component.xml deleted file mode 100644 index 2bf897d72a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/multiply-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="MultiplyComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.MultiplyServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.MultiplyService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/sca-config/operations-config.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/sca-config/operations-config.xml deleted file mode 100644 index 300a7d374c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/sca-config/operations-config.xml +++ /dev/null @@ -1,29 +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 (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.
--->
-<scact:sca-config targetNamespace="http://sample"
- xmlns:scact="http://www.osgi.org/xmlns/scact/v1.0.0"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1">
- <tuscany:binding.rmi name="Add" uri="rmi://localhost:8085/AddService"/>
- <tuscany:binding.rmi name="Divide" uri="rmi://localhost:8085/DivideService"/>
- <tuscany:binding.rmi name="Subtract" uri="rmi://localhost:8085/SubtractService"/>
- <tuscany:binding.rmi name="Multiply" uri="rmi://localhost:8085/MultiplyService"/>
-</scact:sca-config>
-
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/subtract-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/subtract-component.xml deleted file mode 100644 index 4af00695da..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/OSGI-INF/subtract-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="SubtractComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.SubtractServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.SubtractService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/README b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/README deleted file mode 100644 index 52afa44559..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/README +++ /dev/null @@ -1,6 +0,0 @@ -Distributed OSGi Calculator Sample
-==================================
-This sample implements a distributed calculator using Distributed OSGi (RFC 119) over SCA.
-
-See http://tuscany.apache.org/documentation-2x/20-beta-samples-documentation.html
-for more information
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/pom.xml deleted file mode 100644 index e7cd56b119..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/pom.xml +++ /dev/null @@ -1,159 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0.1</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-operations-bundle-dynamic</artifactId>
- <name>Apache Tuscany SCA Sample OSGi Remote Services Dynamic Operations</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-osgi-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-rmi-runtime</artifactId>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>2.0.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl-osgi</artifactId>
- <version>2.0.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.osgi</groupId>
- <artifactId>services</artifactId>
- <version>3.2.0-v20090520-1800</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Equinox Declarative Services -->
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>ds</artifactId>
- <version>1.1.0-v20090601</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>util</artifactId>
- <version>1.0.100-v20090520-1800</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <buildcommands>
- <buildcommand>org.eclipse.pde.ManifestBuilder</buildcommand>
- <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
- </buildcommands>
- <projectnatures>
- <projectnature>org.eclipse.jdt.core.javanature</projectnature>
- <projectnature>org.eclipse.pde.PluginNature</projectnature>
- </projectnatures>
- <classpathContainers>
- <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER
- </classpathContainer>
- </classpathContainers>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.tuscany.maven.plugins</groupId>
- <artifactId>maven-osgi-junit-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>osgi-test</id>
- <phase>test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <systemProperties>
- <property>
- <name>osgi.configuration.area</name>
- <value>${project.build.directory}/equinox</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/AddService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/AddService.java deleted file mode 100644 index 7d68dbd5c5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/AddService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the add service
- */
-@Remotable
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/DivideService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/DivideService.java deleted file mode 100644 index 998f6e9554..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/DivideService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the divide service
- */
-@Remotable
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java deleted file mode 100644 index 7ed6db2e6b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the multiply service
- */
-@Remotable
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java deleted file mode 100644 index cb98b8fb67..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the subtract service
- */
-@Remotable
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/AddServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/AddServiceImpl.java deleted file mode 100644 index e0a6622136..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/AddServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.AddService;
-
-/**
- * An implementation of the Add service
- */
-public class AddServiceImpl implements AddService {
-
- public double add(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Adding " + n1 + " and " + n2);
- return n1 + n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/DivideServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/DivideServiceImpl.java deleted file mode 100644 index 028f860885..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/DivideServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.DivideService;
-
-/**
- * An implementation of the Divide service.
- */
-public class DivideServiceImpl implements DivideService {
-
- public double divide(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Dividing " + n1 + " with " + n2);
- return n1 / n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/MultiplyServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/MultiplyServiceImpl.java deleted file mode 100644 index e928317c2e..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/MultiplyServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.MultiplyService;
-
-/**
- * An implementation of the Multiply service.
- */
-public class MultiplyServiceImpl implements MultiplyService {
-
- public double multiply(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Multiplying " + n1 + " with " + n2);
- return n1 * n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java deleted file mode 100644 index e01265068a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java +++ /dev/null @@ -1,94 +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 calculator.dosgi.operations.impl;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-import calculator.dosgi.operations.AddService;
-import calculator.dosgi.operations.DivideService;
-import calculator.dosgi.operations.MultiplyService;
-import calculator.dosgi.operations.SubtractService;
-
-/**
- *
- */
-public class OperationsActivator implements BundleActivator {
- private Logger logger = Logger.getLogger(OperationsActivator.class.getName());
-
- public void start(BundleContext context) throws Exception {
- logger.info("Starting " + context.getBundle());
-
- Dictionary<String, Object> props = new Hashtable<String, Object>();
- props.put("service.exported.configs", new String[] {"org.osgi.sca"});
- props.put("service.exported.interfaces", new String[] {"*"});
-
- logger.info("Registering " + AddService.class.getName());
- props.put("sca.service", "AddComponent#service-name(Add)");
- props.put("org.osgi.sca.bindings", new String[] {"{http://sample}Add"});
- context.registerService(AddService.class.getName(), new AddServiceImpl(), props);
-
- logger.info("Registering " + SubtractService.class.getName());
- props.put("sca.service", "SubtractComponent#service-name(Subtract)");
- props.put("org.osgi.sca.bindings", new String[] {"{http://sample}Subtract"});
- context.registerService(SubtractService.class.getName(), new SubtractServiceImpl(), props);
-
- logger.info("Registering " + MultiplyService.class.getName());
- props.put("sca.service", "MultiplyComponent#service-name(Multiply)");
- props.put("org.osgi.sca.bindings", new String[] {"{http://sample}Multiply"});
- context.registerService(MultiplyService.class.getName(), new MultiplyServiceImpl(), props);
-
- logger.info("Registering " + DivideService.class.getName());
- props.put("sca.service", "DivideComponent#service-name(Divide)");
- props.put("org.osgi.sca.bindings", new String[] {"{http://sample}Divide"});
- context.registerService(DivideService.class.getName(), new DivideServiceImpl(), props);
-
- getBundle(context, AddService.class);
- }
-
- public void stop(BundleContext context) throws Exception {
- logger.info("Stopping " + context.getBundle());
- // Registered services will be automatically unregistered
- }
-
- private Bundle getBundle(BundleContext bundleContext, Class<?> cls) {
- PackageAdmin packageAdmin = null;
- // PackageAdmin is used to resolve bundles
- ServiceReference ref = bundleContext.getServiceReference("org.osgi.service.packageadmin.PackageAdmin");
- if (ref != null) {
- packageAdmin = (PackageAdmin)bundleContext.getService(ref);
- Bundle bundle = packageAdmin.getBundle(cls);
- if (bundle != null) {
- logger.info(cls.getName() + " is loaded by bundle: " + bundle.getSymbolicName());
- }
- bundleContext.ungetService(ref);
- return bundle;
- }
- return null;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/SubtractServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/SubtractServiceImpl.java deleted file mode 100644 index 565670963f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/main/java/calculator/dosgi/operations/impl/SubtractServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.SubtractService;
-
-/**
- * An implementation of the subtract service.
- */
-public class SubtractServiceImpl implements SubtractService {
-
- public double subtract(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Subtracting " + n1 + " from " + n2);
- return n1 - n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OSGiTestUtils.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OSGiTestUtils.java deleted file mode 100644 index 3407507e3b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OSGiTestUtils.java +++ /dev/null @@ -1,105 +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 calculator.dosgi.operations.test;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.osgi.framework.Bundle;
-
-/**
- *
- * Utility class to create OSGi bundles
- *
- * @version $Rev: 796166 $ $Date: 2009-07-21 08:03:47 +0100 (Tue, 21 Jul 2009) $
- */
-public class OSGiTestUtils {
- private static class InvocationHandlerImpl implements InvocationHandler {
- private Object instance;
-
- public InvocationHandlerImpl(Object instance) {
- super();
- this.instance = instance;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- Method m = instance.getClass().getMethod(method.getName(), method.getParameterTypes());
- return m.invoke(instance, args);
- }
-
- }
-
- /**
- * Returns a string representation of the given bundle.
- *
- * @param b
- * @param verbose
- * @return
- */
- public static String bundleStatus(Bundle bundle, boolean verbose) {
- StringBuffer sb = new StringBuffer();
- sb.append(bundle.getBundleId()).append(" ").append(bundle.getSymbolicName());
- int s = bundle.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
-
- if (verbose) {
- sb.append(" ").append(bundle.getLocation());
- sb.append(" ").append(bundle.getHeaders());
- }
- return sb.toString();
- }
-
- /**
- * A utility to cast the object to the given interface. If the class for the object
- * is loaded by a different classloader, a proxy will be created.
- *
- * @param <T>
- * @param obj
- * @param cls
- * @return
- */
- public static <T> T cast(Object obj, Class<T> cls) {
- if (cls.isInstance(obj)) {
- return cls.cast(obj);
- } else {
- return cls.cast(Proxy.newProxyInstance(cls.getClassLoader(),
- new Class<?>[] {cls},
- new InvocationHandlerImpl(obj)));
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsNode.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsNode.java deleted file mode 100644 index faf61d11e4..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsNode.java +++ /dev/null @@ -1,43 +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 calculator.dosgi.operations.test;
-
-import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher;
-
-/**
- *
- */
-public class OperationsNode {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- if (args.length == 0) {
- args = new String[] {"-bundles"};
- }
- try {
- NodeLauncher.main(args);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsOSGiNodeTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsOSGiNodeTestCase.java deleted file mode 100644 index 45385889ef..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsOSGiNodeTestCase.java +++ /dev/null @@ -1,104 +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 calculator.dosgi.operations.test;
-
-import static calculator.dosgi.operations.test.OSGiTestUtils.bundleStatus;
-
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-
-import org.apache.tuscany.sca.node.equinox.launcher.EquinoxHost;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-
-import calculator.dosgi.operations.AddService;
-
-/**
- *
- */
-public class OperationsOSGiNodeTestCase {
- private static EquinoxHost host;
- private static BundleContext context;
- private static Bundle operationsBundle;
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- try {
- host = new EquinoxHost();
- context = host.start();
-
- for (Bundle b : context.getBundles()) {
- if (b.getSymbolicName().equals("org.eclipse.equinox.ds") || b.getSymbolicName()
- .startsWith("org.apache.tuscany.sca.")) {
- try {
- if (b.getHeaders().get(Constants.FRAGMENT_HOST) == null) {
- // Start the non-fragment bundle
- b.start();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- System.out.println(bundleStatus(b, false));
- }
- if ("calculator.dosgi.dynamic.operations".equals(b.getSymbolicName())) {
- operationsBundle = b;
- }
- }
-
- if (operationsBundle != null) {
- operationsBundle.start();
- System.out.println(bundleStatus(operationsBundle, false));
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- throw e;
- }
- }
-
- @Test
- public void testOSGi() throws Exception {
- Registry registry = LocateRegistry.getRegistry(8085);
- Object add = registry.lookup("AddService");
- AddService addService = OSGiTestUtils.cast(add, AddService.class);
- double sum = addService.add(1.0, 2.0);
- Assert.assertEquals(3.0, sum, 0.0);
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- if (host != null) {
- host.stop();
- context = null;
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/pom.xml deleted file mode 100644 index 139323f77f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-dynamic/pom.xml +++ /dev/null @@ -1,44 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-learning-more</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-samples-distributed-osgi-dynamic</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Distributed OSGI Dynamically Configured Samples</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>calculator-bundle</module>
- <module>operations-bundle</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/README.odt b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/README.odt Binary files differdeleted file mode 100644 index 22b73cfc79..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/README.odt +++ /dev/null diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/META-INF/MANIFEST.MF deleted file mode 100644 index 542b53b085..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/META-INF/MANIFEST.MF +++ /dev/null @@ -1,20 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: calculator.dosgi;version="1.0.0",
- calculator.dosgi.operations;version="1.0.0"
-Bundle-Version: 1.0.0
-Bundle-Name: calculator.dosgi
-Bundle-Activator: calculator.dosgi.impl.CalculatorActivator
-Bundle-ManifestVersion: 2
-Import-Package: org.oasisopen.sca.annotation;version="2.0.0",
- org.osgi.framework,
- org.osgi.service.component;resolution:=optional,
- org.osgi.service.packageadmin,
- org.osgi.util.tracker
-Bundle-SymbolicName: calculator.dosgi
-Bundle-Vendor: The Apache Software Foundation
-Bundle-ActivationPolicy: lazy
-Eclipse-LazyStart: true
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-DocURL: http://www.apache.org/
-Service-Component-Disabled: OSGI-INF/calculator-component.xml
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/blueprint/calculator-module.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/blueprint/calculator-module.xml deleted file mode 100644 index fe0bbf21df..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/blueprint/calculator-module.xml +++ /dev/null @@ -1,43 +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 (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.
--->
-<!-- A sample module-context.xml for OSGI RFC 124 (BluePrint Service) -->
-<components xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <component id="CalculatorComponent" class="calculator.dosgi.impl.CalculatorServiceImpl">
- <property name="addService" ref="AddService" />
- <property name="subtractService" ref="SubtractService" />
- <property name="multiplyService" ref="MultiplyService" />
- <property name="divideService" ref="DivideService" />
- </component>
-
- <!-- We can derive the SCA services for the implementation.osgi -->
- <service id="CalculatorService" ref="CalculatorComponent" interface="calculator.dosgi.CalculatorService">
- </service>
-
- <!-- We can derive the SCA references for the implementation.osgi -->
- <reference id="AddService" interface="calculator.dosgi.operations.AddService">
- </reference>
- <reference id="SubtractService" interface="calculator.dosgi.operations.SubtractService">
- </reference>
- <reference id="MultiplyService" interface="calculator.dosgi.operations.MultiplyService">
- </reference>
- <reference id="DivideService" interface="calculator.dosgi.operations.DivideService">
- </reference>
-
-</components>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/calculator-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/calculator-component.xml deleted file mode 100644 index 457588bfb6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/calculator-component.xml +++ /dev/null @@ -1,36 +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 (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.
--->
-<scr:component name="CalculatorComponent"
- xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.impl.CalculatorServiceDSImpl" />
- <service>
- <provide interface="calculator.dosgi.CalculatorService" />
- </service>
-
- <reference name="addService" interface="calculator.dosgi.operations.AddService" bind="setAddService" unbind="unsetAddService"
- policy="dynamic" />
- <reference name="subtractService" interface="calculator.dosgi.operations.SubtractService" bind="setSubtractService"
- unbind="unsetSubtractService" policy="dynamic" />
- <reference name="multiplyService" interface="calculator.dosgi.operations.MultiplyService" bind="setMultiplyService"
- unbind="unsetMultiplyService" policy="dynamic" />
- <reference name="divideService" interface="calculator.dosgi.operations.DivideService" bind="setDivideService"
- unbind="unsetDivideService" policy="dynamic" />
-
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/sca/bundle.componentType b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/sca/bundle.componentType deleted file mode 100644 index 5e8e7ebcd3..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/sca/bundle.componentType +++ /dev/null @@ -1,64 +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 (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.
--->
-<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1">
- <!-- The service elment defines an SCA view of the OSGi service -->
- <service name="CalculatorService">
- <!-- The interface will be mapped into the OSGi service class -->
- <interface.java interface="calculator.dosgi.CalculatorService"/>
- <!-- The list of OSGi properties -->
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </service>
-
- <!-- The reference elment defines an SCA proxy to a remote OSGi service -->
- <reference name="addService">
- <interface.java interface="calculator.dosgi.operations.AddService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </reference>
- <reference name="subtractService">
- <interface.java interface="calculator.dosgi.operations.SubtractService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </reference>
- <reference name="multiplyService">
- <interface.java interface="calculator.dosgi.operations.MultiplyService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </reference>
- <reference name="divideService">
- <interface.java interface="calculator.dosgi.operations.DivideService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </reference>
-
-</componentType>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/sca/bundle.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/sca/bundle.composite deleted file mode 100644 index 7ebb64eb8f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/OSGI-INF/sca/bundle.composite +++ /dev/null @@ -1,45 +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 (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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://calculator.dosgi"
- name="CalculatorComposite">
-
- <component name="CalculatorComponent">
- <tuscany:implementation.osgi bundleSymbolicName="calculator.dosgi" bundleVersion="1.0.0" />
- <service name="CalculatorService">
- <binding.ws uri="http://localhost:8086/CalculatorService"/>
- </service>
- <reference name="addService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/AddService"/>
- </reference>
- <reference name="subtractService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/SubtractService"/>
- </reference>
- <reference name="multiplyService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/MultiplyService"/>
- </reference>
- <reference name="divideService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/DivideService"/>
- </reference>
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/pom.xml deleted file mode 100644 index f393f1813e..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/pom.xml +++ /dev/null @@ -1,153 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0.1</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-calculator-bundle</artifactId>
- <name>Apache Tuscany SCA Sample OSGi Remote Services Calculator</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-feature-ejava</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-feature-webservice</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>2.0.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl-osgi</artifactId>
- <version>2.0.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.osgi</groupId>
- <artifactId>services</artifactId>
- <version>3.2.0-v20090520-1800</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Equinox Declarative Services -->
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>ds</artifactId>
- <version>1.1.0-v20090601</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>util</artifactId>
- <version>1.0.100-v20090520-1800</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <buildcommands>
- <buildcommand>org.eclipse.pde.ManifestBuilder</buildcommand>
- <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
- </buildcommands>
- <projectnatures>
- <projectnature>org.eclipse.jdt.core.javanature</projectnature>
- <projectnature>org.eclipse.pde.PluginNature</projectnature>
- </projectnatures>
- <classpathContainers>
- <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER
- </classpathContainer>
- </classpathContainers>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.tuscany.maven.plugins</groupId>
- <artifactId>maven-osgi-junit-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>osgi-test</id>
- <phase>test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <systemProperties>
- <property>
- <name>osgi.configuration.area</name>
- <value>${project.build.directory}/equinox</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/CalculatorService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/CalculatorService.java deleted file mode 100644 index 796b1afe61..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/CalculatorService.java +++ /dev/null @@ -1,36 +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 calculator.dosgi;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The Calculator service interface.
- */
-@Remotable
-public interface CalculatorService {
-
- double add(double n1, double n2);
-
- double subtract(double n1, double n2);
-
- double multiply(double n1, double n2);
-
- double divide(double n1, double n2);
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorActivator.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorActivator.java deleted file mode 100644 index b7babcc0af..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorActivator.java +++ /dev/null @@ -1,76 +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 calculator.dosgi.impl;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-import calculator.dosgi.CalculatorService;
-import calculator.dosgi.operations.AddService;
-
-/**
- *
- */
-public class CalculatorActivator implements BundleActivator {
- private Logger logger = Logger.getLogger(CalculatorActivator.class.getName());
-
- private Bundle getBundle(BundleContext bundleContext, Class<?> cls) {
- PackageAdmin packageAdmin = null;
- // PackageAdmin is used to resolve bundles
- ServiceReference ref = bundleContext.getServiceReference("org.osgi.service.packageadmin.PackageAdmin");
- if (ref != null) {
- packageAdmin = (PackageAdmin)bundleContext.getService(ref);
- Bundle bundle = packageAdmin.getBundle(cls);
- if (bundle != null) {
- logger.info(cls.getName() + " is loaded by bundle: " + bundle.getSymbolicName());
- }
- bundleContext.ungetService(ref);
- return bundle;
- }
- return null;
- }
-
- public void start(BundleContext context) throws Exception {
- logger.info("Starting " + context.getBundle());
- Dictionary<String, Object> props = new Hashtable<String, Object>();
- props.put("sca.service", "CalculatorComponent#service-name(Calculator)");
- props.put("calculator", "Calculator");
-
- logger.info("Registering " + CalculatorService.class.getName());
- CalculatorService calculator = new CalculatorServiceImpl(context);
- context.registerService(CalculatorService.class.getName(), calculator, props);
-
- getBundle(context, AddService.class);
-
- }
-
- public void stop(BundleContext context) throws Exception {
- logger.info("Stopping " + context.getBundle());
- // Registered services will be automatically unregistered
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceDSImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceDSImpl.java deleted file mode 100644 index 9c80c5beb9..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceDSImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package calculator.dosgi.impl;
-
-import org.osgi.service.component.ComponentContext;
-
-import calculator.dosgi.CalculatorService;
-import calculator.dosgi.operations.AddService;
-import calculator.dosgi.operations.DivideService;
-import calculator.dosgi.operations.MultiplyService;
-import calculator.dosgi.operations.SubtractService;
-
-/**
- * An implementation of the Calculator service.
- */
-public class CalculatorServiceDSImpl implements CalculatorService {
- private AddService addService;
- private SubtractService subtractService;
- private MultiplyService multiplyService;
- private DivideService divideService;
-
- public CalculatorServiceDSImpl() {
- super();
- System.out.println("CalculatorServiceDSImpl()");
- }
-
- protected void activate(ComponentContext context) {
- System.out.println("Activating " + context);
- }
-
- protected void deactivate(ComponentContext context) {
- System.out.println("Deactivating " + context);
- }
-
- /*
- * The following setters can be used for DS injection
- */
- public void setAddService(AddService addService) {
- System.out.println("setAddService()");
- this.addService = addService;
- }
-
- public void setSubtractService(SubtractService subtractService) {
- this.subtractService = subtractService;
- }
-
- public void setDivideService(DivideService divideService) {
- this.divideService = divideService;
- }
-
- public void setMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = multiplyService;
- }
-
- /*
- * The following setters can be used for DS injection
- */
- public void unsetAddService(AddService addService) {
- System.out.println("unsetAddService()");
- this.addService = null;
- }
-
- public void unsetSubtractService(SubtractService subtractService) {
- this.subtractService = null;
- }
-
- public void unsetDivideService(DivideService divideService) {
- this.divideService = null;
- }
-
- public void unsetMultiplyService(MultiplyService multiplyService) {
- this.multiplyService = null;
- }
- private <T> T getService(Class<T> cls) {
- for (Object s : new Object[] {addService, subtractService, multiplyService, divideService}) {
- if (cls.isInstance(s)) {
- return cls.cast(s);
- }
- }
- throw new IllegalStateException(cls.getSimpleName() + " is not available");
- }
-
- public double add(double n1, double n2) {
- return getService(AddService.class).add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return getService(SubtractService.class).subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return getService(MultiplyService.class).multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return getService(DivideService.class).divide(n1, n2);
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceImpl.java deleted file mode 100644 index 906fabfff1..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/impl/CalculatorServiceImpl.java +++ /dev/null @@ -1,105 +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 calculator.dosgi.impl;
-
-import static org.osgi.framework.Constants.OBJECTCLASS;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.util.tracker.ServiceTracker;
-
-import calculator.dosgi.CalculatorService;
-import calculator.dosgi.operations.AddService;
-import calculator.dosgi.operations.DivideService;
-import calculator.dosgi.operations.MultiplyService;
-import calculator.dosgi.operations.SubtractService;
-
-/**
- * An implementation of the Calculator service.
- */
-public class CalculatorServiceImpl implements CalculatorService {
- private ServiceTracker remoteServices;
- private ServiceTracker localServices;
-
- public CalculatorServiceImpl() {
- super();
- }
-
- public CalculatorServiceImpl(BundleContext context) {
- super();
- Filter remoteFilter = null, localFilter = null;
- try {
- remoteFilter =
- context.createFilter("(&(" + OBJECTCLASS + "=calculator.dosgi.operations.*) (service.imported=*))");
- localFilter =
- context.createFilter("(&(" + OBJECTCLASS + "=calculator.dosgi.operations.*) (!(service.imported=*)))");
- } catch (InvalidSyntaxException e) {
- e.printStackTrace();
- }
- this.remoteServices = new ServiceTracker(context, remoteFilter, null);
- remoteServices.open();
- this.localServices = new ServiceTracker(context, localFilter, null);
- localServices.open();
- }
-
- private <T> T getService(Class<T> cls) {
- try {
- // Wait for 10 seconds until the remote services are imported
- remoteServices.waitForService(10000);
- } catch (InterruptedException e) {
- throw new IllegalStateException(cls.getSimpleName() + " is not available");
- }
- Object[] remoteObjects = remoteServices.getServices();
- if (remoteObjects != null) {
- for (Object s : remoteObjects) {
- if (cls.isInstance(s)) {
- System.out.println("Remote service: " + s);
- return cls.cast(s);
- }
- }
- }
- Object[] localObjects = localServices.getServices();
- if (localObjects != null) {
- for (Object s : localObjects) {
- if (cls.isInstance(s)) {
- System.out.println("Local service: " + s);
- return cls.cast(s);
- }
- }
- }
- throw new IllegalStateException(cls.getSimpleName() + " is not available");
- }
-
- public double add(double n1, double n2) {
- return getService(AddService.class).add(n1, n2);
- }
-
- public double subtract(double n1, double n2) {
- return getService(SubtractService.class).subtract(n1, n2);
- }
-
- public double multiply(double n1, double n2) {
- return getService(MultiplyService.class).multiply(n1, n2);
- }
-
- public double divide(double n1, double n2) {
- return getService(DivideService.class).divide(n1, n2);
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/AddService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/AddService.java deleted file mode 100644 index 7d68dbd5c5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/AddService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the add service
- */
-@Remotable
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/DivideService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/DivideService.java deleted file mode 100644 index 998f6e9554..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/DivideService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the divide service
- */
-@Remotable
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java deleted file mode 100644 index 7ed6db2e6b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the multiply service
- */
-@Remotable
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java deleted file mode 100644 index cb98b8fb67..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the subtract service
- */
-@Remotable
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer.java deleted file mode 100644 index 1a3e36f571..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer.java +++ /dev/null @@ -1,93 +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 calculator.rmi;
-
-import java.io.Serializable;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-import java.rmi.server.UnicastRemoteObject;
-
-/**
- *
- */
-public class OperationsRMIServer implements OperationsRemote, Serializable {
-
- private static final long serialVersionUID = 6081008315263103012L;
- private transient Registry registry;
-
- public OperationsRMIServer() throws RemoteException {
- super();
- }
-
- public double add(double n1, double n2) {
- return n1 + n2;
- }
-
- public double subtract(double n1, double n2) {
- return n1 - n2;
- }
-
- public double divide(double n1, double n2) {
- return n1 / n2;
- }
-
- public double multiply(double n1, double n2) {
- return n1 * n2;
- }
-
- public void start() throws RemoteException {
- Thread thread = new Thread() {
- public void run() {
- try {
- System.out.println("Starting the RMI server for calculator operations...");
- Remote stub = UnicastRemoteObject.exportObject(OperationsRMIServer.this);
- registry = LocateRegistry.createRegistry(8085);
- registry.bind("AddService", stub);
- registry.bind("SubtractService", stub);
- registry.bind("MultiplyService", stub);
- registry.bind("DivideService", stub);
- System.out.println("RMI server for calculator operations is now started.");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- };
- thread.start();
- }
-
- public void stop() {
- if (registry != null) {
- try {
- registry.unbind("AddService");
- registry.unbind("SubtractService");
- registry.unbind("MultiplyService");
- registry.unbind("DivideService");
- UnicastRemoteObject.unexportObject(this, false);
- UnicastRemoteObject.unexportObject(registry, false);
- registry = null;
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer_Stub.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer_Stub.java deleted file mode 100644 index d573f6b8fa..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRMIServer_Stub.java +++ /dev/null @@ -1,132 +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.
- */
-
-// Stub class generated by rmic, do not edit.
-// Contents subject to change without notice.
-package calculator.rmi;
-
-public final class OperationsRMIServer_Stub extends java.rmi.server.RemoteStub implements calculator.rmi.OperationsRemote {
- private static final long serialVersionUID = 2;
-
- private static java.lang.reflect.Method $method_add_0;
- private static java.lang.reflect.Method $method_divide_1;
- private static java.lang.reflect.Method $method_multiply_2;
- private static java.lang.reflect.Method $method_subtract_3;
-
- static {
- try {
- $method_add_0 =
- calculator.rmi.OperationsRemote.class.getMethod("add", new java.lang.Class[] {double.class, double.class});
- $method_divide_1 =
- calculator.rmi.OperationsRemote.class.getMethod("divide",
- new java.lang.Class[] {double.class, double.class});
- $method_multiply_2 =
- calculator.rmi.OperationsRemote.class.getMethod("multiply", new java.lang.Class[] {double.class,
- double.class});
- $method_subtract_3 =
- calculator.rmi.OperationsRemote.class.getMethod("subtract", new java.lang.Class[] {double.class,
- double.class});
- } catch (java.lang.NoSuchMethodException e) {
- throw new java.lang.NoSuchMethodError("stub class initialization failed");
- }
- }
-
- // constructors
- public OperationsRMIServer_Stub(java.rmi.server.RemoteRef ref) {
- super(ref);
- }
-
- // methods from remote interfaces
-
- // implementation of add(double, double)
- public double add(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_add_0,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- 864055858262779977L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- // implementation of divide(double, double)
- public double divide(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_divide_1,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- 8097593626497421928L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- // implementation of multiply(double, double)
- public double multiply(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_multiply_2,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- -346155016949350695L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-
- // implementation of subtract(double, double)
- public double subtract(double $param_double_1, double $param_double_2) throws java.rmi.RemoteException {
- try {
- Object $result =
- ref.invoke(this,
- $method_subtract_3,
- new java.lang.Object[] {new java.lang.Double($param_double_1),
- new java.lang.Double($param_double_2)},
- -610707357620578750L);
- return ((java.lang.Double)$result).doubleValue();
- } catch (java.lang.RuntimeException e) {
- throw e;
- } catch (java.rmi.RemoteException e) {
- throw e;
- } catch (java.lang.Exception e) {
- throw new java.rmi.UnexpectedException("undeclared checked exception", e);
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRemote.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRemote.java deleted file mode 100644 index d735ce8172..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/java/calculator/rmi/OperationsRemote.java +++ /dev/null @@ -1,37 +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 calculator.rmi;
-
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * RMI Remote interface
- */
-public interface OperationsRemote extends Remote {
- double add(double n1, double n2) throws RemoteException;
-
- double subtract(double n1, double n2) throws RemoteException;
-
- double multiply(double n1, double n2) throws RemoteException;
-
- double divide(double n1, double n2) throws RemoteException;
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 2fae5f5d28..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +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 (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.
--->
-
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:c="http://calculator.dosgi">
- <deployable composite="c:CalculatorComposite" />
-</contribution>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorNode.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorNode.java deleted file mode 100644 index 7f96067764..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorNode.java +++ /dev/null @@ -1,43 +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 calculator.dosgi.test;
-
-import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher;
-
-/**
- *
- */
-public class CalculatorNode {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- if (args.length == 0) {
- args = new String[] {"-bundles"};
- }
- try {
- NodeLauncher.main(args);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorOSGiNodeTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorOSGiNodeTestCase.java deleted file mode 100644 index 96a5f7d4eb..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/CalculatorOSGiNodeTestCase.java +++ /dev/null @@ -1,152 +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 calculator.dosgi.test;
-
-import static calculator.dosgi.test.OSGiTestUtils.bundleStatus;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URL;
-
-import org.apache.tuscany.sca.node.equinox.launcher.EquinoxHost;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceReference;
-
-import calculator.dosgi.CalculatorService;
-import calculator.rmi.OperationsRMIServer;
-
-/**
- *
- */
-public class CalculatorOSGiNodeTestCase {
- private static EquinoxHost host;
- private static BundleContext context;
- private static Bundle calculatorBundle;
- private static OperationsRMIServer rmiServer;
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- try {
- rmiServer = new OperationsRMIServer();
- rmiServer.start();
-
- host = new EquinoxHost();
- context = host.start();
-
- for (Bundle b : context.getBundles()) {
- System.out.println(b);
- // debug to print out exported packages
- // handy if you want to find aplit packages
- //Object exports = b.getHeaders().get(Constants.EXPORT_PACKAGE);
- //if (exports != null){
- // System.out.println(exports.toString());
- //}
- if (b.getSymbolicName().equals("org.eclipse.equinox.ds") || b.getSymbolicName()
- .startsWith("org.apache.tuscany.sca.")) {
- try {
- if (b.getHeaders().get(Constants.FRAGMENT_HOST) == null) {
- // Start the non-fragment bundle
- b.start();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- System.out.println(bundleStatus(b, false));
- } else {
- System.out.println(bundleStatus(b, false));
- }
- if ("calculator.dosgi".equals(b.getSymbolicName())) {
- calculatorBundle = b;
- }
- }
-
- if (calculatorBundle != null) {
- calculatorBundle.start();
- System.out.println(bundleStatus(calculatorBundle, false));
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- throw e;
- }
- }
-
- @Test
- public void testOSGi() {
- ServiceReference ref =
- calculatorBundle.getBundleContext().getServiceReference(CalculatorService.class.getName());
- Assert.assertNotNull(ref);
- Object service = context.getService(ref);
- Assert.assertNotNull(service);
- CalculatorService calculator = OSGiTestUtils.cast(service, CalculatorService.class);
- System.out.println("2.0 + 1.0 = " + calculator.add(2.0, 1.0));
- System.out.println("2.0 - 1.0 = " + calculator.subtract(2.0, 1.0));
- System.out.println("2.0 * 1.0 = " + calculator.multiply(2.0, 1.0));
- System.out.println("2.0 / 1.0 = " + calculator.divide(2.0, 1.0));
- }
-
- @Test
- /**
- * Test the Web service exposed by the Calculator
- */
- public void testWS() throws Exception {
- URL url = new URL("http://localhost:8086/CalculatorService?wsdl");
- InputStream is = url.openStream();
- Reader reader = new InputStreamReader(is);
- char[] content = new char[10240]; // 10k
- int len = 0;
- while (true) {
- int size = reader.read(content, len, content.length - len);
- if (size < 0) {
- break;
- }
- len += size;
- }
- Assert.assertTrue(len > 0);
- String str = new String(content, 0, len);
- System.out.println(str);
- Assert.assertTrue(str.indexOf("<wsdl:definitions") != -1);
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- if (host != null) {
- host.stop();
- rmiServer.stop();
- host = null;
- rmiServer = null;
- context = null;
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/OSGiTestUtils.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/OSGiTestUtils.java deleted file mode 100644 index 43c4d0bf4b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/calculator-bundle/src/test/java/calculator/dosgi/test/OSGiTestUtils.java +++ /dev/null @@ -1,105 +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 calculator.dosgi.test;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.osgi.framework.Bundle;
-
-/**
- *
- * Utility class to create OSGi bundles
- *
- * @version $Rev: 796166 $ $Date: 2009-07-21 08:03:47 +0100 (Tue, 21 Jul 2009) $
- */
-public class OSGiTestUtils {
- private static class InvocationHandlerImpl implements InvocationHandler {
- private Object instance;
-
- public InvocationHandlerImpl(Object instance) {
- super();
- this.instance = instance;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- Method m = instance.getClass().getMethod(method.getName(), method.getParameterTypes());
- return m.invoke(instance, args);
- }
-
- }
-
- /**
- * Returns a string representation of the given bundle.
- *
- * @param b
- * @param verbose
- * @return
- */
- public static String bundleStatus(Bundle bundle, boolean verbose) {
- StringBuffer sb = new StringBuffer();
- sb.append(bundle.getBundleId()).append(" ").append(bundle.getSymbolicName());
- int s = bundle.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
-
- if (verbose) {
- sb.append(" ").append(bundle.getLocation());
- sb.append(" ").append(bundle.getHeaders());
- }
- return sb.toString();
- }
-
- /**
- * A utility to cast the object to the given interface. If the class for the object
- * is loaded by a different classloader, a proxy will be created.
- *
- * @param <T>
- * @param obj
- * @param cls
- * @return
- */
- public static <T> T cast(Object obj, Class<T> cls) {
- if (cls.isInstance(obj)) {
- return cls.cast(obj);
- } else {
- return cls.cast(Proxy.newProxyInstance(cls.getClassLoader(),
- new Class<?>[] {cls},
- new InvocationHandlerImpl(obj)));
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/META-INF/MANIFEST.MF b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/META-INF/MANIFEST.MF deleted file mode 100644 index 82a803e3a6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: calculator.dosgi.operations;version="1.0.0"
-Bundle-Version: 1.0.0
-Bundle-Name: calculator.dosgi.operations
-Bundle-Activator: calculator.dosgi.operations.impl.OperationsActivator
-Bundle-ManifestVersion: 2
-Import-Package: calculator.dosgi.operations;version="[1.0.0,1.0.0]",
- org.oasisopen.sca.annotation;version="2.0.0",
- org.osgi.framework,
- org.osgi.service.component;resolution:=optional,
- org.osgi.service.packageadmin
-Bundle-SymbolicName: calculator.dosgi.operations
-Bundle-Vendor: The Apache Software Foundation
-Bundle-ActivationPolicy: lazy
-Eclipse-LazyStart: true
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-DocURL: http://www.apache.org/
-Service-Component-Disabled: OSGI-INF/add-component.xml,
- OSGI-INF/subtract-component.xml,
- OSGI-INF/multiply-component.xml,
- OSGI-INF/divide-component.xml
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/add-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/add-component.xml deleted file mode 100644 index bf4ccc3d28..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/add-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="AddComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.AddServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.AddService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/blueprint/operations-module.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/blueprint/operations-module.xml deleted file mode 100644 index e3b690f24a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/blueprint/operations-module.xml +++ /dev/null @@ -1,40 +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 (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.
--->
-<!-- A sample module-context.xml for OSGI RFC 124 (BluePrint Service) -->
-<components xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
- <component id="AddComponent" class="calculator.dosgi.operations.impl.AddServiceImpl">
- </component>
- <component id="SubtractComponent" class="calculator.dosgi.operations.impl.SubtractServiceImpl">
- </component>
- <component id="MultiplyComponent" class="calculator.dosgi.operations.impl.MultiplyServiceImpl">
- </component>
- <component id="DivideComponent" class="calculator.dosgi.operations.impl.DivideServiceImpl">
- </component>
-
- <!-- We can derive the SCA services for the implementation.osgi -->
- <service id="AddService" ref="AddComponent" interface="calculator.dosgi.operations.AddService">
- </service>
- <service id="SubtractService" ref="SubtractComponent" interface="calculator.dosgi.operations.SubtractService">
- </service>
- <service id="MultiplyService" ref="MultiplyComponent" interface="calculator.dosgi.operations.MultiplyService">
- </service>
- <service id="DivideService" ref="DivideComponent" interface="calculator.dosgi.operations.DivideService">
- </service>
-</components>
\ No newline at end of file diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/divide-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/divide-component.xml deleted file mode 100644 index b939a5de80..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/divide-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="DivideComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.DivideServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.DivideService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/multiply-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/multiply-component.xml deleted file mode 100644 index 2bf897d72a..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/multiply-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="MultiplyComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.MultiplyServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.MultiplyService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/sca/bundle.componentType b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/sca/bundle.componentType deleted file mode 100644 index 74704be28d..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/sca/bundle.componentType +++ /dev/null @@ -1,54 +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 (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.
--->
-<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1">
-
-
- <!-- The service elment defines an SCA proxy to a remote OSGi service -->
- <service name="AddService">
- <interface.java interface="calculator.dosgi.operations.AddService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </service>
- <service name="SubtractService">
- <interface.java interface="calculator.dosgi.operations.SubtractService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </service>
- <service name="MultiplyService">
- <interface.java interface="calculator.dosgi.operations.MultiplyService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </service>
- <service name="DivideService">
- <interface.java interface="calculator.dosgi.operations.DivideService"/>
- <extensions>
- <t:osgi.property name="prop1">1</t:osgi.property>
- <t:osgi.property name="prop2">ABC</t:osgi.property>
- </extensions>
- </service>
-</componentType>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/sca/bundle.composite b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/sca/bundle.composite deleted file mode 100644 index 816ba3c89c..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/sca/bundle.composite +++ /dev/null @@ -1,43 +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 (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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://calculator.dosgi"
- name="OperationsComposite">
-
- <component name="OperationsComponent">
- <tuscany:implementation.osgi bundleSymbolicName="calculator.dosgi.operations" bundleVersion="1.0.0" />
- <service name="AddService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/AddService"/>
- </service>
- <service name="SubtractService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/SubtractService"/>
- </service>
- <service name="MultiplyService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/MultiplyService"/>
- </service>
- <service name="DivideService">
- <tuscany:binding.rmi uri="rmi://localhost:8085/DivideService"/>
- </service>
-
- </component>
-
-</composite>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/subtract-component.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/subtract-component.xml deleted file mode 100644 index 4af00695da..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/OSGI-INF/subtract-component.xml +++ /dev/null @@ -1,25 +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 (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.
--->
-<scr:component name="SubtractComponent" xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
- <implementation class="calculator.dosgi.operations.impl.SubtractServiceImpl" />
- <service>
- <provide interface="calculator.dosgi.operations.SubtractService" />
- </service>
-</scr:component>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/pom.xml deleted file mode 100644 index a8df97bed6..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/pom.xml +++ /dev/null @@ -1,161 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>2.0.1</version>
- <relativePath>../../../pom.xml</relativePath>
- </parent>
-
- <artifactId>sample-operations-bundle</artifactId>
- <name>Apache Tuscany SCA Sample OSGi Remote Services Calculator Operations</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-base-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-osgi-runtime-pom</artifactId>
- <version>2.0.1</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-rmi-runtime</artifactId>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>2.0.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl-osgi</artifactId>
- <version>2.0.1</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.osgi</groupId>
- <artifactId>services</artifactId>
- <version>3.2.0-v20090520-1800</version>
- <scope>test</scope>
- </dependency>
-
- <!-- Equinox Declarative Services -->
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>ds</artifactId>
- <version>1.1.0-v20090601</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>util</artifactId>
- <version>1.0.100-v20090520-1800</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.8.1</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${project.artifactId}</finalName>
- <plugins>
- <plugin>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.5.1</version>
- <configuration>
- <buildcommands>
- <buildcommand>org.eclipse.pde.ManifestBuilder</buildcommand>
- <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
- </buildcommands>
- <projectnatures>
- <projectnature>org.eclipse.jdt.core.javanature</projectnature>
- <projectnature>org.eclipse.pde.PluginNature</projectnature>
- </projectnatures>
- <classpathContainers>
- <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER
- </classpathContainer>
- </classpathContainers>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestFile>${basedir}/META-INF/MANIFEST.MF</manifestFile>
- </archive>
- </configuration>
- </plugin>
-
-<!-- Don't think we need this as the JUnit test starts equinox
- <plugin>
- <groupId>org.apache.tuscany.maven.plugins</groupId>
- <artifactId>maven-osgi-junit-plugin</artifactId>
- <version>1.0</version>
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-launcher-equinox</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <id>osgi-test</id>
- <phase>test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <systemProperties>
- <property>
- <name>osgi.configuration.area</name>
- <value>${project.build.directory}/equinox</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
--->
- </plugins>
- </build>
-
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/AddService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/AddService.java deleted file mode 100644 index 7d68dbd5c5..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/AddService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the add service
- */
-@Remotable
-public interface AddService {
-
- double add(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/DivideService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/DivideService.java deleted file mode 100644 index 998f6e9554..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/DivideService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the divide service
- */
-@Remotable
-public interface DivideService {
-
- double divide(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java deleted file mode 100644 index 7ed6db2e6b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/MultiplyService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the multiply service
- */
-@Remotable
-public interface MultiplyService {
-
- double multiply(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java deleted file mode 100644 index cb98b8fb67..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/SubtractService.java +++ /dev/null @@ -1,31 +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 calculator.dosgi.operations;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the subtract service
- */
-@Remotable
-public interface SubtractService {
-
- double subtract(double n1, double n2);
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/AddServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/AddServiceImpl.java deleted file mode 100644 index e0a6622136..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/AddServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.AddService;
-
-/**
- * An implementation of the Add service
- */
-public class AddServiceImpl implements AddService {
-
- public double add(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Adding " + n1 + " and " + n2);
- return n1 + n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/DivideServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/DivideServiceImpl.java deleted file mode 100644 index 028f860885..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/DivideServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.DivideService;
-
-/**
- * An implementation of the Divide service.
- */
-public class DivideServiceImpl implements DivideService {
-
- public double divide(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Dividing " + n1 + " with " + n2);
- return n1 / n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/MultiplyServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/MultiplyServiceImpl.java deleted file mode 100644 index e928317c2e..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/MultiplyServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.MultiplyService;
-
-/**
- * An implementation of the Multiply service.
- */
-public class MultiplyServiceImpl implements MultiplyService {
-
- public double multiply(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Multiplying " + n1 + " with " + n2);
- return n1 * n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java deleted file mode 100644 index 6bc14c1c78..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/OperationsActivator.java +++ /dev/null @@ -1,88 +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 calculator.dosgi.operations.impl;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-import calculator.dosgi.operations.AddService;
-import calculator.dosgi.operations.DivideService;
-import calculator.dosgi.operations.MultiplyService;
-import calculator.dosgi.operations.SubtractService;
-
-/**
- *
- */
-public class OperationsActivator implements BundleActivator {
- private Logger logger = Logger.getLogger(OperationsActivator.class.getName());
-
- public void start(BundleContext context) throws Exception {
- logger.info("Starting " + context.getBundle());
-
- Dictionary<String, Object> props = new Hashtable<String, Object>();
-
- logger.info("Registering " + AddService.class.getName());
- props.put("sca.service", "AddComponent#service-name(Add)");
- context.registerService(AddService.class.getName(), new AddServiceImpl(), props);
-
- logger.info("Registering " + SubtractService.class.getName());
- props.put("sca.service", "SubtractComponent#service-name(Subtract)");
- context.registerService(SubtractService.class.getName(), new SubtractServiceImpl(), props);
-
- logger.info("Registering " + MultiplyService.class.getName());
- props.put("sca.service", "MultiplyComponent#service-name(Multiply)");
- context.registerService(MultiplyService.class.getName(), new MultiplyServiceImpl(), props);
-
- logger.info("Registering " + DivideService.class.getName());
- props.put("sca.service", "DivideComponent#service-name(Divide)");
- context.registerService(DivideService.class.getName(), new DivideServiceImpl(), props);
-
- getBundle(context, AddService.class);
- }
-
- public void stop(BundleContext context) throws Exception {
- logger.info("Stopping " + context.getBundle());
- // Registered services will be automatically unregistered
- }
-
- private Bundle getBundle(BundleContext bundleContext, Class<?> cls) {
- PackageAdmin packageAdmin = null;
- // PackageAdmin is used to resolve bundles
- ServiceReference ref = bundleContext.getServiceReference("org.osgi.service.packageadmin.PackageAdmin");
- if (ref != null) {
- packageAdmin = (PackageAdmin)bundleContext.getService(ref);
- Bundle bundle = packageAdmin.getBundle(cls);
- if (bundle != null) {
- logger.info(cls.getName() + " is loaded by bundle: " + bundle.getSymbolicName());
- }
- bundleContext.ungetService(ref);
- return bundle;
- }
- return null;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/SubtractServiceImpl.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/SubtractServiceImpl.java deleted file mode 100644 index 565670963f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/java/calculator/dosgi/operations/impl/SubtractServiceImpl.java +++ /dev/null @@ -1,37 +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 calculator.dosgi.operations.impl;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import calculator.dosgi.operations.SubtractService;
-
-/**
- * An implementation of the subtract service.
- */
-public class SubtractServiceImpl implements SubtractService {
-
- public double subtract(double n1, double n2) {
- Logger logger = Logger.getLogger("calculator");
- logger.log(Level.INFO, "Subtracting " + n1 + " from " + n2);
- return n1 - n2;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100644 index 66d93248f0..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,23 +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 (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.
--->
-<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- xmlns:c="http://calculator.dosgi">
- <deployable composite="c:OperationsComposite" />
-</contribution>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OSGiTestUtils.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OSGiTestUtils.java deleted file mode 100644 index 3407507e3b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OSGiTestUtils.java +++ /dev/null @@ -1,105 +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 calculator.dosgi.operations.test;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import org.osgi.framework.Bundle;
-
-/**
- *
- * Utility class to create OSGi bundles
- *
- * @version $Rev: 796166 $ $Date: 2009-07-21 08:03:47 +0100 (Tue, 21 Jul 2009) $
- */
-public class OSGiTestUtils {
- private static class InvocationHandlerImpl implements InvocationHandler {
- private Object instance;
-
- public InvocationHandlerImpl(Object instance) {
- super();
- this.instance = instance;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- Method m = instance.getClass().getMethod(method.getName(), method.getParameterTypes());
- return m.invoke(instance, args);
- }
-
- }
-
- /**
- * Returns a string representation of the given bundle.
- *
- * @param b
- * @param verbose
- * @return
- */
- public static String bundleStatus(Bundle bundle, boolean verbose) {
- StringBuffer sb = new StringBuffer();
- sb.append(bundle.getBundleId()).append(" ").append(bundle.getSymbolicName());
- int s = bundle.getState();
- if ((s & Bundle.UNINSTALLED) != 0) {
- sb.append(" UNINSTALLED");
- }
- if ((s & Bundle.INSTALLED) != 0) {
- sb.append(" INSTALLED");
- }
- if ((s & Bundle.RESOLVED) != 0) {
- sb.append(" RESOLVED");
- }
- if ((s & Bundle.STARTING) != 0) {
- sb.append(" STARTING");
- }
- if ((s & Bundle.STOPPING) != 0) {
- sb.append(" STOPPING");
- }
- if ((s & Bundle.ACTIVE) != 0) {
- sb.append(" ACTIVE");
- }
-
- if (verbose) {
- sb.append(" ").append(bundle.getLocation());
- sb.append(" ").append(bundle.getHeaders());
- }
- return sb.toString();
- }
-
- /**
- * A utility to cast the object to the given interface. If the class for the object
- * is loaded by a different classloader, a proxy will be created.
- *
- * @param <T>
- * @param obj
- * @param cls
- * @return
- */
- public static <T> T cast(Object obj, Class<T> cls) {
- if (cls.isInstance(obj)) {
- return cls.cast(obj);
- } else {
- return cls.cast(Proxy.newProxyInstance(cls.getClassLoader(),
- new Class<?>[] {cls},
- new InvocationHandlerImpl(obj)));
- }
- }
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsNode.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsNode.java deleted file mode 100644 index faf61d11e4..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsNode.java +++ /dev/null @@ -1,43 +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 calculator.dosgi.operations.test;
-
-import org.apache.tuscany.sca.node.equinox.launcher.NodeLauncher;
-
-/**
- *
- */
-public class OperationsNode {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- if (args.length == 0) {
- args = new String[] {"-bundles"};
- }
- try {
- NodeLauncher.main(args);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsOSGiNodeTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsOSGiNodeTestCase.java deleted file mode 100644 index ef58d1f60b..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/operations-bundle/src/test/java/calculator/dosgi/operations/test/OperationsOSGiNodeTestCase.java +++ /dev/null @@ -1,105 +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 calculator.dosgi.operations.test;
-
-import static calculator.dosgi.operations.test.OSGiTestUtils.bundleStatus;
-
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-
-import org.apache.tuscany.sca.node.equinox.launcher.EquinoxHost;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-
-import calculator.dosgi.operations.AddService;
-
-/**
- *
- */
-public class OperationsOSGiNodeTestCase {
- private static EquinoxHost host;
- private static BundleContext context;
- private static Bundle operationsBundle;
-
- /**
- * @throws java.lang.Exception
- */
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- try {
- host = new EquinoxHost();
- context = host.start();
-
- for (Bundle b : context.getBundles()) {
- if (b.getSymbolicName().equals("org.eclipse.equinox.ds") || b.getSymbolicName()
- .startsWith("org.apache.tuscany.sca.")) {
- try {
- if (b.getHeaders().get(Constants.FRAGMENT_HOST) == null) {
- // Start the non-fragment bundle
- b.start();
- }
- } catch (Exception e) {
- System.out.println("Error for bundle: " + b.getSymbolicName());
- e.printStackTrace();
- }
- System.out.println(bundleStatus(b, false));
- }
- if ("calculator.dosgi.operations".equals(b.getSymbolicName())) {
- operationsBundle = b;
- }
- }
-
- if (operationsBundle != null) {
- operationsBundle.start();
- System.out.println(bundleStatus(operationsBundle, false));
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- throw e;
- }
- }
-
- @Test
- public void testOSGi() throws Exception {
- Registry registry = LocateRegistry.getRegistry(8085);
- Object add = registry.lookup("AddService");
- AddService addService = OSGiTestUtils.cast(add, AddService.class);
- double sum = addService.add(1.0, 2.0);
- Assert.assertEquals(3.0, sum, 0.0);
- }
-
- /**
- * @throws java.lang.Exception
- */
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- if (host != null) {
- host.stop();
- context = null;
- }
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/pom.xml deleted file mode 100644 index e483ef72c1..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/distributed-osgi-static/pom.xml +++ /dev/null @@ -1,44 +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 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca.samples</groupId>
- <artifactId>tuscany-samples-learning-more</artifactId>
- <version>2.0.1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tuscany-samples-distributed-osgi-static</artifactId>
- <packaging>pom</packaging>
- <name>Apache Tuscany SCA Distributed OSGI Statically Configured Samples</name>
-
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>calculator-bundle</module>
- <module>operations-bundle</module>
- </modules>
- </profile>
- </profiles>
-</project>
diff --git a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/pom.xml b/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/pom.xml deleted file mode 100644 index 2e08aba90f..0000000000 --- a/sca-java-2.x/tags/2.0.1-RC1/samples/learning-more/pom.xml +++ /dev/null @@ -1,49 +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 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca.samples</groupId> - <artifactId>tuscany-samples</artifactId> - <version>2.0.1</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-samples-learning-more</artifactId> - <version>2.0.1</version> - <packaging>pom</packaging> - <name>Apache Tuscany SCA Sample Learning More</name> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <modules> - <module>async-invocation</module> - <!-- removed as its broken presently module>binding-comet</module --> - <module>binding-websocket</module> - <module>contribution-osgi</module> - <module>distributed-osgi-static</module> - </modules> - </profile> - </profiles> -</project> |