Update the test scenarios

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@780056 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
rfeng 2009-05-29 18:20:02 +00:00
parent 6a63ce110c
commit 6b4bc0c967
12 changed files with 317 additions and 9 deletions

View file

@ -17,8 +17,12 @@ Import-Package: javax.jws,
javax.xml.ws,
org.apache.tuscany.sca.node;version="2.0.0",
org.oasisopen.sca.annotation;version="2.0.0",
org.osgi.framework;version="1.4"
org.osgi.framework;version="1.4",
scatours.currency,
scatours.payment.creditcard
Bundle-SymbolicName: scatours.creditcard.payment
Bundle-DocURL: http://www.apache.org/
Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6
Bundle-Activator: scatours.payment.creditcard.impl.CreditCardPaymentActivator
Export-Package: scatours.currency,
scatours.payment.creditcard

View file

@ -30,7 +30,7 @@ import scatours.payment.creditcard.CreditCardPayment;
public class CreditCardPaymentActivator implements BundleActivator {
public void start(BundleContext context) throws Exception {
System.out.println("Registering CreditCardPayment service...");
System.out.println("[" + context.getBundle().getSymbolicName() + "]: Registering CreditCardPayment service...");
context.registerService(CreditCardPayment.class.getName(), new CreditCardPaymentImpl(context), null);
}

View file

@ -76,6 +76,7 @@ public class CreditCardPaymentImpl implements CreditCardPayment {
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
context.createMarshaller().marshal(element, writer);
writer.flush();
System.out.println("[CreditCard]: ");
System.out.println(writer.toString());
}

View file

@ -18,15 +18,12 @@
* under the License.
-->
<componentType xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
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="CreditCardPayment">
<!-- The interface will be mapped into the OSGi service class -->
<interface.java interface="scatours.payment.creditcard.CreditCardPayment"/>
<!-- The list of OSGi properties -->
<t:osgi.property name="prop1">1</t:osgi.property>
<t:osgi.property name="prop2">ABC</t:osgi.property>
</service>
<!-- The reference elment defines an SCA proxy to a remote OSGi service -->

View file

@ -33,6 +33,8 @@
</reference>
</component>
<!-- Other components can be declared here too -->
<component name="CurrencyConverterComponent">
<implementation.java class="scatours.currency.impl.CurrencyConverterImpl" />
<service name="CurrencyConverter">
@ -40,4 +42,5 @@
</service>
</component>
</composite>

View file

@ -0,0 +1,21 @@
Manifest-Version: 1.0
Private-Package: calculator;version="2.0.0"
Tool: Bnd-0.0.255
Bundle-Name: SCATours Currency Converter
Created-By: 1.6.0_07 (Sun Microsystems Inc.)
Bundle-Vendor: The Apache Software Foundation
Eclipse-LazyStart: true
Bundle-Version: 1.0.0
Bnd-LastModified: 1223949424781
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-Description: Apache Tuscany SCA Calculator OSGi Sample
Import-Package: org.oasisopen.sca.annotation;version="2.0.0",
org.osgi.framework;version="1.4",
scatours.currency
Bundle-SymbolicName: scatours.currency.converter
Bundle-DocURL: http://www.apache.org/
Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6
Export-Package: scatours.currency
Bundle-Activator: scatours.currency.impl.CurrencyConverterActivator

View file

@ -0,0 +1,117 @@
<?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-sca</artifactId>
<version>2.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>scatours-currency-converter-dosgi</artifactId>
<name>SCATours Currency Converter OSGi</name>
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-feature-ejava</artifactId>
<version>2.0-SNAPSHOT</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node-launcher-equinox</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-node-impl-osgi</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.eclipse.osgi</groupId>
<artifactId>services</artifactId>
<version>3.1.200-v20071203</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<scope>test</scope>
</dependency>
<!-- Equinox Declarative Services -->
<dependency>
<groupId>org.eclipse.equinox</groupId>
<artifactId>ds</artifactId>
<version>1.0.0-v20080427-0830</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.equinox</groupId>
<artifactId>util</artifactId>
<version>1.0.0-v20080414</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${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>
</plugins>
</build>
</project>

View file

@ -0,0 +1,33 @@
/*
* 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 scatours.currency;
import org.oasisopen.sca.annotation.Remotable;
/**
* The CurrencyConverter service interface
*/
@Remotable
public interface CurrencyConverter {
float getExchangeRate(String fromCurrencyCode, String toCurrencyCode);
float convert(String fromCurrencyCode, String toCurrencyCode, float amount);
}

View file

@ -0,0 +1,40 @@
/*
* 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 scatours.currency.impl;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import scatours.currency.CurrencyConverter;
/**
*
*/
public class CurrencyConverterActivator implements BundleActivator {
public void start(BundleContext context) throws Exception {
System.out.println("[" + context.getBundle().getSymbolicName() + "]: Registering CurrencyConverter service...");
context.registerService(CurrencyConverter.class.getName(), new CurrencyConverterImpl(), null);
}
public void stop(BundleContext arg0) throws Exception {
}
}

View file

@ -0,0 +1,55 @@
/*
* 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 scatours.currency.impl;
import java.util.HashMap;
import java.util.Map;
import org.oasisopen.sca.annotation.Service;
import scatours.currency.CurrencyConverter;
/**
* An implementation of the CurrencyConverter service
*/
@Service(CurrencyConverter.class)
public class CurrencyConverterImpl implements CurrencyConverter {
// currency index
private Map<String, Integer> currencyIndex = new HashMap<String, Integer>();
// exchange rates
private final float rates[][] = { {1.00f, 0.50f, 0.66f}, {2.00f, 1.00f, 1.33f}, {1.50f, 0.75f, 1.00f}};
public CurrencyConverterImpl() {
currencyIndex.put("USD", new Integer(0));
currencyIndex.put("GBP", new Integer(1));
currencyIndex.put("EUR", new Integer(2));
}
public float getExchangeRate(String fromCurrencyCode, String toCurrencyCode) {
return rates[currencyIndex.get(fromCurrencyCode).intValue()][currencyIndex.get(toCurrencyCode).intValue()];
}
public float convert(String fromCurrencyCode, String toCurrencyCode, float amount) {
float converted = amount * getExchangeRate(fromCurrencyCode, toCurrencyCode);
System.out.println(fromCurrencyCode + amount + "=" + toCurrencyCode + converted);
return converted;
}
}

View file

@ -0,0 +1,27 @@
<?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/200903">
<service name="CurrencyConverter">
<!-- The interface will be mapped into the OSGi service class -->
<interface.java interface="scatours.currency.CurrencyConverter"/>
</service>
</componentType>

View file

@ -17,6 +17,16 @@
* specific language governing permissions and limitations
* under the License.
-->
<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903">
<export.java package="payment.creditcard"/>
</contribution>
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace="http://currency"
name="CurrencyConverterComposite">
<component name="CurrencyConverterComponent">
<tuscany:implementation.osgi bundleSymbolicName="scatours.currency.converter" bundleVersion="1.0.0" />
<service name="CurrencyConverter">
<tuscany:binding.rmi uri="rmi://localhost:8085/CurrencyConverter" />
</service>
</component>
</composite>