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:
parent
6a63ce110c
commit
6b4bc0c967
12 changed files with 317 additions and 9 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
@ -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 -->
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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>
|
|
@ -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);
|
||||
|
||||
}
|
|
@ -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 {
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
Loading…
Add table
Reference in a new issue