diff options
Diffstat (limited to 'sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote')
11 files changed, 415 insertions, 0 deletions
diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/README b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/README new file mode 100644 index 0000000000..2ea98d020c --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/README @@ -0,0 +1,4 @@ +bigbank-stockquote is a part of a larger demo called bigbank. +Please see the Readme file under bigbank to understand how bigbank-stockquote fits into the overall demo. + + diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/build.xml b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/build.xml new file mode 100644 index 0000000000..e1565c7e01 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/build.xml @@ -0,0 +1,67 @@ +<!-- + * 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 name="bigbank-stockquote" default="run"> + <property name="test.class" value="stockquote.demo.StockQuoteServer" /> + + <path id="test.classpath"> + <pathelement location="../../lib/tuscany-sca-manifest.jar"/> + <pathelement location="target/demo-bigbank-stockquote.jar"/> + </path> + + <target name="init"> + <mkdir dir="target/classes"/> + </target> + + <target name="compile" depends="init"> + <javac srcdir="src/main/java" + destdir="target/classes" + debug="on" + source="1.5" + target="1.5"> + <classpath> + <pathelement location="../../lib/tuscany-sca-manifest.jar"/> + </classpath> + </javac> + <copy todir="target/classes"> + <fileset dir="src/main/resources"/> + </copy> + <jar destfile="target/demo-bigbank-stockquote.jar" basedir="target/classes"> + <manifest> + <attribute name="Main-Class" value="${test.class}" /> + </manifest> + </jar> + </target> + + <target name="run" depends="compile"> + <java classname="${test.class}" + fork="true"> + <classpath> + <path refid="test.classpath"/> + </classpath> + </java> + </target> + + <target name="clean"> + <delete quiet="true" includeemptydirs="true"> + <fileset dir="target" /> + </delete> + </target> + +</project> + diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/pom.xml b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/pom.xml new file mode 100644 index 0000000000..4ce365f3ef --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/pom.xml @@ -0,0 +1,85 @@ +<?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</groupId> + <artifactId>tuscany-demos</artifactId> + <version>1.4.1-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + <artifactId>demo-bigbank-stockquote</artifactId> + <name>Apache Tuscany SCA Demo BigBank StockQuote</name> + + <repositories> + <repository> + <id>apache.incubator</id> + <url>http://people.apache.org/repo/m2-incubating-repository</url> + </repository> + </repositories> + + <dependencies> + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-embedded</artifactId> + <version>1.4.1-SNAPSHOT</version> + </dependency> + + <dependency> + <groupId>org.apache.ws.security</groupId> + <artifactId>wss4j</artifactId> + <version>1.5.3</version> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-implementation-java-runtime</artifactId> + <version>1.4.1-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-binding-ws-axis2</artifactId> + <version>1.4.1-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>org.apache.tuscany.sca</groupId> + <artifactId>tuscany-host-tomcat</artifactId> + <version>1.4.1-SNAPSHOT</version> + <scope>runtime</scope> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <finalName>${artifactId}</finalName> + </build> + +</project> diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.java b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.java new file mode 100644 index 0000000000..2d7821171d --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/PasswordCallbackHandler.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package stockquote; + +import java.io.IOException; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.UnsupportedCallbackException; + +import org.apache.ws.security.WSPasswordCallback; + +/** + * Sample userid passwd generation class + */ +public class PasswordCallbackHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, + UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + System.out.println("*** Calling Server User/Passwd Handler...." ); + WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; + System.out.println("*** Getting password for user ...." + pwcb.getIdentifer() + " & " + pwcb.getKey()); + if ( pwcb.getUsage() == WSPasswordCallback.SIGNATURE ) { + System.out.println(" Usage is SIGNATURE ... "); + pwcb.setPassword("sqservice"); + } + } + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.java b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.java new file mode 100644 index 0000000000..2a0801f9b8 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteImpl.java @@ -0,0 +1,38 @@ +/* + * 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 stockquote; + +import org.osoa.sca.annotations.Service; + +/** + * This class implements the StockQuote service. + */ +@Service(StockQuoteService.class) +public class StockQuoteImpl implements StockQuoteService { + + public double getQuote(String symbol) { + double price = 104.0 + Math.random(); + price = ((int)(price * 100)) / 100.0; + + System.out.println("Getting stock quote for: " + symbol + ", value: "+ price); + + return price; + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.java b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.java new file mode 100644 index 0000000000..9d128657eb --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/StockQuoteService.java @@ -0,0 +1,30 @@ +/* + * 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 stockquote; + +import org.osoa.sca.annotations.Remotable; + +/** + * This is the business interface of the StockQuote service. + */ +@Remotable +public interface StockQuoteService { + + public double getQuote(String symbol); +} diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.java b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.java new file mode 100644 index 0000000000..04ed762602 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/java/stockquote/demo/StockQuoteServer.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package stockquote.demo; + +import org.apache.tuscany.sca.host.embedded.SCADomain; + +/** + * This server program shows how to bootstrap SCA from a simple J2SE program + * and start it which activates the StockQuote Web service endpoint. + */ +public class StockQuoteServer { + + public static void main(String[] args) throws Exception { + + System.out.println("Starting the Sample SCA StockQuote Service..."); + + SCADomain domain = SCADomain.newInstance("StockQuote.composite"); + + System.out.println("Press Enter to Exit..."); + System.in.read(); + + domain.close(); + System.out.println("Bye"); + } + +} diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/StockQuote.composite b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/StockQuote.composite new file mode 100644 index 0000000000..aaad92c861 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/StockQuote.composite @@ -0,0 +1,33 @@ +<?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://www.osoa.org/xmlns/sca/1.0" + xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://stockquote" + xmlns:hw="http://stockquote" + name="StockQuote"> + + <component name="StockQuoteServiceComponent"> + <implementation.java class="stockquote.StockQuoteImpl" /> + <service name="StockQuoteService" requires="integrity"> + <binding.ws uri="http://localhost:8081/services/StockQuoteWebService"/> + </service> + </component> + +</composite> diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/definitions.xml b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/definitions.xml new file mode 100644 index 0000000000..7e1f51304e --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/definitions.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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:definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" + targetNamespace="http://stockQuote" + xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" + xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" + xmlns:bb="http://bigbank"> + + + <!-- WS Security POLICY SETS --> + <sca:policySet name="wsIntegrityPolicy" + provides="integrity" + appliesTo="sca:binding.ws"> + <tuscany:wsConfigParam> + <parameter name="InflowSecurity"> + <action> + <items>Timestamp Signature</items> + <signaturePropFile>security.properties</signaturePropFile> + </action> + </parameter> + <parameter name="OutflowSecurity"> + <action> + <items>Timestamp Signature</items> + <user>sqservice</user> + <signaturePropFile>security.properties</signaturePropFile> + <passwordCallbackClass>stockquote.PasswordCallbackHandler</passwordCallbackClass> + <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier> + </action> + </parameter> + </tuscany:wsConfigParam> + </sca:policySet> + </sca:definitions>
\ No newline at end of file diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/security.properties b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/security.properties new file mode 100644 index 0000000000..a5b889c269 --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/security.properties @@ -0,0 +1,20 @@ +## --------------------------------------------------------------------------- +## 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. +## --------------------------------------------------------------------------- +org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin +org.apache.ws.security.crypto.merlin.keystore.type=jks +org.apache.ws.security.crypto.merlin.keystore.password=sqkeystore +org.apache.ws.security.crypto.merlin.file=stockQuote.jks diff --git a/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/stockQuote.jks b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/stockQuote.jks Binary files differnew file mode 100644 index 0000000000..d53d32c4ef --- /dev/null +++ b/sca-java-1.x/branches/sca-java-1.4/demos/bigbank-stockquote/src/main/resources/stockQuote.jks |