summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src
diff options
context:
space:
mode:
authorkelvingoodson <kelvingoodson@13f79535-47bb-0310-9956-ffa450edef68>2010-09-13 14:08:00 +0000
committerkelvingoodson <kelvingoodson@13f79535-47bb-0310-9956-ffa450edef68>2010-09-13 14:08:00 +0000
commit9a0fef11c0ddff9dd16ed22c627d12ea8533270f (patch)
treeeb407ef5751fb46cbf472581862d39d80c7eaf80 /sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src
parenta8d5d89a9c1bd96aebfc8a16ab28871fbd2c189b (diff)
separate out getting started sample contributions
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@996545 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src')
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldClient.java51
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldImpl.java33
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServer.java51
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldService.java34
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServiceComponent.java42
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java59
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java29
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java40
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml28
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldws.composite31
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldwsclient.composite34
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/logging.properties30
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite34
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/test.xsd35
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/wsdl/helloworld.wsdl88
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldClientTestCase.java85
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldTestServer.java67
-rw-r--r--sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/TestCaseRunner.java329
18 files changed, 0 insertions, 1100 deletions
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldClient.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldClient.java
deleted file mode 100644
index ebc270811f..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldClient.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 helloworld;
-
-import org.apache.tuscany.sca.node.Contribution;
-import org.apache.tuscany.sca.node.ContributionLocationHelper;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-
-/**
- * This client program shows how to create an SCA runtime, start it, locate the
- * HelloWorld service and invoke it.
- */
-public class HelloWorldClient {
-
- public final static void main(String[] args) throws Exception {
-
- NodeFactory factory = NodeFactory.newInstance();
- String contribution = ContributionLocationHelper.getContributionLocation(HelloWorldClient.class);
- Node node =
- factory.createNode("helloworldwsclient.composite", new Contribution("helloworld", contribution)).start();
-
- HelloWorldService helloWorldService = node.getService(HelloWorldService.class, "HelloWorldServiceComponent");
-
- Name name = HelloworldFactory.INSTANCE.createName();
-
- name.setFirst("David");
- name.setLast("Haney");
-
- String value = helloWorldService.getGreetings(name);
- System.out.println(value);
-
- node.stop();
- }
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldImpl.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldImpl.java
deleted file mode 100644
index c42a4d59c3..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldImpl.java
+++ /dev/null
@@ -1,33 +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 helloworld;
-
-import org.oasisopen.sca.annotation.Service;
-
-/**
- * This class implements the HelloWorld service.
- */
-@Service(HelloWorldService.class)
-public class HelloWorldImpl implements HelloWorldService {
-
- public String getGreetings(Name name) {
- return "Hello " + name.getFirst() + " " + name.getLast();
- }
-
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServer.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServer.java
deleted file mode 100644
index ff5cb4ceda..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServer.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 helloworld;
-
-import java.io.IOException;
-
-import org.apache.tuscany.sca.node.Contribution;
-import org.apache.tuscany.sca.node.ContributionLocationHelper;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-
-/**
- * This server program shows how to create an SCA runtime, and start it which
- * activates the helloworld Web service endpoint.
- */
-public class HelloWorldServer {
-
- public static void main(String[] args) {
-
- NodeFactory factory = NodeFactory.newInstance();
- String contribution = ContributionLocationHelper.getContributionLocation(HelloWorldServer.class);
- Node node = factory.createNode("helloworldws.composite", new Contribution("helloworld", contribution)).start();
-
- try {
- System.out.println("HelloWorld server started (press enter to shutdown)");
- System.in.read();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- node.stop();
- System.out.println("HelloWorld server stopped");
- }
-
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldService.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldService.java
deleted file mode 100644
index fa257a0605..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldService.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 helloworld;
-
-import javax.xml.ws.RequestWrapper;
-import javax.xml.ws.ResponseWrapper;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-/**
- * The interface for the helloworld service
- */
-@Remotable
-public interface HelloWorldService {
- @RequestWrapper(className="helloworld.getGreetings")
- @ResponseWrapper(className="helloworld.getGreetingsResponse")
- public String getGreetings(Name name);
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServiceComponent.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServiceComponent.java
deleted file mode 100644
index 711eef63b5..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/helloworld/HelloWorldServiceComponent.java
+++ /dev/null
@@ -1,42 +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 helloworld;
-
-/**
- * The HelloWorld service implementation
- */
-public class HelloWorldServiceComponent implements HelloWorldService {
-
- HelloWorldService helloWorldService;
-
- public String getGreetings(Name name) {
- System.out.println("Called getGreetings");
- return helloWorldService.getGreetings(name);
- }
-
- public HelloWorldService getHelloWorldService() {
- System.out.println("Got Injected helloWorldService");
- return helloWorldService;
- }
-
- public void setHelloWorldService(HelloWorldService helloWorldService) {
- System.out.println("Injected helloWorldService");
- this.helloWorldService = helloWorldService;
- }
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java
deleted file mode 100644
index d222d77b3b..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BioTestCase.java
+++ /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.
- */
-
-package services.bcircle;
-
-import model.sdo.EntityFactory;
-import model.sdo.Laboratory;
-
-import org.apache.tuscany.sca.node.Contribution;
-import org.apache.tuscany.sca.node.ContributionLocationHelper;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-
-public class BioTestCase {
-
- /**
- * @param args
- */
- public static void main(String[] args) {
- BiochemicalCircle biochemicalCircl = new BiochemicalCircleImpl();
- Laboratory lab2 = biochemicalCircl.getLaboratory("Lab2"); //This invocation without use SCA works ok.
-
- NodeFactory factory = NodeFactory.newInstance();
- String contribution = ContributionLocationHelper.getContributionLocation(BioTestCase.class);
- Node node =
- factory.createNode("resources/clinicalLaboratory.composite", new Contribution("clinical", contribution))
- .start();
-
- BiochemicalCircle biochemicalCircle = node.getService(BiochemicalCircle.class, "BiochemicalCircleComponent");
-
- Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
- lab.setName("lab2");
- biochemicalCircle.setLaboratory(lab); // this invocation works ok too
-
- lab = biochemicalCircle.getLaboratory("Lab2"); // here I have an exception posted below.
-
- //here I wait a moment before close scaDomain
- System.out.println(lab.getName());
-
- node.stop();
-
- }
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java
deleted file mode 100644
index a988a4156c..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircle.java
+++ /dev/null
@@ -1,29 +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 services.bcircle;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface BiochemicalCircle {
- void setLaboratory(model.sdo.Laboratory lab);
-
- model.sdo.Laboratory getLaboratory(String name);
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.java
deleted file mode 100644
index b609f58373..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/java/services/bcircle/BiochemicalCircleImpl.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 services.bcircle;
-import model.sdo.EntityFactory;
-import model.sdo.Laboratory;
-
-import org.oasisopen.sca.annotation.Service;
-
-
-@Service(BiochemicalCircle.class)
-public class BiochemicalCircleImpl implements BiochemicalCircle{
- public Laboratory getLaboratory(String name) {
-
- Laboratory lab = EntityFactory.INSTANCE.createLaboratory();
- lab.setName("Main Laboratory");
- return lab;
- }
-
- public void setLaboratory(Laboratory lab) {
- //sad method
- System.out.println(lab.getName());
- }
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml
deleted file mode 100644
index f8b2a60f6a..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/META-INF/sca-contribution.xml
+++ /dev/null
@@ -1,28 +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:hw="http://helloworld"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1">
-
- <deployable composite="hw:helloworldws"/>
-
- <tuscany:sdo.types namespace="http://helloworld" location="wsdl/helloworld.wsdl"/>
-
-</contribution>
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldws.composite b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldws.composite
deleted file mode 100644
index 46c819d08c..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldws.composite
+++ /dev/null
@@ -1,31 +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://helloworld"
- xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/1.1" xmlns:hw="http://helloworld"
- name="helloworldws">
-
- <component name="HelloWorldServiceComponent">
- <implementation.java class="helloworld.HelloWorldImpl" />
- <service name="HelloWorldService">
- <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
- <binding.ws uri="http://localhost:8085/HelloWorldService" />
- </service>
- </component>
-</composite>
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldwsclient.composite b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldwsclient.composite
deleted file mode 100644
index 65b0e294a8..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/helloworldwsclient.composite
+++ /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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" targetNamespace="http://helloworld"
- xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/1.1" xmlns:hw="http://helloworld"
- name="helloworldwsclient">
-
- <component name="HelloWorldServiceComponent">
- <implementation.java class="helloworld.HelloWorldServiceComponent" />
- <reference name="helloWorldService">
- <interface.java interface="helloworld.HelloWorldService" />
- <binding.ws wsdlElement="http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)" />
- </reference>
- </component>
-
-
-
-</composite>
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/logging.properties b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/logging.properties
deleted file mode 100644
index 3dca310cdb..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/logging.properties
+++ /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.
-#
-# $Rev$ $Date$
-#
-
-# Custom logging configuration for Tuscany samples
-# By default, only INFO level logging is enabled and ALL messages get sent to the console
-# For more messages from the runtime, uncomment specific settings at the end of this file
-handlers = java.util.logging.ConsoleHandler
-java.util.logging.ConsoleHandler.level = ALL
-java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
-.level=INFO
-
-# Uncomment the next setting to get all Tuscany messages (this will be a lot)
-#org.apache.tuscany.level=FINEST
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite
deleted file mode 100644
index 0451cee24c..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/resources/clinicalLaboratory.composite
+++ /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.
--->
-<sca:composite xmlns:federation="http://eclipse.org/SCAExample1/src/resources/federation"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="clinicalLaboratory"
- targetNamespace="http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory">
-
- <sca:component name="BiochemicalCircleComponent">
- <sca:implementation.java class="services.bcircle.BiochemicalCircleImpl" />
- <sca:service name="BiochemicalCircle">
- <sca:interface.java interface="services.bcircle.BiochemicalCircle" />
- <sca:binding.ws uri="http://localhost:8080/SCA1/MyServiceComponent" />
- </sca:service>
- </sca:component>
- <!--
- <sca:service name="BiochemicalCircle" promote="BiochemicalCircleComponent/BiochemicalCircle" />
- -->
-</sca:composite>
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/test.xsd b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/test.xsd
deleted file mode 100644
index 7fd9aa0013..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/test.xsd
+++ /dev/null
@@ -1,35 +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.
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory"
- xmlns:tns="http://eclipse.org/SCAExample1/src/resources/clinicalLaboratory"
- elementFormDefault="qualified">
- <complexType name="Practice">
- <sequence>
- <element name="name" type="string" />
- </sequence>
- </complexType>
- <complexType name="Laboratory">
- <sequence>
- <element name="name" type="string" />
- <element name="practices" type="tns:Practice" maxOccurs="unbounded" />
- </sequence>
- </complexType>
-</schema>
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/wsdl/helloworld.wsdl b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/wsdl/helloworld.wsdl
deleted file mode 100644
index 882819110f..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/main/resources/wsdl/helloworld.wsdl
+++ /dev/null
@@ -1,88 +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.
--->
-<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
-
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://helloworld"
- xmlns="http://www.w3.org/2001/XMLSchema">
-
- <element name="getGreetings">
- <complexType>
- <sequence>
- <element name="name" type="tns:Name" />
- </sequence>
- </complexType>
- </element>
-
- <element name="getGreetingsResponse">
- <complexType>
- <sequence>
- <element name="getGreetingsReturn" type="xsd:string" />
- </sequence>
- </complexType>
- </element>
-
- <complexType name="Name">
- <sequence>
- <element name="first" type="xsd:string" />
- <element name="last" type="xsd:string" />
- </sequence>
- </complexType>
-
- </schema>
- </wsdl:types>
-
- <wsdl:message name="getGreetingsRequest">
- <wsdl:part element="tns:getGreetings" name="parameters" />
- </wsdl:message>
-
- <wsdl:message name="getGreetingsResponse">
- <wsdl:part element="tns:getGreetingsResponse" name="parameters" />
- </wsdl:message>
-
- <wsdl:portType name="HelloWorld">
- <wsdl:operation name="getGreetings">
- <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest" />
- <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse" />
- </wsdl:operation>
- </wsdl:portType>
-
- <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
- <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="getGreetings">
- <wsdlsoap:operation soapAction="" />
- <wsdl:input name="getGreetingsRequest">
- <wsdlsoap:body use="literal" />
- </wsdl:input>
- <wsdl:output name="getGreetingsResponse">
- <wsdlsoap:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
-
- <wsdl:service name="HelloWorldService">
- <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort">
- <wsdlsoap:address location="http://localhost:8085/HelloWorldService" />
- </wsdl:port>
- </wsdl:service>
-
-</wsdl:definitions>
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldClientTestCase.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldClientTestCase.java
deleted file mode 100644
index 3918f9a4a5..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldClientTestCase.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package helloworld;
-
-import junit.framework.Assert;
-
-import org.apache.tuscany.sca.node.Contribution;
-import org.apache.tuscany.sca.node.ContributionLocationHelper;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test case for helloworld web service client
- */
-public class HelloWorldClientTestCase {
-
- private HelloWorldService helloWorldService;
- private static Node node;
-
- private TestCaseRunner server;
-
- @Before
- public void startClient() throws Exception {
- try {
-
- NodeFactory factory = NodeFactory.newInstance();
- String contribution = ContributionLocationHelper.getContributionLocation(HelloWorldClient.class);
- node =
- factory.createNode("helloworldwsclient.composite", new Contribution("helloworld", contribution))
- .start();
-
- helloWorldService = node.getService(HelloWorldService.class, "HelloWorldServiceComponent");
-
- server = new TestCaseRunner(HelloWorldTestServer.class);
- server.before();
-
- } catch (Throwable e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testWSClient() throws Exception {
- Name name = HelloworldFactory.INSTANCE.createName();
- name.setFirst("John");
- name.setLast("Smith");
- String msg = helloWorldService.getGreetings(name);
- Assert.assertEquals("Hello John Smith", msg);
- }
-
- @After
- public void stopClient() throws Exception {
- server.after();
- node.stop();
- }
-
- public static void main(String[] args) throws Exception {
- HelloWorldClientTestCase test = new HelloWorldClientTestCase();
- test.startClient();
- test.testWSClient();
-
- System.in.read();
- }
-
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldTestServer.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldTestServer.java
deleted file mode 100644
index 98487ad88b..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/HelloWorldTestServer.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package helloworld;
-
-import java.io.IOException;
-import java.net.Socket;
-
-import org.apache.tuscany.sca.node.Contribution;
-import org.apache.tuscany.sca.node.ContributionLocationHelper;
-import org.apache.tuscany.sca.node.Node;
-import org.apache.tuscany.sca.node.NodeFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Starts up the SCA runtime which starts listening for service requests
- */
-public class HelloWorldTestServer {
-
- private Node node;
-
- @Before
- public void startServer() throws Exception {
- try {
-
- NodeFactory factory = NodeFactory.newInstance();
- String contribution = ContributionLocationHelper.getContributionLocation(HelloWorldService.class);
- node = factory.createNode("helloworldws.composite", new Contribution("helloworld", contribution)).start();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testPing() throws IOException {
- new Socket("127.0.0.1", 8085);
- }
-
- @After
- public void stopServer() throws Exception {
- node.stop();
- }
-
- public static void main(String[] args) throws Exception {
-
- HelloWorldTestServer test = new HelloWorldTestServer();
- test.startServer();
- }
-
-}
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/TestCaseRunner.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/TestCaseRunner.java
deleted file mode 100644
index b6b4ed2254..0000000000
--- a/sca-java-2.x/trunk/samples/getting-started/helloworld-ws-sdo/src/test/java/helloworld/TestCaseRunner.java
+++ /dev/null
@@ -1,329 +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 helloworld;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * A helper class that can be used to run an SCA JUnit test case. The test case will run in an isolated class loader.
- *
- * @version $Rev$ $Date$
- */
-public class TestCaseRunner {
-
- private ClassLoader classLoader;
- private Class<?> testSuiteClass;
- private Object testSuite;
- private Class<?> testResultClass;
- private Class<?> testCaseClass;
- private Object testCase;
-
- private Class<?> beforeAnnotation;
- private Class<?> beforeClassAnnotation;
- private Class<?> afterAnnotation;
- private Class<?> afterClassAnnotation;
- private Class<?> junit4AdapterClass;
- private Class<?> junit3TestCaseClass;
-
- /**
- * Constructs a new TestCase runner.
- *
- * @param testClass
- */
- public TestCaseRunner(Class<?> testClass, String... isolatedClasses) {
- try {
- ClassLoader tccl = setupClassLoader(testClass, isolatedClasses);
-
- try {
- // Thread.currentThread().setContextClassLoader(classLoader);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finalClassLoader = classLoader;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finalClassLoader);
- return null;
- }
- });
-
- testCaseClass = Class.forName(testClass.getName(), true, classLoader);
- testCase = testCaseClass.newInstance();
- ClassLoader testClassLoader = testCaseClass.getClassLoader();
-
- junit3TestCaseClass = Class.forName("junit.framework.TestCase", true, testClassLoader);
-
- testSuiteClass = Class.forName("junit.framework.TestSuite", true, testClassLoader);
- Constructor<?> testSuiteConstructor = testSuiteClass.getConstructor(Class.class);
- testSuite = testSuiteConstructor.newInstance(testCaseClass);
-
- testResultClass = Class.forName("junit.framework.TestResult", true, testClassLoader);
-
- try {
- beforeAnnotation = Class.forName("org.junit.Before", true, testClassLoader);
- afterAnnotation = Class.forName("org.junit.After", true, testClassLoader);
- beforeClassAnnotation = Class.forName("org.junit.BeforeClass", true, testClassLoader);
- afterClassAnnotation = Class.forName("org.junit.AfterClass", true, testClassLoader);
- junit4AdapterClass = Class.forName("junit.framework.JUnit4TestAdapter", true, testClassLoader);
- } catch (Exception e) {
- // Unexpected
- throw new AssertionError(e);
- }
- } catch (Throwable e) {
- e.printStackTrace();
- } finally {
- // Thread.currentThread().setContextClassLoader(tccl);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finaltccl = tccl;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finaltccl);
- return null;
- }
- });
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- private ClassLoader setupClassLoader(Class<?> testClass, String... isolatedClasses) {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- classLoader = testClass.getClassLoader();
- if (classLoader instanceof URLClassLoader) {
- URL[] urls = ((URLClassLoader)classLoader).getURLs();
- classLoader = new ClassLoaderImpl(urls, classLoader, isolatedClasses);
- } else if (classLoader == tccl || classLoader.getParent() == tccl) {
- classLoader = new URLClassLoader(new URL[0], classLoader);
- } else {
- classLoader = tccl;
- }
- return tccl;
- }
-
- /**
- * Run the test case
- */
- public void run() {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
- // Thread.currentThread().setContextClassLoader(classLoader);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finalClassLoader = classLoader;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finalClassLoader);
- return null;
- }
- });
-
- if (junit3TestCaseClass.isAssignableFrom(testCaseClass)) {
- Object testResult = testResultClass.newInstance();
- Method runMethod = testSuiteClass.getMethod("run", testResultClass);
- runMethod.invoke(testSuite, testResult);
- } else {
- Object junit4Adapter = junit4AdapterClass.getConstructor(Class.class).newInstance(testCaseClass);
- Object testResult = testResultClass.newInstance();
- Method runMethod = junit4AdapterClass.getMethod("run", testResultClass);
- runMethod.invoke(junit4Adapter, testResult);
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- } finally {
- // Thread.currentThread().setContextClassLoader(tccl);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finaltccl = tccl;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finaltccl);
- return null;
- }
- });
- }
- }
-
- /**
- * Invoke the setUp method
- */
- public void setUp() {
- execute("setUp");
- }
-
- /**
- * Invoke the before methods
- */
- public void before() {
- execute(beforeAnnotation);
- }
-
- /**
- * Invoke the beforeClass methods
- */
- public void beforeClass() {
- execute(beforeClassAnnotation);
- }
-
- /**
- * Invoke the tearDown method
- */
- public void tearDown() {
- execute("tearDown");
- }
-
- /**
- * Invoke the after methods
- */
- public void after() {
- execute(afterAnnotation);
- }
-
- /**
- * Invoke the afterClass methods
- */
- public void afterClass() {
- execute(afterClassAnnotation);
- }
-
- /**
- * Invoke the specified test method.
- */
- public void run(String methodName) {
- execute(methodName);
- }
-
- /**
- * Invoke the methods annotated with the specified annotation.
- */
- private void execute(Class<?> annotationClass) {
- if (annotationClass == null) {
- throw new RuntimeException(new NoSuchMethodException());
- }
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
- // Thread.currentThread().setContextClassLoader(classLoader);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finalClassLoader = classLoader;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finalClassLoader);
- return null;
- }
- });
-
- for (Method method : testCaseClass.getDeclaredMethods()) {
- for (Annotation annotation : method.getAnnotations()) {
- if (annotation.annotationType() == annotationClass) {
- method.invoke(testCase);
- }
- }
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- } finally {
- // Thread.currentThread().setContextClassLoader(tccl);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finaltccl = tccl;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finaltccl);
- return null;
- }
- });
- }
- }
-
- /**
- * Invoke the specified method
- */
- private void execute(String methodName) {
- ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- try {
- // Thread.currentThread().setContextClassLoader(classLoader);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finalClassLoader = classLoader;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finalClassLoader);
- return null;
- }
- });
- Method setUpMethod = testCaseClass.getDeclaredMethod(methodName);
- setUpMethod.setAccessible(true);
- setUpMethod.invoke(testCase);
- } catch (Exception e) {
- throw new RuntimeException(e);
- } finally {
- // Thread.currentThread().setContextClassLoader(tccl);
- // Allow privileged access to set class loader. Requires RuntimePermission
- // setContextClassLoader in security policy.
- final ClassLoader finaltccl = tccl;
- AccessController.doPrivileged(new PrivilegedAction<Object>() {
- public Object run() {
- Thread.currentThread().setContextClassLoader(finaltccl);
- return null;
- }
- });
- }
- }
-
- public static class ClassLoaderImpl extends URLClassLoader {
- private Set<String> isolatedClasses = new HashSet<String>();
-
- /**
- * @param urls
- * @param parent
- */
- public ClassLoaderImpl(URL[] urls, ClassLoader parent, String... sharedClasses) {
- super(urls, parent);
- this.isolatedClasses.addAll(Arrays.asList(sharedClasses));
- }
-
- @Override
- protected synchronized Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
- if (!isolatedClasses.contains(name)) {
- return super.loadClass(name, resolve);
- } else {
- Class<?> cls = findLoadedClass(name);
- if (cls == null) {
- cls = findClass(name);
- }
- if (resolve) {
- resolveClass(cls);
- }
- return cls;
- }
- }
-
- }
-
-}