diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-14 23:51:25 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-14 23:51:25 +0000 |
commit | 06ca2ef50851907739abd788e88eab437b125810 (patch) | |
tree | a880b2cdcd6dd27a9107a53e90f60d0b6eff77ff | |
parent | e7f131daa81065bc052256c753faf456f98bdf6b (diff) |
Created a subset of the modules and samples to be ported and tested with Equinox initially.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@695308 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
786 files changed, 19 insertions, 60576 deletions
diff --git a/branches/sca-equinox/distribution/bundle/pom.xml b/branches/sca-equinox/distribution/bundle/pom.xml deleted file mode 100644 index 3273e3b9ed..0000000000 --- a/branches/sca-equinox/distribution/bundle/pom.xml +++ /dev/null @@ -1,720 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-bundle</artifactId> - <name>Apache Tuscany SCA Bundle Jar</name> - <packaging>jar</packaging> - - <properties> - <maven.test.skip>true</maven.test.skip> - <tuscany.version>${pom.version}</tuscany.version> - </properties> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-atom-abdera</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-dwr</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ejb-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-atom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-http-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jms-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jsonrpc-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-notification</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rss</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rss-rome</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca-axis2</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-axis2</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>org.apache.ant</groupId> - <artifactId>ant-nodeps</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.axis2</groupId> - <artifactId>addressing</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-xmlbeans</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.axis2</groupId> - <artifactId>axis2-adb-codegen</artifactId> - </exclusion> - <exclusion> - <groupId>bouncycastle</groupId> - <artifactId>bcprov-jdk15</artifactId> - </exclusion> - <exclusion> - <groupId>opensaml</groupId> - <artifactId>opensaml</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-wsdlgen</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-groovy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-namespace</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-resource</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-groovy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-jaxb</artifactId> - <version>${pom.version}</version> - </dependency> - <!-- dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo</artifactId> - <version>${pom.version}</version> - </dependency --> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-webapp</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-jetty</artifactId> - <version>${pom.version}</version> - </dependency> - <!-- dependency> don't put two servlet hosts in the classpat TUSCANY-1954 - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - <version>${pom.version}</version> - </dependency --> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-bpel</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-bpel-ode</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-data-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-ejb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-ejb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node-runtime</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-osgi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-resource-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-script</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-spring</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-xquery</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-widget-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-launcher</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-logging</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-security</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-definitions</artifactId> - <version>${pom.version}</version> - </dependency> - <!--dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-runtime-tomcat</artifactId> - <version>${pom.version}</version> - </dependency--> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-workspace</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-domain-manager</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-workspace-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-workspace-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-wsdl2java</artifactId> - <version>${pom.version}</version> - <exclusions> - - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - - <artifactId>geronimo-activation_1.1_spec</artifactId> - </exclusion> - - </exclusions> - </dependency> - - <!-- dependencies to keep in the shaded pom.xml --> - - <dependency> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - <version>1.0.1</version> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.1</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-commonj_1.1_spec</artifactId> - <version>1.0</version> - </dependency> - - <dependency> - <groupId>org.apache.neethi</groupId> - <artifactId>neethi</artifactId> - <version>2.0.2</version> - </dependency> - -<!-- - <dependency> - <groupId>javax.jws</groupId> - <artifactId>jsr181-api</artifactId> - <version>1.0-MR1</version> - </dependency> - - <dependency> - <groupId>cglib</groupId> - <artifactId>cglib-nodep</artifactId> - <version>2.1_3</version> - </dependency> ---> - - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/resources</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadedGroupFilter>org.apache.tuscany.sca</shadedGroupFilter> - - <shadedArtifactAttached>false</shadedArtifactAttached> - <createSourcesJar>${createSourcesJar}</createSourcesJar> - <promoteTransitiveDependencies>false</promoteTransitiveDependencies> - <createDependencyReducedPom>true</createDependencyReducedPom> - <filters> - <filter> - <artifact>org.apache.tuscany.sca:tuscany-interface-java-jaxws</artifact> - <excludes> - <exclude>com/example/**</exclude> - </excludes> - </filter> - <filter> - <artifact>org.apache.tuscany.sca:tuscany-databinding-jaxb</artifact> - <excludes> - <exclude>com/example/**</exclude> - </excludes> - </filter> - <filter> - <artifact>org.apache.tuscany.sca:tuscany-databinding-sdo</artifact> - <excludes> - <exclude>com/example/**</exclude> - </excludes> - </filter> - <filter> - <artifact>${project.groupId}:${project.artifactId}</artifact> - - <excludes> - <exclude>org/**</exclude> - </excludes> - </filter> - </filters> - - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource> - </transformer> - <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> - <resource>META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider</resource> - </transformer> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/distribution/manifest/pom.xml b/branches/sca-equinox/distribution/manifest/pom.xml deleted file mode 100644 index 9e56624f72..0000000000 --- a/branches/sca-equinox/distribution/manifest/pom.xml +++ /dev/null @@ -1,591 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-sca-manifest</artifactId> - <name>Apache Tuscany SCA Manifest Jar</name> - - <properties> - <maven.test.skip>true</maven.test.skip> - <tuscany.version>${pom.version}</tuscany.version> - </properties> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-dwr</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ejb-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-atom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-atom-abdera</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rss</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rss-rome</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-http-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jms-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>apache-activemq</artifactId> - <version>4.1.1</version> - <exclusions> - <exclusion> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - </exclusion> - <exclusion> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - </exclusion> - <exclusion> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-console</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-optional</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-web</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-web-demo</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-jaas</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-j2ee-jacc_1.0_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jms_1.1_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jsp_2.0_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-j2ee-management_1.0_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.mortbay.jetty</groupId> - <artifactId>servlet-api-2.5</artifactId> - </exclusion> - <exclusion> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> - </exclusion> - <exclusion> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty-util</artifactId> - </exclusion> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - </exclusion> - <exclusion> - <groupId>backport-util-concurrent</groupId> - <artifactId>backport-util-concurrent</artifactId> - </exclusion> - <exclusion> - <groupId>activesoap</groupId> - <artifactId>jaxp-api</artifactId> - </exclusion> - <exclusion> - <groupId>activemq</groupId> - <artifactId>jmdns</artifactId> - </exclusion> - <exclusion> - <groupId>jrms</groupId> - <artifactId>jrms</artifactId> - </exclusion> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xmlParserAPIs</artifactId> - </exclusion> - <exclusion> - <groupId>xstream</groupId> - <artifactId>xstream</artifactId> - </exclusion> - <exclusion> - <groupId>xmlpull</groupId> - <artifactId>xmlpull</artifactId> - </exclusion> - <exclusion> - <groupId>mx4j</groupId> - <artifactId>mx4j</artifactId> - </exclusion> - <exclusion> - <groupId>mx4j</groupId> - <artifactId>mx4j-remote</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jsonrpc-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-notification</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca-axis2</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-axis2</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-wsdlgen</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-groovy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-namespace</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-jaxb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-webapp</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-jetty</artifactId> - <version>${pom.version}</version> - </dependency> - <!-- dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - <version>${pom.version}</version> - </dependency --> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-bpel</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-bpel-ode</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>ant</groupId> - <artifactId>ant</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-ejb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-ejb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node-runtime</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-osgi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-resource-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-script</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-spring</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-xquery</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-widget-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-launcher</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-logging</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-security</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-definitions</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-workspace</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-domain-manager</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-workspace-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-workspace-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-java2wsdl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-wsdl2java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-impl</artifactId> - <version>1.1.1</version> - <exclusions> - <exclusion> - <!-- sdo 1.0 uses 3.2.0 but sca uses 3.2.1 --> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-tools</artifactId> - <version>1.1.1</version> - </dependency> - </dependencies> - - - - <build> - <resources> - <resource> - <directory>src/main/java</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <finalName>tuscany-sca-manifest</finalName> - <archive> - <manifest> - <addClasspath>true</addClasspath> - </manifest> - <manifestEntries> - <!-- Add an entry for the renamed bundle jar in the distro --> - <Class-Path>tuscany-sca-all-${pom.version}.jar</Class-Path> - </manifestEntries> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/distribution/pom.xml b/branches/sca-equinox/distribution/pom.xml index f092b2ee3e..43c37d15d4 100644 --- a/branches/sca-equinox/distribution/pom.xml +++ b/branches/sca-equinox/distribution/pom.xml @@ -30,301 +30,7 @@ <name>Apache Tuscany SCA Distribution</name> <packaging>pom</packaging> - <properties> - <maven.test.skip>true</maven.test.skip> - <tuscany.version>${pom.version}</tuscany.version> - </properties> - <modules> - <module>bundle</module> - <module>manifest</module> - <!--module>webapp</module--> + <module>features</module> </modules> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-bundle</artifactId> - <version>${pom.version}</version> - <exclusions> - <!-- exclude things that get dragged in from other dependencies that we don't need to distribute --> - <!-- TODO: this should probably be done in the Tuscany module where the dependency is defined --> - <exclusion> - <groupId>avalon-framework</groupId> - <artifactId>avalon-framework</artifactId> - </exclusion> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - <exclusion> - <groupId>avalon-framework</groupId> - <artifactId>avalon-framework</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.ant</groupId> - <artifactId>ant</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.ant</groupId> - <artifactId>ant-launcher</artifactId> - </exclusion> - <exclusion> - <groupId>jline</groupId> - <artifactId>jline</artifactId> - </exclusion> - <exclusion> - <!-- exclude stax 1.0.1 as we're also pulling in javax\xml\stream\stax-api\1.0-2 --> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - <exclusion> - <groupId>javax.mail</groupId> - <artifactId>mail</artifactId> - </exclusion> - <!-- - <exclusion> - <groupId>javax.activation</groupId> - <artifactId>activation</artifactId> - </exclusion> - --> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-activation_1.1_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-activation_1.0.2_spec</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-webapp</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <!--don't put two servlet hosts in the classpath TUSCANY-1954 --> - <!--include tomcat here so it is shipped in modules/ but not --> - <!--in the all jar --> - <!-- dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency --> - <dependency> - <groupId>org.apache.tuscany.sdo</groupId> - <artifactId>tuscany-sdo-impl</artifactId> - <version>1.1-incubating</version> - <exclusions> - <exclusion> - <!-- sdo 1.0 uses 3.2.0 but sca uses 3.2.1 --> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - </exclusion> - <exclusion> - <!-- exclude stax 1.0.1 as we're also pulling in javax\xml\stream\stax-api\1.0-2 --> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - <exclusion> - <!-- exclude felix since we are using a later version --> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.main</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>apache-activemq</artifactId> - <version>4.1.1</version> - <exclusions> - <!-- TUSCANY-2168 --> - <exclusion> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - </exclusion> - <exclusion> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - </exclusion> - <exclusion> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-console</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-optional</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-web</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-web-demo</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-jaas</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-j2ee-jacc_1.0_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jms_1.1_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jsp_2.0_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-j2ee-management_1.0_spec</artifactId> - </exclusion> - <exclusion> - <groupId>org.mortbay.jetty</groupId> - <artifactId>servlet-api-2.5</artifactId> - </exclusion> - <exclusion> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> - </exclusion> - <exclusion> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty-util</artifactId> - </exclusion> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - </exclusion> - <exclusion> - <groupId>backport-util-concurrent</groupId> - <artifactId>backport-util-concurrent</artifactId> - </exclusion> - <exclusion> - <groupId>activesoap</groupId> - <artifactId>jaxp-api</artifactId> - </exclusion> - <exclusion> - <groupId>activemq</groupId> - <artifactId>jmdns</artifactId> - </exclusion> - <exclusion> - <groupId>jrms</groupId> - <artifactId>jrms</artifactId> - </exclusion> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xmlParserAPIs</artifactId> - </exclusion> - <exclusion> - <groupId>xstream</groupId> - <artifactId>xstream</artifactId> - </exclusion> - <exclusion> - <groupId>xmlpull</groupId> - <artifactId>xmlpull</artifactId> - </exclusion> - <exclusion> - <groupId>mx4j</groupId> - <artifactId>mx4j</artifactId> - </exclusion> - <exclusion> - <groupId>mx4j</groupId> - <artifactId>mx4j-remote</artifactId> - </exclusion> - <exclusion> - <!-- exclude backport-util-concurrent-2.2.jar since we are using version 3.0 --> - <groupId>backport-util-concurrent</groupId> - <artifactId>backport-util-concurrent</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - - <build> - - <resources> - <resource> - <directory>src/main/java</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - - <plugins> - <!-- Temporarily Remove Javadoc --> - <!-- - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>unpack-javadoc</id> - <phase>package</phase> - <goals> - <goal>unpack</goal> - </goals> - <configuration> - <outputDirectory>${project.build.directory}/javadoc</outputDirectory> - <artifactItems> - <artifactItem> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <classifier>javadoc</classifier> - <version>${pom.version}</version> - </artifactItem> - <artifactItem> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <classifier>javadoc</classifier> - <version>${pom.version}</version> - </artifactItem> - </artifactItems> - </configuration> - </execution> - </executions> - </plugin> - --> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>src/main/assembly/bin.xml</descriptor> - <descriptor>src/main/assembly/src.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <finalName>apache-tuscany-sca-${pom.version}</finalName> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - - </build> - </project> diff --git a/branches/sca-equinox/distribution/src/main/assembly/bin.xml b/branches/sca-equinox/distribution/src/main/assembly/bin.xml deleted file mode 100644 index de26867cf1..0000000000 --- a/branches/sca-equinox/distribution/src/main/assembly/bin.xml +++ /dev/null @@ -1,350 +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. ---> -<assembly> - <!-- id typically identifies the "type" (src vs bin etc) of the assembly --> - <id></id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>dir</format> - <format>tar.gz</format> - <format>zip</format> - </formats> - - <fileSets> - <!-- Add the text files to the top-level directroy --> - <fileSet> - <directory>src/main/release</directory> - <outputDirectory>tuscany-sca-${tuscany.version}</outputDirectory> - <includes> - <include>CHANGES</include> - <include>README</include> - <include>RELEASE_NOTES</include> - </includes> - </fileSet> - <fileSet> - <directory>src/main/release/bin</directory> - <outputDirectory>tuscany-sca-${tuscany.version}</outputDirectory> - <includes> - <include>INSTALL</include> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </fileSet> - <!-- Add javadoc to the doc directory --> - <fileSet> - <directory>target/javadoc</directory> - <outputDirectory>tuscany-sca-${tuscany.version}/docs/javadoc</outputDirectory> - <includes> - <include>**/*</include> - </includes> - </fileSet> - <!-- Add all the samples to the samples directory --> - <fileSet> - <directory>../samples</directory> - <outputDirectory>tuscany-sca-${tuscany.version}/samples</outputDirectory> - <includes> - <include>**/*</include> - </includes> - <excludes> - <!-- General file/folders to exclude --> - <exclude>*/.classpath</exclude> - <exclude>*/.project</exclude> - <exclude>*/.settings</exclude> - <exclude>*/.settings/**/*</exclude> - <exclude>*/.externalToolBuilders</exclude> - <exclude>*/.externalToolBuilders/**/*</exclude> - <exclude>*/work</exclude> - <exclude>*/work/**/*</exclude> - <exclude>**/activemq-test.log</exclude> - <exclude>**/derby.log</exclude> - <exclude>**/target/war/**</exclude> - <exclude>*/target/mvn-eclipse-cache.properties</exclude> - <exclude>*/target/classes</exclude> - <exclude>*/target/classes/**/*</exclude> - <exclude>*/target/dependency-maven-plugin-markers</exclude> - <exclude>*/target/dependency-maven-plugin-markers/**/*</exclude> - <exclude>*/target/test-classes</exclude> - <exclude>*/target/test-classes/**/*</exclude> - <exclude>*/target/surefire-reports</exclude> - <exclude>*/target/surefire-reports/**/*</exclude> - <exclude>*/target/sdo-source</exclude> - <exclude>*/target/sdo-source/**/*</exclude> - <exclude>*/target/wsdl2java-source</exclude> - <exclude>*/target/wsdl2java-source/**/*</exclude> - <exclude>*/**/derby.log</exclude> - <exclude>*/**/*.svg</exclude> - <!-- Sample specific work file/folders to exclude --> - <exclude>pom.xml</exclude> - <exclude>calculator-distributed/work</exclude> - <exclude>calculator-distributed/work/**/*</exclude> - <exclude>calculator-webapp/target/sample-calculator-webapp</exclude> - <exclude>calculator-webapp/target/sample-calculator-webapp/**/*</exclude> - <exclude>calculator-ws-webapp/target/sample-calculator-ws-webapp</exclude> - <exclude>calculator-ws-webapp/target/sample-calculator-ws-webapp/**/*</exclude> - <exclude>calculator-ws-secure-webapp</exclude> - <exclude>calculator-ws-secure-webapp/**/*</exclude> - <exclude>calculator-ws-secure-webapp/work</exclude> - <exclude>callback-ws-client/work</exclude> - <exclude>callback-ws-client/work/**/*</exclude> - <exclude>callback-ws-service/work</exclude> - <exclude>callback-ws-service/work/**/*</exclude> - <exclude>chat-webapp/target/sample-chat-webapp</exclude> - <exclude>chat-webapp/target/sample-chat-webapp/**/*</exclude> - <exclude>domain-webapp</exclude> - <exclude>domain-webapp/**/*</exclude> - <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp</exclude> - <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp/**/*</exclude> - <exclude>feed-aggregator-webapp/target/war</exclude> - <exclude>helloworld-bpel/target</exclude> - <exclude>helloworld-bpel/target/**/*</exclude> - <exclude>helloworld-dojo-webapp/src/main/webapp/dojo</exclude> - <exclude>helloworld-dojo-webapp/src/main/webapp/dojo/**/*</exclude> - <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp</exclude> - <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp/**/*</exclude> - <exclude>helloworld-dojo-webapp/target/war</exclude> - <exclude>helloworld-jms-webapp</exclude> - <exclude>helloworld-jms-webapp/**/*</exclude> - <exclude>helloworld-jms-webapp/work</exclude> - <exclude>helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp</exclude> - <exclude>helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp/**/*</exclude> - <exclude>helloworld-ws-deep-webapp</exclude> - <exclude>helloworld-ws-deep-webapp/**/*</exclude> - <exclude>helloworld-ws-deep-webapp/work</exclude> - <exclude>helloworld-ws-deep-webapp/work/**/*</exclude> - <exclude>helloworld-ws-reference/work</exclude> - <exclude>helloworld-ws-reference/work/**/*</exclude> - <exclude>helloworld-ws-reference-jms/activemq-data</exclude> - <exclude>helloworld-ws-reference-jms/activemq-data/**/*</exclude> - <exclude>helloworld-ws-reference-secure/work</exclude> - <exclude>helloworld-ws-reference-secure/work/**/*</exclude> - <exclude>helloworld-ws-service-webapp</exclude> - <exclude>helloworld-ws-service-webapp/**/*</exclude> - <exclude>helloworld-ws-service/work</exclude> - <exclude>helloworld-ws-service/secure/work/**/*</exclude> - <exclude>helloworld-ws-service/secure/work</exclude> - <exclude>helloworld-ws-service/work/**/*</exclude> - <exclude>helloworld-ws-service-jms/activemq-data</exclude> - <exclude>helloworld-ws-service-jms/activemq-data/**/*</exclude> - <exclude>helloworld-ws-service-secure/work</exclude> - <exclude>helloworld-ws-service-secure/work/**/*</exclude> - <exclude>helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp</exclude> - <exclude>helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp/**/*</exclude> - <exclude>helloworld-ws-sdo/work</exclude> - <exclude>helloworld-ws-sdo/work/**/*</exclude> - <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp</exclude> - <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp/**/*</exclude> - <exclude>loanapplication</exclude> - <exclude>loanapplication/**/*</exclude> - <exclude>osgi-supplychain/.felix</exclude> - <exclude>osgi-supplychain/.felix/**/*</exclude> - <exclude>osgi-supplychain/target/sample-osgi-supplychain</exclude> - <exclude>osgi-supplychain/target/sample-osgi-supplychain/**/*</exclude> - <exclude>simple-callback-ws/work</exclude> - <exclude>simple-callback-ws/work/**/*</exclude> - <exclude>spi-implementation-pojo</exclude> - <exclude>spi-implementation-pojo/**/*</exclude> - <!-- Sample war files to exclude --> - <exclude>calculator-ws-secure-webapp/target/sample-calculator-ws-secure-webapp.war</exclude> - <exclude>calculator-ws-webapp/target/sample-calculator-ws-webapp.war</exclude> - <exclude>chat-webapp/target/sample-chat-webapp.war</exclude> - <exclude>domain-webapp/target/sample-domain-webapp.war</exclude> - <exclude>feed-aggregator-webapp/target/sample-feed-aggregator-webapp.war</exclude> - <exclude>helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp.war</exclude> - <exclude>helloworld-jms-webapp/target/sample-helloworld-jms-webapp.war</exclude> - <exclude>helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp.war</exclude> - <exclude>helloworld-ws-deep-webapp/target/sample-helloworld-ws-deep-webapp.war</exclude> - <exclude>helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp.war</exclude> - <exclude>helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp.war</exclude> - </excludes> - </fileSet> - <!-- Add all the demos to the demos directory --> - <fileSet> - <directory>../demos</directory> - - <outputDirectory>tuscany-sca-${tuscany.version}/demos</outputDirectory> - <includes> - <include>**/*</include> - </includes> - <excludes> - <exclude>*/.classpath</exclude> - <exclude>*/.project</exclude> - <exclude>*/.settings</exclude> - <exclude>*/.settings/**/*</exclude> - <exclude>*/work</exclude> - <exclude>*/work/**/*</exclude> - <exclude>*/target/classes</exclude> - <exclude>*/target/classes/**/*</exclude> - <exclude>*/target/test-classes</exclude> - <exclude>*/target/test-classes/**/*</exclude> - <exclude>*/target/surefire-reports</exclude> - <exclude>*/target/surefire-reports/**/*</exclude> - <exclude>**/derby.log</exclude> - <exclude>*/**/derby.log</exclude> - <exclude>*/**/*.svg</exclude> - <exclude>*/**/*.ruleset</exclude> - <exclude>alert-aggregator-webapp/bin</exclude> - <exclude>alert-aggregator-webapp/bin/**/*</exclude> - <exclude>alert-aggregator-webapp/src/main/webapp/dojo</exclude> - <exclude>alert-aggregator-webapp/src/main/webapp/dojo/**/*</exclude> - <exclude>alert-aggregator-webapp/target/demo-alert-aggregator</exclude> - <exclude>alert-aggregator-webapp/target/demo-alert-aggregator/**/*</exclude> - <exclude>alert-aggregator-webapp/target/sdo-source</exclude> - <exclude>alert-aggregator-webapp/target/sdo-source/**/*</exclude> - <exclude>alert-aggregator-webapp/target</exclude> - <exclude>alert-aggregator-webapp/target/**/*</exclude> - <exclude>bigbank/src/main/resources/web/dojo</exclude> - <exclude>bigbank/src/main/resources/web/dojo/**/*</exclude> - <exclude>bigbank/target</exclude> - <exclude>bigbank/target/**/*</exclude> - <exclude>bigbank-account/src/main/resources/web/dojo</exclude> - <exclude>bigbank-account/src/main/resources/web/dojo/**/*</exclude> - <exclude>bigbank-account/target</exclude> - <exclude>bigbank-account/target/**/*</exclude> - <exclude>bigbank-calculator/target</exclude> - <exclude>bigbank-calculator/target/**/*</exclude> - <exclude>bigbank-stockquote/target</exclude> - <exclude>bigbank-stockquote/target/**/*</exclude> - <exclude>helloworld-ws-sdo/work</exclude> - <exclude>helloworld-ws-sdo/work/**/*</exclude> - <exclude>mortgage-creditcheck/target/demo-mortgage-creditcheck</exclude> - <exclude>mortgage-creditcheck/target/demo-mortgage-creditcheck/**/*</exclude> - <exclude>mortgage-creditcheck/target</exclude> - <exclude>mortgage-creditcheck/target/**/*</exclude> - <exclude>mortgage-loanapproval/target</exclude> - <exclude>mortgage-loanapproval/target/**/*</exclude> - <exclude>secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo</exclude> - <exclude>secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/*</exclude> - <exclude>secure-bigbank/secure-bigbank-account/target</exclude> - <exclude>secure-bigbank/secure-bigbank-account/target/**/*</exclude> - <exclude>secure-bigbank/secure-bigbank-calculator/target</exclude> - <exclude>secure-bigbank/secure-bigbank-calculator/target/**/*</exclude> - <exclude>secure-bigbank/secure-bigbank-stockquote/target</exclude> - <exclude>secure-bigbank/secure-bigbank-stockquote/target/**/*</exclude> - <exclude>xml-bigbank/target</exclude> - <exclude>xml-bigbank/target/**/*</exclude> - <exclude>target</exclude> - <exclude>target/**/*</exclude> - </excludes> - </fileSet> - <!-- Add all the tutorials to the tutorials directory --> - <fileSet> - <directory>../tutorials</directory> - - <outputDirectory>tuscany-sca-${tuscany.version}/tutorials</outputDirectory> - <includes> - <include>**/*</include> - </includes> - <excludes> - <exclude>*/.classpath</exclude> - <exclude>*/.project</exclude> - <exclude>*/.settings</exclude> - <exclude>*/.settings/**/*</exclude> - <exclude>*/work</exclude> - <exclude>*/work/**/*</exclude> - <exclude>*/target/classes</exclude> - <exclude>*/target/classes/**/*</exclude> - <exclude>*/target/test-classes</exclude> - <exclude>*/target/test-classes/**/*</exclude> - <exclude>*/target/surefire-reports</exclude> - <exclude>*/target/surefire-reports/**/*</exclude> - <exclude>*/target/war</exclude> - <exclude>*/target/war/**/*</exclude> - <exclude>**/derby.log</exclude> - <exclude>*/**/derby.log</exclude> - <exclude>*/**/*.svg</exclude> - <exclude>*/**/*.ruleset</exclude> - <exclude>target</exclude> - <exclude>target/**/*</exclude> - <exclude>store/catalog-webapp/target/war</exclude> - <exclude>store/catalog-webapp/target/war/**/*</exclude> - <exclude>store/catalog-webapp/target/tutorial-catalog-webapp</exclude> - <exclude>store/catalog-webapp/target/tutorial-catalog-webapp/**/*</exclude> - <exclude>store/store-db/target/cart-db/</exclude> - <exclude>store/store-db/target/cart-db/**/*</exclude> - <exclude>store/store-eu/target/cart-eu-db/</exclude> - <exclude>store/store-eu/target/cart-eu-db/**/*</exclude> - <exclude>store/store-supplier/target/cart-db/</exclude> - <exclude>store/store-supplier/target/cart-db/**/*</exclude> - </excludes> - </fileSet> - <!-- Add the generated tuscany manifest classpath jar to the lib directory --> - <fileSet> - <directory>manifest/target</directory> - <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory> - <includes> - <include>tuscany-sca-manifest.jar</include> - </includes> - </fileSet> - <!-- Add the node launcher webapp to the modules directory --> - <fileSet> - <directory>../modules/node2-launcher-webapp/target</directory> - <outputDirectory>tuscany-sca-${tuscany.version}/modules</outputDirectory> - <includes> - <include>*.war</include> - </includes> - </fileSet> - - <!-- temporary fix since maven dependencies of rampart seems to refere to SNAPSHOT versions of the parent pom --> - <!--fileSet> - <directory>../modules/binding-ws-axis2/target/classes/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules</directory> - <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory> - <includes> - <include>rampart-1.3.mar</include> - </includes> - </fileSet--> - </fileSets> - - <dependencySets> - <!-- Add all the Tuscany modules to the modules directory --> - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}/modules</outputDirectory> - <unpack>false</unpack> - <includes> - <include>org.apache.tuscany.sca:*</include> - </includes> - <!-- exclude the tuscany bundle jar from the modules directory --> - <excludes> - <exclude>org.apache.tuscany.sca:tuscany-bundle</exclude> - </excludes> - <scope>runtime</scope> - </dependencySet> - <!-- Add all the dependent jars to the lib directory --> - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory> - <unpack>false</unpack> - <excludes> - <exclude>org.apache.tuscany.sca:*</exclude> - </excludes> - <scope>runtime</scope> - </dependencySet> - <!-- Add the Tuscany bundle jar to the lib directory renaming it to nicer name --> - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}/lib</outputDirectory> - <unpack>false</unpack> - <includes> - <include>org.apache.tuscany.sca:tuscany-bundle</include> - </includes> - <scope>runtime</scope> - <outputFileNameMapping>tuscany-sca-all-${version}.jar</outputFileNameMapping> - </dependencySet> - - </dependencySets> - -</assembly> diff --git a/branches/sca-equinox/distribution/src/main/assembly/src.xml b/branches/sca-equinox/distribution/src/main/assembly/src.xml deleted file mode 100644 index 1d04b0d421..0000000000 --- a/branches/sca-equinox/distribution/src/main/assembly/src.xml +++ /dev/null @@ -1,196 +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. ---> -<assembly> - <!-- id typically identifies the "type" (src vs bin etc) of the assembly --> - <id>src</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>tar.gz</format> - <format>zip</format> - </formats> - - <fileSets> - <fileSet> - <directory>src/main/release</directory> - <outputDirectory>tuscany-sca-${tuscany.version}-src</outputDirectory> - <includes> - <include>CHANGES</include> - <include>README</include> - <include>RELEASE_NOTES</include> - </includes> - </fileSet> - <fileSet> - <directory>src/main/release/src</directory> - <outputDirectory>tuscany-sca-${tuscany.version}-src</outputDirectory> - <includes> - <include>BUILDING</include> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </fileSet> - <fileSet> - <directory>target/maven-shared-archive-resources/META-INF</directory> - <outputDirectory>tuscany-sca-${tuscany.version}-src</outputDirectory> - <includes> - <include>NOTICE</include> - </includes> - </fileSet> - <fileSet> - <directory>..</directory> - <outputDirectory>tuscany-sca-${tuscany.version}-src</outputDirectory> - <includes> - <include>**/*</include> - </includes> - <excludes> - <exclude>contrib</exclude> - <exclude>contrib/**/*</exclude> - <exclude>doc</exclude> - <exclude>doc/**/*</exclude> - <exclude>**/target</exclude> - <exclude>**/target/**/*</exclude> - <exclude>**/build</exclude> - <exclude>**/build/**/*</exclude> - <exclude>**/.settings</exclude> - <exclude>**/.settings/**/*</exclude> - <exclude>**/.classpath</exclude> - <exclude>**/.project</exclude> - <exclude>**/.wtpmodules</exclude> - <exclude>**/surefire*</exclude> - <exclude>**/cobertura.ser</exclude> - <exclude>bin</exclude> - <exclude>bin/*</exclude> - <exclude>**/var/journal</exclude> - <exclude>**/build.out*</exclude> - <exclude>velocity.log</exclude> - <exclude>derby.log</exclude> - <exclude>distribution/target-last-successful</exclude> - <exclude>distribution/target-last-successful/**/*</exclude> - <exclude>itest/velocity.log</exclude> - <exclude>itest/bpel/helloworld-ws/work</exclude> - <exclude>itest/bpel/helloworld-ws/work/**/*</exclude> - <exclude>itest/callablereferences/work</exclude> - <exclude>itest/callablereferences/work/**/*</exclude> - <exclude>itest/callablereferences-ws/work</exclude> - <exclude>itest/callablereferences-ws/work/**/*</exclude> - <exclude>itest/contribution-import-export/import-composite/work</exclude> - <exclude>itest/contribution-import-export/import-composite/work/**/*</exclude> - <exclude>itest/contribution-import-export/import-resource/work</exclude> - <exclude>itest/contribution-import-export/import-resource/work/**/*</exclude> - <exclude>itest/contribution-import-export/import-wsdl/work</exclude> - <exclude>itest/contribution-import-export/import-wsdl/work/**/*</exclude> - <exclude>itest/conversations-ws/work</exclude> - <exclude>itest/conversations-ws/work/**/*</exclude> - <exclude>itest/databindings/jaxbgen/velocity.log</exclude> - <exclude>itest/domain/work</exclude> - <exclude>itest/domain/work/**/*</exclude> - <exclude>itest/exceptions-simple-ws/work</exclude> - <exclude>itest/exceptions-simple-ws/work/**/*</exclude> - <exclude>itest/large-sdo-ws/</exclude> - <exclude>itest/large-sdo-ws/**/*</exclude> - <exclude>itest/policy/work</exclude> - <exclude>itest/policy/work/**/*</exclude> - <exclude>itest/transaction/derbydb</exclude> - <exclude>itest/transaction/derbydb/**/*</exclude> - <exclude>itest/ws-void-args-return/work</exclude> - <exclude>itest/ws-void-args-return/work/**/*</exclude> - <exclude>vtest/wsbinding/nowsdl/defaultbinding/work</exclude> - <exclude>vtest/wsbinding/nowsdl/defaultbinding/work/**/*</exclude> - <exclude>vtest/wsbinding/nowsdl/multisoapbindings/work</exclude> - <exclude>vtest/wsbinding/nowsdl/multisoapbindings/work/**/*</exclude> - <exclude>vtest/wsbinding/nowsdl/promoted/work</exclude> - <exclude>vtest/wsbinding/nowsdl/promoted/work/**/*</exclude> - <exclude>vtest/wsbinding/nowsdl/soapversion/work</exclude> - <exclude>vtest/wsbinding/nowsdl/soapversion/work/**/*</exclude> - <exclude>vtest/wsbinding/service/work</exclude> - <exclude>vtest/wsbinding/service/work/**/*</exclude> - <exclude>modules/domain-impl/work</exclude> - <exclude>modules/domain-impl/work/**/*</exclude> - <exclude>modules/host-tomcat/work</exclude> - <exclude>modules/host-tomcat/work/**/*</exclude> - <exclude>modules/node-impl/work</exclude> - <exclude>modules/node-impl/work/**/*</exclude> - <exclude>modules/implementation-bpel-ode/derby.log</exclude> - <exclude>modules/implementation-das</exclude> - <exclude>modules/implementation-das/**/*</exclude> - <exclude>modules/implementation-data</exclude> - <exclude>modules/implementation-data/**/*</exclude> - <exclude>modules/implementation-osgi/.felix</exclude> - <exclude>modules/implementation-osgi/.felix/**/*</exclude> - <exclude>modules/osgi-runtime/.felix</exclude> - <exclude>modules/osgi-runtime/.felix/**/*</exclude> - <exclude>samples/old</exclude> - <exclude>samples/old/**/*</exclude> - <exclude>samples/calculator-distributed/work</exclude> - <exclude>samples/calculator-distributed/work/**/*</exclude> - <exclude>samples/callback-ws-client/work</exclude> - <exclude>samples/callback-ws-client/work/**/*</exclude> - <exclude>samples/callback-ws-service/work</exclude> - <exclude>samples/callback-ws-service/work/**/*</exclude> - <exclude>samples/domain-webapp</exclude> - <exclude>samples/domain-webapp/**/*</exclude> - <exclude>samples/helloworld-jsonrpc-webapp/src/main/webapp/dojo</exclude> - <exclude>samples/helloworld-jsonrpc-webapp/src/main/webapp/dojo/**/*</exclude> - <exclude>samples/helloworld-dojo-webapp/src/main/webapp/dojo</exclude> - <exclude>samples/helloworld-dojo-webapp/src/main/webapp/dojo/**/*</exclude> - <exclude>samples/helloworld-ws-deep-webapp</exclude> - <exclude>samples/helloworld-ws-deep-webapp/**/*</exclude> - <exclude>samples/helloworld-ws-deep-webapp/work</exclude> - <exclude>samples/helloworld-ws-deep-webapp/work/**/*</exclude> - <exclude>samples/helloworld-ws-reference/work</exclude> - <exclude>samples/helloworld-ws-reference/work/**/*</exclude> - <exclude>samples/helloworld-ws-reference-jms/activemq-data</exclude> - <exclude>samples/helloworld-ws-reference-jms/activemq-data/**/*</exclude> - <exclude>samples/helloworld-ws-reference-secure/work</exclude> - <exclude>samples/helloworld-ws-reference-secure/work/**/*</exclude> - <exclude>samples/helloworld-ws-sdo/work</exclude> - <exclude>samples/helloworld-ws-sdo/work/**/*</exclude> - <exclude>samples/helloworld-ws-service/work</exclude> - <exclude>samples/helloworld-ws-service/work/**/*</exclude> - <exclude>samples/helloworld-ws-service-jms/activemq-data</exclude> - <exclude>samples/helloworld-ws-service-jms/activemq-data/**/*</exclude> - <exclude>samples/helloworld-ws-service-secure/work</exclude> - <exclude>samples/helloworld-ws-service-secure/work/**/*</exclude> - <exclude>samples/helloworld-ws-service-webapp</exclude> - <exclude>samples/helloworld-ws-service-webapp/**/*</exclude> - <exclude>samples/osgi-supplychain/.felix</exclude> - <exclude>samples/osgi-supplychain/.felix/**/*</exclude> - <exclude>samples/spi-implementation-pojo</exclude> - <exclude>samples/spi-implementation-pojo/**/*</exclude> - <exclude>samples/simple-callback-ws/work</exclude> - <exclude>samples/simple-callback-ws/work/**/*</exclude> - <exclude>demos/alert-aggregator-webapp/bin</exclude> - <exclude>demos/alert-aggregator-webapp/bin/**/*</exclude> - <exclude>demos/alert-aggregator-webapp/src/main/webapp/dojo</exclude> - <exclude>demos/alert-aggregator-webapp/src/main/webapp/dojo/**/*</exclude> - <exclude>demos/bigbank/src/main/resources/web/dojo</exclude> - <exclude>demos/bigbank/src/main/resources/web/dojo/**/*</exclude> - <exclude>demos/bigbank-account/src/main/resources/web/dojo</exclude> - <exclude>demos/bigbank-account/src/main/resources/web/dojo/**/*</exclude> - <exclude>demos/secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo</exclude> - <exclude>demos/secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/*</exclude> - <exclude>*/**/derby.log</exclude> - <exclude>*/**/*.svg</exclude> - <exclude>*/**/*.ruleset</exclude> - <exclude>*/**/*.pmd</exclude> - <exclude>*/**/*.checkstyle</exclude> - </excludes> - </fileSet> - </fileSets> -</assembly> diff --git a/branches/sca-equinox/distribution/src/main/release/CHANGES b/branches/sca-equinox/distribution/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008
-===========================================================
-
-- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY):
- * TUSCANY-2027
- * TUSCANY-1999
- * TUSCANY-2037
- * TUSCANY-2034
- * TUSCANY-2038
- * TUSCANY-2043
- * TUSCANY-2046
- * TUSCANY-2047
- * TUSCANY-2028
- * TUSCANY-1873
- * TUSCANY-2049
- * TUSCANY-2035
- * TUSCANY-1206
- * TUSCANY-2036
- * TUSCANY-1771
- * TUSCANY-2013
- * TUSCANY-1926
- * TUSCANY-1917
- * TUSCANY-1949
- * TUSCANY-1941
- * TUSCANY-2045
- * TUSCANY-2057
- * TUSCANY-2055
- * TUSCANY-2056
- * TUSCANY-2072
- * TUSCANY-2047
- * TUSCANY-2073
- * TUSCANY-1977
- * TUSCANY-2075
- * TUSCANY-1894
- * TUSCANY-2079
- * TUSCANY-2078
- * TUSCANY-2080
- * TUSCANY-2068
- * TUSCANY-1950
- * TUSCANY-2077
- * TUSCANY-2056
- * TUSCANY-2088
- * TUSCANY-2086
- * TUSCANY-2094
- * TUSCANY-2106
-
- Features and/or Enhancements
-
- * Core
- - Interceptor Enhancements
- - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked
- - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference
- - PolicyProvider SPIs to allow extensions to plugin policy interceptors
- - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification
- - Improvement of contribution service to allow it to be used outside of the runtime environment
- - Support for Contribution Import/Export resource
- - Enhanced Distributed Domain story using Workspace
- - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites
- - Set of core services providing management capabilities
- - Administration web interface
- - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace.
- - Enhanced support for SCA Policy spec
- - Ability to apply external policy definitions to a SCA composition
- - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain
- - Bug fixes
- - Improvements of http binding to support servlet components
- - Enable Tuscany to run inside an OSGi runtime
-
- * Web 2.0 Extensions
- - Enhancements to implementation.widget (support for properties)
- - New atom binding based on Apache Abdera
- - Refactoring of rss-rome binding
- * Other Extensions
- - Binding JMS
- - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec
- - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html
- - Enhancements to Binding RMI
- - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict
- - Enhancements to Groovy extension
- - Support for 'native' groovy classes
- - Enhancements to OSGi bundle contributions
- - Support Bundle URLs to be added as contributions
-
- * Tools
- - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager
-
- * Samples/Tutorial/Demos
- - calculator-distributed migrated to use new Tuscany Distributed Workspace
- - sample-calculator-ws-secure-webapp
- - sample-helloworld-jms-webapp
- - new jms samples
- - improve bigbank demo to include support for policies
- - tutorial store changes
- - use of import/export
- - development of contribution without requiring dependencies on the Tuscany runtime
- - usage of new sca domain infrastructure
-
- * Testing
- - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere)
-
-
-Changes With Apache Tuscany SCA 1.1 (incubating) January 2008
-===============================================================
-
-- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY):
- * TUSCANY-1939
- * TUSCANY-1914
- * TUSCANY-1854
- * TUSCANY-1931
- * TUSCANY-1547
- * TUSCANY-1909
- * TUSCANY-1919
- * TUSCANY-1930
- * TUSCANY-1806
- * TUSCANY-1804
- * TUSCANY-1916
- * TUSCANY-1913
- * TUSCANY-1834
- * TUSCANY-1857
- * TUSCANY-1687
- * TUSCANY-1801
- * TUSCANY-1742
- * TUSCANY-1762
- * TUSCANY-1945
- * TUSCANY-1595
- * TUSCANY-1594
- * TUSCANY-1849
- * TUSCANY-1836
- * TUSCANY-1934
- * TUSCANY-1902
- * TUSCANY-1608
- * TUSCANY-1943
- * TUSCANY-1896
- * TUSCANY-1626
- * TUSCANY-1797
- * TUSCANY-1601
- * TUSCANY-1415
-
-- Better JMS support
- * binding.jms supporting point to point text based messaging only
- * New SOAP/JMS sample (helloworld-ws-reference/service-jms)
-
-- Improvements in PolicyFramework Support
- * Support for policy specifications on operation elements in a composite definition
- * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies
- (uses logging and JAAS Authentication)
-
-- Modeling of client side java script components
- * See implementation.widget
-
-- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running
- connected together in a domain. This is still experimental.
-
-- Class loading and OSGI improvements
- * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default,
- Tuscany continues to run using a single CLASSPATH-based classloader.
- * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be
- explicitly specified (as described in the spec).
-
-- JAXB based POJO transformations
-
-Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007
-================================================================
-
-The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below.
-
-- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY):
- * TUSCANY-1848
- * TUSCANY-1857
- * TUSCANY-1859
- * TUSCANY-1801
- * TUSCANY-1823
- * TUSCANY-1839
- * TUSCANY-1814
- * TUSCANY-1818
- * TUSCANY-1834
- * TUSCANY-1637
- * TUSCANY-1826
- * TUSCANY-1823
- * TUSCANY-1819
- * TUSCANY-1821
- * TUSCANY-1822
- * TUSCANY-1806
- * TUSCANY-1808
- * TUSCANY-1756
- * TUSCANY-1757
-
-- Fix build issues with Maven 2.0.7 and JDK 6
-
-- Reduce memory consumption for WSDLs that import large XSDs
-
-- Add more logging statements for better servicibility
-
-- Add an extension point to allow extensions to plug-in extension schemas.
-
-- Add a demo application to showcase XML integration story
-
-- Improve in databinding framework
- * Add support for JSON Databindings and other refactoring
- * Set databinding for introspected data type and enhance the checking of wrapper style
- * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach
- * Add a tree-iterator based XMLStreamReader base impl
- * Add default element info to java interface
- * Rename Interface.setDefaultDataBinding to resetDataBinding
-
-- Limit the method injection to setters and allow the setter annotation to override field annotation
-
-- Evolving support in Intent and Policy handling
- * Add support for policies in implementation
- * Fix the algorithm for macthing policySets defined on bindings for the wire
- * Add policy intent for implementation.java
- * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module
- * Add policy module for logging
-
-- Evolving development in the SCA Domain/Node
-
-- Update NOTICE files with missing dependencies
-
-
-Changes With Apache Tuscany SCA 1.0 (incubating) September 2007
-===============================================================
-
-- Tuscany Java SCA now implements V1.0 of the core SCA
- specifications
- SCA Assembly Model V1.0
- SCA Java Common Annotations and APIs V1.0
- SCA Java Component Implementation V1.0
- SCA Web Services Binding V1.0
- Including callbacks, conversations and callable references
-
-
-- Support for ws-security configurable in the web services binding
- thro Tuscany SCA policy intents and policysets using the policy framework
- introduced in the last release.
-
- Note : This release supports specifications of policies around axis2
- config params - see helloworld-ws-service-secure sample. The policy
- intents that have been tested are authentication, integrity and
- confidentiality.
- There is no sample or test that exercises confidentiality since there
- are some unresolved licensing issue around bouncycastle libraries.
- However, users who are not encumbered by the bouncycastle license
- restrictions can try the 'confidentiality' intent. See FAQ -
- http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html
-
- This release does not include support for WS-Policy
- attachments in Tuscany Policysets for ws-security.
-
-
-- An XQuery component implementation type
- implementation-xquery
-
-
-- A Databinding for converting data to and from nodes for XQuery
- processing
- databinding-saxon
-
-
-- OSGI support has been extended to allow Tuscany contributions
- packaged as OSGI bundles hence taking advantage of OSGI's bundle
- loading an dependency management capabilities
-
-
-- A BPEL component implementation type experimental implementation
-based on SCA BPEL Client and Implementation V1.0. At the moment only
-supports BPEL process as services.
- implementation-bpel
-
-
-- The distributed runtime implementation has been separated out
- into
- *) domain
- *) node
- It is now wrapped by a SCADomain interface as is the standalone
- runtime.
-
- Note: This release does not include support for WebApp host deployment
- for a distributed SCA Domain
-
-
-
-- The web service binding will now generate WSDL automatically
- based on the service interface if no WSDL is provided
-
-
-- A new "store" sample and associated document show how a
- simple store front application can be constructed
- samples/store
-
-- The following features of this release are still experimental:
- - BPEL implementation type, integrating with Apache ODE
- - OSGI implementation type, integrating with Apache Felix
- - XQuery implementation type
-
-
-
-Changes With Apache Tuscany SCA 0.99 (incubating) August 2007
-=============================================================
-
-The following are the significant additions to release 0.99
-over and above all of what was offered in release 0.91.
-
-- A version of the default sca binding that works between
- components runing in separate Java virtual machines
- binding-sca-axis
-
-- A simple node implementation and a service discovery
- function for running sca applications distributed
- across more than one node
- distributed
- distributed-impl
-
-- integration with OSGi runtimes is now supported with
- a new implementation-osgi component type
-
-- PUB/SUB interactions are now supported by using new
- notification binding and implementation types, and
- samples demonstrating the feature.
-
-- The Tuscany runtime now has a policy framework supporting
- the SCA policy specification
-
-- the endpoint URIs used by SCA bindings has been rationalized
- and now follows the SCA Assembly specification
-
-- binding-ajax has been renamed to binding-dwr
-
-Changes With Apache Tuscany SCA 0.91 (incubating) July 2007
-===========================================================
-
-The following are the significant additions to release 0.91
-over and above all of what was offered in release 0.90.
-
-
-- Enhancements to support multiple contributions to the SCA Domain
-
-- The inclusion of a alternative simplified extensions-helper
-SPI layer to faciliate rapid development of extensions
-
-- More Implementation Extenstions
- Spring
- WebResource
-
-- More Binding Extensions
- AJAX
- EJB
- RSS/ATOM Feeds
-
-- Demos that demonstrate the use of a mix of extensions
- alert-aggregator-webapp
- bigbank-account
- bigbank-calculator
- bigbank-stockquote
-
-
-- Samples
- Samples to demostrate use of Spring, Resource, AJAX extensions
-
-Changes With Apache Tuscany SCA 0.90 (incubating) June 2007
-===========================================================
-
-- Implementations for all of the Java Annotations and API Specification V1.0 found at
- (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications)
- apart from the following.
- @ComponentName
- Conversation
- RequestContext
-
-- New assembly model implementation taking into account SCA 1.0 artifacts
- Data duplication between assembly model and runtime removed
-
-- Simple single process domain support
- Contribution support to scope items being deployed into the runtime
-
-- Improved Package/Class naming consistency across modules
-
-- Extensions now loaded via Java service mechanism
- Refactored extensions to use new SPIs (see below)
-
-- Maven and Ant based sample builds in the binary distribution
-
-- Implementation Extensions
- Java
- Script supporting (Ruby, Python, Groovy, JavaScript)
-
-- Binding Extensions
- Axis2
- RMI
- JSONRPC
-
--Databinding Extensions
- Axiom
- JAXB
- SDO
-
-- Host environments
- Embedded
- Tomcat
- Jetty
- RMI
-
-- A clear set of SPIs intended to be stable over future releases
- SCA assembly model
- org.apache.tuscany.sca.assembly
- org.apache.tuscany.sca.interfacedef
- org.apache.tuscany.sca.interfacedef.java
- org.apache.tuscany.sca.interfacedef.wsdl
- org.apache.tuscany.sca.policy
-
- SCA contribution model
- org.apache.tuscany.sca.contribution
-
- Runtime extensions
- org.apache.tuscany.sca.core
- org.apache.tuscany.sca.invocation
- org.apache.tuscany.sca.provider
- org.apache.tuscany.sca.runtime
- org.apache.tuscany.sca.work
-
- Data binding support
- org.apache.tuscany.sca.databinding
-
- Embedding Tuscany
- org.apache.tuscany.sca.host.embedded
-
- Servlet container integration
- org.apache.tuscany.sca.http
-
-- For this point release a partial set of JavaDoc is provided to
- be filled out as we close on release 1.0
diff --git a/branches/sca-equinox/distribution/src/main/release/README b/branches/sca-equinox/distribution/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/branches/sca-equinox/distribution/src/main/release/RELEASE_NOTES b/branches/sca-equinox/distribution/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/branches/sca-equinox/distribution/src/main/release/bin/INSTALL b/branches/sca-equinox/distribution/src/main/release/bin/INSTALL deleted file mode 100644 index 44b3ff6444..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/bin/INSTALL +++ /dev/null @@ -1,26 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/branches/sca-equinox/distribution/src/main/release/bin/LICENSE b/branches/sca-equinox/distribution/src/main/release/bin/LICENSE deleted file mode 100644 index 0e45614819..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2396 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -=============================================================================== - -APACHE TUSCANY SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - derby-10.3.1.4.jar - geronimo-activation_1.1_spec-1.1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.3.jar - org.apache.felix.framework-1.0.4.jar - org.apache.felix.main-1.0.4.jar - org.apache.felix.shell-1.0.1.jar - org.apache.felix.shell.tui-1.0.1.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.8.jar - spring-context-2.0.8.jar - spring-core-2.0.8.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.1-incubating.jar - tuscany-sdo-impl-1.1-incubating.jar - tuscany-sdo-lib-1.1-incubating.jar - tuscany-sdo-tools-1.1-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. Redistributions in binary form must reproduce the - above copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT -NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. Redistributions in binary form must reproduce the - above copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT - NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - THE CODEHAUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - - - Neither the name of the Jython Developers nor the names of - its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.7.jar, -jaxb-xjc-2.1.7.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1.jar, -mail-1.4.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-3.0.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact <request_AT_jdom_DOT_org>. - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management <request_AT_jdom_DOT_org>. - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter <jhunter_AT_jdom_DOT_org> and - Brett McLaughlin <brett_AT_jdom_DOT_org>. For more information - on the JDOM Project, please see <http://www.jdom.org/>. - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the Dojo Foundation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of the Sun Microsystems, Inc. nor the names of - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of the Sun Microsystems, Inc. nor the names of - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - -The asm-all-3.1.jar: - -Copyright (c) 2000-2005 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -================================================================================ - - diff --git a/branches/sca-equinox/distribution/src/main/release/bin/NOTICE b/branches/sca-equinox/distribution/src/main/release/bin/NOTICE deleted file mode 100644 index 0325a840ac..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/bin/NOTICE +++ /dev/null @@ -1,99 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes/uses ASM (http://asm.objectweb.org) - Copyright (c) 2000-2005 INRIA, France Telecom - All rights reserved. - diff --git a/branches/sca-equinox/distribution/src/main/release/src/BUILDING b/branches/sca-equinox/distribution/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/branches/sca-equinox/distribution/src/main/release/src/LICENSE b/branches/sca-equinox/distribution/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -=============================================================================================================== - -Apache Tuscany SCA for Java Subcomponents -=========================================: - -The Tuscany SCA for Java release includes a number of subcomponents with -separate copyright notices and license terms. Your use of the source -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The module implementation-script temporarily includes one file under the following BSD license: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of the Sun Microsystems, Inc. nor the names of - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/branches/sca-equinox/distribution/src/main/release/src/NOTICE b/branches/sca-equinox/distribution/src/main/release/src/NOTICE deleted file mode 100644 index a37f9b03f5..0000000000 --- a/branches/sca-equinox/distribution/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product also includes software under the BSD license -(see the LICENSE file contained in this distribution), with -the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/branches/sca-equinox/distribution/src/main/xsl/srcbuild_paths.xsl b/branches/sca-equinox/distribution/src/main/xsl/srcbuild_paths.xsl deleted file mode 100644 index ab7a40b94a..0000000000 --- a/branches/sca-equinox/distribution/src/main/xsl/srcbuild_paths.xsl +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.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. ---> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" - xmlns:xalan="http://xml.apache.org/xslt"> - - <xsl:output method="xml" indent="yes" xalan:indent-amount="4"/> - <xsl:strip-space elements="*"/> - - <!-- copy attributes from any node --> - <xsl:template match="@*" mode="attribute_copy"> - <xsl:attribute name="{name(.)}"> - <xsl:value-of select="."/> - </xsl:attribute> - </xsl:template> - - <xsl:template match="path"> - <project name="source-build-paths"> - <property> - <xsl:attribute name="file">${user.home}/.m2/maven.properties</xsl:attribute> - </property> - <property name="maven.repo.local"> - <xsl:attribute name="value">${user.home}/.m2/repository</xsl:attribute> - </property> - <path id="srcbuild.classpath.path"> - <xsl:copy-of select="*"/> - </path> - <property name="srcbuild.classpath" refid="srcbuild.classpath.path"/> - <property name="tuscany.lib.dir"> - <xsl:attribute name="location">${user.home}/.m2/repository</xsl:attribute> - </property> - - </project> - </xsl:template> - - <xsl:template match="echo"> - </xsl:template> - -</xsl:stylesheet> diff --git a/branches/sca-equinox/distribution/standalone/pom.xml b/branches/sca-equinox/distribution/standalone/pom.xml deleted file mode 100644 index 1cea366020..0000000000 --- a/branches/sca-equinox/distribution/standalone/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <name>Apache Tuscany SCA Standalone Runtime</name> - <artifactId>tuscany-standalone</artifactId> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-runtime-standalone</artifactId> - <version>${pom.version}</version> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/java</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <finalName>tuscany-sca</finalName> - <archive> - <manifest> - <mainClass>org.apache.tuscany.sca.runtime.standalone.StandaloneLauncher</mainClass> - <addClasspath>false</addClasspath> - </manifest> - <manifestEntries> - <!-- Add an entry for the renamed bundle jar in the distro --> - <Class-Path>tuscany-standalone-${pom.version}.jar</Class-Path> - </manifestEntries> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/distribution/standalone/src/test/resources/repo/tuscany.properties b/branches/sca-equinox/distribution/standalone/src/test/resources/repo/tuscany.properties deleted file mode 100644 index a0d83168f7..0000000000 --- a/branches/sca-equinox/distribution/standalone/src/test/resources/repo/tuscany.properties +++ /dev/null @@ -1,21 +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. -# -nodeName=http://localhost:8080/myNode/ -#domainName=http://localhost:8777/tuscany/foo/ -#startManager=true -#hotDeployInterval=10000 -#useHotUpdate=true diff --git a/branches/sca-equinox/distribution/tomcat/pom.xml b/branches/sca-equinox/distribution/tomcat/pom.xml deleted file mode 100644 index 50259c299e..0000000000 --- a/branches/sca-equinox/distribution/tomcat/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <name>Apache Tuscany SCA WebApp Runtime</name> - <artifactId>tuscany-tomcat-overlay</artifactId> - <packaging>pom</packaging> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-runtime-tomcat</artifactId> - <version>${pom.version}</version> - </dependency> - </dependencies> - - <build> - - <resources> - <resource> - <directory>src/main/java</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>src/main/assembly/bin.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <finalName>apache-tuscany-tomcat-overlay-${pom.version}</finalName> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - - </build> - -</project> diff --git a/branches/sca-equinox/distribution/tomcat/src/main/assembly/bin.xml b/branches/sca-equinox/distribution/tomcat/src/main/assembly/bin.xml deleted file mode 100644 index c66b086e27..0000000000 --- a/branches/sca-equinox/distribution/tomcat/src/main/assembly/bin.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<assembly> - <!-- id typically identifies the "type" (src vs bin etc) of the assembly --> - <id>bin</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>dir</format> - <format>tar.gz</format> - <format>zip</format> - </formats> - - <fileSets> - <!-- Add the text files to the top-level directroy --> - <!-- commented out till we distribute fileSet> - <directory>src/main/release</directory> - <outputDirectory>/</outputDirectory> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </fileSet --> - - <!-- Add the repository and properties file --> - <fileSet> - <directory>src/main/resources/sca-contributions</directory> - <outputDirectory>/sca-contributions</outputDirectory> - <includes> - <include>tuscany.properties</include> - </includes> - </fileSet> - </fileSets> - - <dependencySets> - <!-- Add all the dependent jars to the lib directory --> - <dependencySet> - <outputDirectory>/lib</outputDirectory> - <unpack>false</unpack> - <scope>runtime</scope> - </dependencySet> - - </dependencySets> - -</assembly> diff --git a/branches/sca-equinox/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties b/branches/sca-equinox/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties deleted file mode 100644 index 6e2ca20deb..0000000000 --- a/branches/sca-equinox/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties +++ /dev/null @@ -1,19 +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. -# -#nodeName=http://localhost:8080/tuscany/ -#domainName=http://localhost:8877 -hotDeployInterval=10000 diff --git a/branches/sca-equinox/distribution/war/pom.xml b/branches/sca-equinox/distribution/war/pom.xml deleted file mode 100644 index 4d280b2f26..0000000000 --- a/branches/sca-equinox/distribution/war/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <name>Apache Tuscany SCA WAR Distribution</name> - <artifactId>tuscany-war</artifactId> - <packaging>pom</packaging> - - <dependencies> - - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-runtime-war</artifactId> - <version>${pom.version}</version> - - <!-- exclude common unwanted jars, - NOTE: most should be excluded in the module where they're dragged in --> - <exclusions> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - <exclusion> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - </exclusion> - <exclusion> - <groupId>avalon-framework</groupId> - <artifactId>avalon-framework</artifactId> - </exclusion> - </exclusions> - </dependency> - - </dependencies> - - <build> - <defaultGoal>package</defaultGoal> - - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>distribution-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>war.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <finalName>tuscany</finalName> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> - - </build> - -</project> diff --git a/branches/sca-equinox/distribution/war/src/main/release/LICENSE b/branches/sca-equinox/distribution/war/src/main/release/LICENSE deleted file mode 100644 index 815617a23b..0000000000 --- a/branches/sca-equinox/distribution/war/src/main/release/LICENSE +++ /dev/null @@ -1,2296 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -=============================================================================== - -APACHE TUSCANY SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 2.0 - - activeio-2.0-r118.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.10.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-adb-codegen-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta1.jar - catalina-6.0.10.jar - cglib-nodep-2.1_3.jar - common-2.2.2.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - commons-primitives-1.0.jar - coyote-6.0.10.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jetty-6.1.3.jar - jetty-util-6.1.3.jar - json-rpc-1.0.jar - juli-6.0.10.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - maven-artifact-2.0.2.jar - maven-artifact-manager-2.0.2.jar - maven-error-diagnostics-2.0.2.jar - maven-model-2.0.2.jar - maven-profile-2.0.2.jar - maven-project-2.0.2.jar - maven-repository-metadata-2.0.2.jar - maven-settings-2.0.2.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - opensaml-1.1.jar - org.apache.felix.bundlerepository-1.0.0.jar - org.apache.felix.framework-1.0.0.jar - org.apache.felix.main-1.0.0.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - plexus-container-default-1.0-alpha-9.jar - plexus-utils-1.1.jar - rampart-1.3.mar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - stax-api-1.0.2.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - wagon-file-1.0-alpha-7.jar - wagon-http-lightweight-1.0-alpha-6.jar - wagon-provider-api-1.0-alpha-6.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xmlbeans-2.3.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== - -jaxen-1.1-beta-9.jar: - - Copyright 2003-2006 The Werken Company. All Rights Reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the Jaxen Project nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY -WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R6.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy: - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. Redistributions in binary form must reproduce the - above copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT - NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - THE CODEHAUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - - */ - -=============================================================================== - -Jython: - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the distribution. - - - Neither the name of the Jython Developers nor the names of - its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; activation, jaxb-api, jaxb-impl, jaxb-xjc, jsr181-api, -jsr250-api, jaxws-api, mail, saaj-api, servlet-api-2.5.jar: - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby, wsdl4j: - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact <request_AT_jdom_DOT_org>. - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management <request_AT_jdom_DOT_org>. - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter <jhunter_AT_jdom_DOT_org> and - Brett McLaughlin <brett_AT_jdom_DOT_org>. For more information - on the JDOM Project, please see <http://www.jdom.org/>. - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -========================================================================== - -dojotoolkit : - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the Dojo Foundation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of the Sun Microsystems, Inc. nor the names of - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -================================================================================ - -The serp jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of the Sun Microsystems, Inc. nor the names of - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -================================================================================ -The axion, javacc, and howl are distributed under the BSD license: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/branches/sca-equinox/distribution/war/src/main/release/NOTICE b/branches/sca-equinox/distribution/war/src/main/release/NOTICE deleted file mode 100644 index c34934e5cd..0000000000 --- a/branches/sca-equinox/distribution/war/src/main/release/NOTICE +++ /dev/null @@ -1,98 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2008 The Apache Software Foundation - -========================================================================= -== NOTICE file corresponding to the section 4 d of == -== the Apache License, Version 2.0, == -== in this case for the Apache Tuscany distribution. == -========================================================================= - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Jaxen XPATH engine (http://jaxen.org/) - Copyright 2003-2006 The Werken Company. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product also includes software developed by: -- the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) -- the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -This product also includes software under the OSOA license -(see the LICENSE file contained in this distribution), with -the following copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -Please see the LICENSE file present in the root directory of this -distribution. - - diff --git a/branches/sca-equinox/distribution/war/src/main/release/README b/branches/sca-equinox/distribution/war/src/main/release/README deleted file mode 100644 index 7c5ba2db37..0000000000 --- a/branches/sca-equinox/distribution/war/src/main/release/README +++ /dev/null @@ -1,12 +0,0 @@ -Apache Tuscany 1.2 WAR Distribution September 2007 README -========================================================= - -Welcome to the Tuscany SCA WAR Distribution see the RELEASE_NOTES -and CHANGES files for information specific to this release. - - - - - - - diff --git a/branches/sca-equinox/distribution/war/src/main/webapp/web.xml b/branches/sca-equinox/distribution/war/src/main/webapp/web.xml deleted file mode 100644 index 787ff847b0..0000000000 --- a/branches/sca-equinox/distribution/war/src/main/webapp/web.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> - -<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web -Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> -<web-app> - - <display-name>Apache Tuscany WAR Distribution</display-name> - - <listener> - <listener-class>org.apache.tuscany.sca.runtime.war.WarContextListener</listener-class> - </listener> - - <!-- Uncomment this to use a repository outside of the webapp - <context-param> - <param-name>repositoryFolder</param-name> - <param-value>/sca-contributions</param-value> - </context-param> - --> - - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - </filter> - - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - -</web-app> diff --git a/branches/sca-equinox/distribution/war/war.xml b/branches/sca-equinox/distribution/war/war.xml deleted file mode 100644 index 8fb1044714..0000000000 --- a/branches/sca-equinox/distribution/war/war.xml +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<assembly> - <!-- id typically identifies the "type" (src vs bin etc) of the assembly --> - <id></id> - - <includeBaseDirectory>false</includeBaseDirectory> - - <formats> - <format>war</format> - </formats> - - <fileSets> - - <!-- Add the text files to the top-level directroy --> - <fileSet> - <directory>src/main/release</directory> - <outputDirectory></outputDirectory> - <includes> - <include>*</include> - </includes> - </fileSet> - - <!-- Add the web.xml file --> - <fileSet> - <directory>src/main/webapp</directory> - <outputDirectory>WEB-INF/</outputDirectory> - <includes> - <include>*</include> - </includes> - </fileSet> - - <!-- Add samples --> - <fileSet> - <directory>../../samples/feed-aggregator/target</directory> - <outputDirectory>repository/</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - </fileSet> - <fileSet> - <directory>../../samples/helloworld-ws-service/target</directory> - <outputDirectory>repository/</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - </fileSet> - - </fileSets> - - <dependencySets> - - <!-- Add all the dependent jars to the lib directory --> - <dependencySet> - <outputDirectory>WEB-INF/lib</outputDirectory> - <unpack>false</unpack> - <excludes> - <exclude>org.apache.tuscany.sca:sample-*</exclude> - </excludes> - <scope>runtime</scope> - </dependencySet> - - </dependencySets> - -</assembly> diff --git a/branches/sca-equinox/distribution/webapp/pom.xml b/branches/sca-equinox/distribution/webapp/pom.xml deleted file mode 100644 index 695eba74c8..0000000000 --- a/branches/sca-equinox/distribution/webapp/pom.xml +++ /dev/null @@ -1,350 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <name>Apache Tuscany SCA WebApp Runtime</name> - <artifactId>tuscany-webapp</artifactId> - <packaging>war</packaging> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-dwr</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ejb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-feed</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-http</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jsonrpc</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-notification</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-axis2</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - </exclusion> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-namespace</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-spring</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-jaxb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-definitions</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-definitions-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-domain</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-domain-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-domain-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-extension-helper</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-webapp</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-notification</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-resource</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-script</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-spring</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-node-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.3</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>1.1</version> - </dependency> - </dependencies> - - <build> - <finalName>tuscany</finalName> - </build> -</project> diff --git a/branches/sca-equinox/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java b/branches/sca-equinox/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java deleted file mode 100644 index 9a0c66a776..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.webapp; - -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Iterator; -import java.util.List; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileItemFactory; -import org.apache.commons.fileupload.FileUploadException; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.commons.fileupload.servlet.ServletFileUpload; - -import org.apache.tuscany.sca.host.webapp.HotUpdateContextListener; - -/** - * A Servlet to upload a contribution file. - */ -public class ContributionUploaderServlet extends HttpServlet { - - private static final long serialVersionUID = System.currentTimeMillis(); - - private File repository; - - @Override - public void init(ServletConfig config) throws ServletException { - ServletContext servletContext = config.getServletContext(); - repository = new File(servletContext.getRealPath(HotUpdateContextListener.REPOSITORY_FOLDER_NAME)); - } - - @Override - public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { - // Check that we have a file upload request - boolean isMultipart = ServletFileUpload.isMultipartContent(request); - if (!isMultipart) { - throw new RuntimeException("Need multipart content"); - } - - // Create a factory for disk-based file items - FileItemFactory factory = new DiskFileItemFactory(); - - // Create a new file upload handler - ServletFileUpload upload = new ServletFileUpload(factory); - - try { - // Parse the request - List /* FileItem */ items = upload.parseRequest(request); - // Process the uploaded items - Iterator iter = items.iterator(); - while (iter.hasNext()) { - FileItem item = (FileItem) iter.next(); - - if (!item.isFormField()) { - String fileName = item.getName(); - int index = fileName.lastIndexOf("\\") + 1; - String uploadedFileName = repository.getAbsolutePath() + "/" + fileName.substring(index); - File uploadedFile = new File(uploadedFileName); - item.write(uploadedFile); - } - } - } - catch(FileUploadException e) { - throw new RuntimeException(e); - } - catch(Throwable e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - - setResponse(response, request); - } - - private void setResponse(HttpServletResponse response, HttpServletRequest request) throws IOException { - response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - out.println("<html>"); - out.println("<head>"); - out.println("<title>Apache Tuscany WebApp Runtime</title>"); - out.println("</head>"); - out.println("<body>"); - out.println("<h2>Composite file uploaded</h2>"); - int port = request.getServerPort(); - String portSubStr = ((port == -1) ? "" : (":" + request.getServerPort())); - String backPath = request.getScheme() + "://" + request.getServerName() + portSubStr + request.getContextPath(); - out.println("Go <a href=\"" + backPath + "\">back</a>"); - out.println("</body>"); - out.println("</html>"); - } -} diff --git a/branches/sca-equinox/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java b/branches/sca-equinox/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java deleted file mode 100644 index e46cadfa3d..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.webapp; - -import java.io.File; -import java.io.FilenameFilter; -import java.net.MalformedURLException; -import java.net.URISyntaxException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -import org.apache.tuscany.sca.domain.SCADomain; -import org.apache.tuscany.sca.node.NodeException; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.SCANodeFactory; - -/** - * A ServletContextListener for the Tuscany WAR distribution. - * - * Starts and stops a Tuscany SCA domain Node for the webapp. - */ -public class WarContextListener implements ServletContextListener { - private final static Logger logger = Logger.getLogger(WarContextListener.class.getName()); - - protected SCANode node; - protected SCADomain domain; - protected AddableURLClassLoader classLoader; - protected File repository; - - protected boolean useHotUpdate; - protected long hotDeployInterval = 2000; // 2 seconds, 0 = no hot deploy - protected Thread hotDeployThread; - protected boolean stopHotDeployThread; - - protected HashMap<URL, Long> existingContributions; // value is last modified time - - private String domainName; - private String nodeName; - - protected static final String NODE_ATTRIBUTE = WarContextListener.class.getName() + ".TuscanyNode"; - protected static final String REPOSITORY_FOLDER_NAME = "sca-contributions"; - - public void contextInitialized(ServletContextEvent event) { - ServletContext servletContext = event.getServletContext(); - initParameters(servletContext); - try { - - initNode(); - - } catch (Throwable e) { - e.printStackTrace(); - servletContext.log("exception initializing SCA node", e); - } - } - - public void contextDestroyed(ServletContextEvent event) { - if (node != null) { - stopNode(); - } - } - - protected void stopNode() { - try { - - node.stop(); - logger.log(Level.INFO, "SCA node stopped"); - - } catch (Throwable e) { - e.printStackTrace(); - logger.log(Level.SEVERE, "exception stopping SCA Node", e); - } - } - - protected void initNode() throws NodeException, URISyntaxException { - logger.log(Level.INFO, "SCA node starting"); - - classLoader = new AddableURLClassLoader(new URL[] {}, Thread.currentThread().getContextClassLoader()); - Thread.currentThread().setContextClassLoader(classLoader); - - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - node = nodeFactory.createSCANode(nodeName, domainName); - domain = node.getDomain(); - - existingContributions = new HashMap<URL, Long>(); - URL[] contributions = getContributionJarURLs(repository); - for (URL contribution : contributions) { - addContribution(contribution); - } - - node.start(); - - initHotDeploy(repository); - } - - protected void addContribution(URL contribution) throws URISyntaxException, NodeException { - classLoader.addURL(contribution); - node.addContribution(contribution.toString(), contribution); - existingContributions.put(contribution, new Long(new File(contribution.toURI()).lastModified())); - logger.log(Level.INFO, "Added contribution: " + contribution); - } - - protected URL[] getContributionJarURLs(File repositoryDir) { - - String[] jarNames = repositoryDir.list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".jar"); - }}); - - List<URL> contributionJars = new ArrayList<URL>(); - if (jarNames != null) { - for (String jar : jarNames) { - try { - contributionJars.add(new File(repositoryDir, jar).toURL()); - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } - } - } - - return contributionJars.toArray(new URL[contributionJars.size()]); - } - - private void initHotDeploy(final File repository) { - - if (hotDeployInterval == 0) { - return; // hotUpdateInterval of 0 disables hotupdate - } - - Runnable runable = new Runnable() { - - public void run() { - logger.info("Contribution hot deploy activated"); - while (!stopHotDeployThread) { - try { - Thread.sleep(hotDeployInterval); - } catch (InterruptedException e) { - } - if (!stopHotDeployThread) { - checkForUpdates(repository); - } - } - logger.info("Tuscany contribution hot deploy stopped"); - } - }; - hotDeployThread = new Thread(runable, "TuscanyHotDeploy"); - stopHotDeployThread = false; - hotDeployThread.start(); - } - - protected void checkForUpdates(File repository) { - URL[] currentContributions = getContributionJarURLs(repository); - - List<URL> addedContributions = getAddedContributions(currentContributions); - for (URL contribution : addedContributions) { - try { - addContribution(contribution); - // node.startContribution(contribution.toString()); - } catch (Throwable e) { - e.printStackTrace(); - logger.log(Level.WARNING, "Exception adding contribution: " + e); - } - } - if (addedContributions.size() > 0) { - try { - node.start(); - } catch (NodeException e) { - e.printStackTrace(); - logger.log(Level.WARNING, "Exception restarting node for added contributions: " + e); - } - } - - if (useHotUpdate && areContributionsAltered(currentContributions)) { - stopNode(); - try { - initNode(); - } catch (Throwable e) { - e.printStackTrace(); - logger.log(Level.SEVERE, "exception starting SCA Node", e); - } - } - } - - protected List<URL> getAddedContributions(URL[] currentContrabutions) { - List<URL> urls = new ArrayList<URL>(); - for (URL url : currentContrabutions) { - if (!existingContributions.containsKey(url)) { - urls.add(url); - } - } - return urls; - } - - protected boolean areContributionsAltered(URL[] currentContrabutions) { - try { - - List removedContributions = getRemovedContributions(currentContrabutions); - List updatedContributions = getUpdatedContributions(currentContrabutions); - - return (removedContributions.size() > 0 || updatedContributions.size() > 0); - - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - } - - protected List<URL> getUpdatedContributions(URL[] currentContrabutions) throws URISyntaxException { - List<URL> urls = new ArrayList<URL>(); - for (URL url : currentContrabutions) { - if (existingContributions.containsKey(url)) { - File curentFile = new File(url.toURI()); - if (curentFile.lastModified() != existingContributions.get(url)) { - urls.add(url); - logger.info("updated contribution: " + curentFile.getName()); - } - } - } - return urls; - } - - protected List getRemovedContributions(URL[] currentContrabutions) throws URISyntaxException { - List<URL> currentUrls = Arrays.asList(currentContrabutions); - List<URL> urls = new ArrayList<URL>(); - for (URL url : existingContributions.keySet()) { - if (!currentUrls.contains(url)) { - urls.add(url); - } - } - for (URL url : urls) { - logger.info("removed contributions: " + new File(url.toURI()).getName()); - } - return urls; - } - - protected void initParameters(ServletContext servletContext) { - if (servletContext.getInitParameter("domainName") != null) { - domainName = servletContext.getInitParameter("domainName"); - } else { - domainName = null; - } - - if (servletContext.getInitParameter("nodeName") != null) { - nodeName = servletContext.getInitParameter("nodeName"); - } else { - nodeName = "DefaultNode"; - } - - if (servletContext.getInitParameter("hotDeployInterval") != null) { - hotDeployInterval = Long.parseLong(servletContext.getInitParameter("hotDeployInterval")); - } - - useHotUpdate = Boolean.valueOf(servletContext.getInitParameter("hotUpdate")).booleanValue(); - - if (servletContext.getInitParameter("repositoryFolder") != null) { - repository = new File(servletContext.getInitParameter("repositoryFolder")); - } else { - repository = new File(servletContext.getRealPath(REPOSITORY_FOLDER_NAME)); - } - logger.info("Tuscany Contribution Repository -> " + repository); - } - -} - -class AddableURLClassLoader extends URLClassLoader { - - public AddableURLClassLoader(URL[] urls, ClassLoader parent) { - super(urls, parent); - } - - /** - * Make URLClassLoader addURL public - */ - @Override - public void addURL(URL url) { - super.addURL(url); - } - -} diff --git a/branches/sca-equinox/distribution/webapp/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/distribution/webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 8e65a9b96d..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> - -<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web -Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> -<web-app> - - <display-name>Apache Tuscany WebApp Runtime</display-name> - - <listener> - <listener-class>org.apache.tuscany.sca.webapp.WarContextListener</listener-class> - </listener> - - <context-param> - <param-name>repositoryFolder</param-name> - <param-value>/TuscanyRepository</param-value> - </context-param> - - <!-- context-param> - <param-name>domainName</param-name> - <param-value>http://localhost:8877/</param-value> - </context-param --> - - <context-param> - <param-name>nodeName</param-name> - <param-value>http://localhost:8080/</param-value> - </context-param> - - <context-param> - <param-name>hotDeployInterval</param-name> - <param-value>2000</param-value> - </context-param> - - <context-param> - <param-name>hotUpdate</param-name> - <param-value>no</param-value> - </context-param> - - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - </filter> - - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - -</web-app> diff --git a/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp b/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp deleted file mode 100644 index 4efe4b5db3..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp +++ /dev/null @@ -1 +0,0 @@ -File just to get the sca-contributions folder included in webapp
\ No newline at end of file diff --git a/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar b/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar Binary files differdeleted file mode 100644 index 0df7ab8d74..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar +++ /dev/null diff --git a/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar b/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar Binary files differdeleted file mode 100644 index acf47451b3..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar +++ /dev/null diff --git a/branches/sca-equinox/distribution/webapp/src/main/webapp/scaDomainInfo.jsp b/branches/sca-equinox/distribution/webapp/src/main/webapp/scaDomainInfo.jsp deleted file mode 100644 index c92c164cfb..0000000000 --- a/branches/sca-equinox/distribution/webapp/src/main/webapp/scaDomainInfo.jsp +++ /dev/null @@ -1,74 +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. ---%> - -<%@ page import="org.apache.tuscany.sca.host.embedded.SCADomain"%> -<%@ page import="org.apache.tuscany.sca.host.embedded.management.ComponentManager"%> -<%@ page import="org.apache.tuscany.sca.assembly.ComponentService"%> -<%@ page import="org.apache.tuscany.sca.assembly.Binding"%> - -<%@ page contentType="text/html;charset=UTF-8" language="java" %> -<% - SCADomain scaDomain = (SCADomain) application.getAttribute("org.apache.tuscany.sca.SCADomain"); - ComponentManager componentManager = scaDomain.getComponentManager(); -%> -<html> -<head><title>Apache Tuscany WebApp Runtime</title></head> - -<body> -Apache Tuscany WebApp Runtime -<br> -Components in SCA Domain: - <% - java.util.Iterator i = componentManager.getComponentNames().iterator(); - while (i.hasNext()) { - String compName = i.next().toString(); - - %><br><%=compName%><br><% - - org.apache.tuscany.sca.assembly.Component comp = componentManager.getComponent(compName); - java.util.Iterator j = comp.getServices().iterator(); - while (j.hasNext()) { - ComponentService compService = (ComponentService)j.next(); - - %><%=" - Service: " + compService.getName()%><br><% - - java.util.Iterator k = compService.getBindings().iterator(); - while (k.hasNext()) { - Binding b = (Binding)k.next(); - String bindingType = b.getClass().getName(); - - %><%="-- Binding: " + b.getName() + "(" + bindingType.substring(bindingType.lastIndexOf('.')+1) + ") URI: " + b.getURI()%><br><% - } - } - } - %> -<br> - -<hr> -You can fill in a composite file to upload - -<form method='POST' enctype='multipart/form-data' action='/tuscany/ContributionUploader'> -Composite file to upload: <input type=file name=upfile><br> -<br> -<input type=submit value=Press> to upload the composite file -</form> - -</body> -</html> - diff --git a/branches/sca-equinox/modules/api/LICENSE b/branches/sca-equinox/modules/api/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/api/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/api/META-INF/README b/branches/sca-equinox/modules/api/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/api/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/api/NOTICE b/branches/sca-equinox/modules/api/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/api/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/api/pom.xml b/branches/sca-equinox/modules/api/pom.xml deleted file mode 100644 index fa996acf11..0000000000 --- a/branches/sca-equinox/modules/api/pom.xml +++ /dev/null @@ -1,304 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-api</artifactId>
- <name>Apache Tuscany SCA API</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-definitions</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-definitions-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-databinding</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xsd</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- </resources>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
-
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <shadedGroupFilter>org.apache.tuscany.sca</shadedGroupFilter>
-
- <shadedArtifactAttached>false</shadedArtifactAttached>
- <createSourcesJar>${createSourcesJar}</createSourcesJar>
- <promoteTransitiveDependencies>false</promoteTransitiveDependencies>
- <createDependencyReducedPom>true</createDependencyReducedPom>
-
- <!-- artifactSet>
- <includes>
- <include>org.apache.tuscany.sca:sca-api</include>
- </includes>
- <excludes>
- <exclude>org.apache.tuscany.sca:extensibility</exclude>
- </excludes>
- </artifactSet -->
-
- <filters>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-host-embedded</artifact>
- <excludes>
- <exclude>org/apache/tuscany/sca/host/embedded/impl/**</exclude>
- </excludes>
- </filter>
- <filter>
- <artifact>${project.groupId}:${project.artifactId}</artifact>
-
- <excludes>
- <exclude>org/**</exclude>
- </excludes>
- </filter>
- </filters>
-
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/assembly-java-dsl/LICENSE b/branches/sca-equinox/modules/assembly-java-dsl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/assembly-java-dsl/META-INF/README b/branches/sca-equinox/modules/assembly-java-dsl/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/assembly-java-dsl/NOTICE b/branches/sca-equinox/modules/assembly-java-dsl/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/assembly-java-dsl/pom.xml b/branches/sca-equinox/modules/assembly-java-dsl/pom.xml deleted file mode 100644 index 24c6db84b2..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-assembly-java-dsl</artifactId> - <name>Apache Tuscany SCA Assembly Model Java DSL</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.assembly.java.dsl</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.assembly.java.dsl*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> -</project> diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java deleted file mode 100644 index 28a5ecdc24..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - - -public interface AssemblyBuilder { - - CompositeBuilder composite(String name); - - ComponentBuilder component(String name); - - ComponentReferenceBuilder reference(String name); - - ComponentServiceBuilder service(String name); - - ComponentPropertyBuilder property(String name); - - CompositeBuilder domain(String uri); - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java deleted file mode 100644 index 3d97041907..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface ComponentBuilder { - - ComponentBuilder implementedBy(Class clazz); - - ComponentBuilder implementedBy(CompositeBuilder composite); - - ComponentBuilder uses(ComponentReferenceBuilder... componentReferences); - - ComponentBuilder provides(ComponentServiceBuilder... componentServices); - - ComponentBuilder declares(ComponentPropertyBuilder...componentProperties); - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java deleted file mode 100644 index 7f3c89fd2f..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface ComponentPropertyBuilder { - - ComponentPropertyBuilder ofType(String type); - - ComponentPropertyBuilder configuredTo(Object value); - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java deleted file mode 100644 index 8966a4be9d..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface ComponentReferenceBuilder { - - ComponentReferenceBuilder wiredTo(String target); - - ComponentReferenceBuilder wiredTo(ComponentServiceBuilder target); - - ComponentReferenceBuilder typedBy(Class interfaceClass); - - ComponentReferenceBuilder promotedAs(String promoted); - - ComponentReferenceBuilder promoted(); - - ComponentReferenceBuilder boundTo(String uri); - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java deleted file mode 100644 index f3e36e8c38..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface ComponentServiceBuilder { - - ComponentServiceBuilder typedBy(Class interfaceClass); - - ComponentServiceBuilder promotedAs(String promoted); - - ComponentServiceBuilder promoted(); - - ComponentServiceBuilder boundTo(String uri); - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java deleted file mode 100644 index e2108b5ef8..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.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 org.apache.tuscany.sca.assembly.dsl; - - -public interface CompositeBuilder { - - CompositeBuilder contains(ComponentBuilder... components); - - CompositeBuilder includes(CompositeBuilder... includes); - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java deleted file mode 100644 index 0968310548..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.assembly.dsl.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; -import org.apache.tuscany.sca.assembly.dsl.AssemblyBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentPropertyBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentReferenceBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder; -import org.apache.tuscany.sca.assembly.dsl.CompositeBuilder; - -public class AssemblyBuilderImpl extends DefaultAssemblyFactory implements AssemblyBuilder { - - public ComponentBuilder component(String name) { - ComponentBuilderImpl component = new ComponentBuilderImpl(); - component.setName(name); - return component; - } - - public CompositeBuilder composite(String name) { - CompositeBuilderImpl composite = new CompositeBuilderImpl(); - //TODO handle namespace - composite.setName(new QName("", name)); - return composite; - } - - public CompositeBuilder domain(String uri) { - CompositeBuilderImpl composite = new CompositeBuilderImpl(); - composite.setName(new QName(uri, "")); - return composite; - } - - public ComponentPropertyBuilder property(String name) { - ComponentPropertyBuilderImpl property = new ComponentPropertyBuilderImpl(); - property.setName(name); - return property; - } - - public ComponentReferenceBuilder reference(String name) { - ComponentReferenceBuilderImpl reference = new ComponentReferenceBuilderImpl(this); - reference.setName(name); - return reference; - } - - public ComponentServiceBuilder service(String name) { - ComponentServiceBuilderImpl service = new ComponentServiceBuilderImpl(this); - service.setName(name); - return service; - } - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java deleted file mode 100644 index 9022b9d9e6..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl.impl; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.dsl.ComponentBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentPropertyBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentReferenceBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder; -import org.apache.tuscany.sca.assembly.dsl.CompositeBuilder; -import org.apache.tuscany.sca.assembly.impl.ComponentImpl; - -public class ComponentBuilderImpl extends ComponentImpl implements ComponentBuilder { - - public ComponentBuilderImpl() { - } - - public ComponentBuilder implementedBy(Class clazz) { - //FIXME support Java implementations - return this; - } - - public ComponentBuilder implementedBy(CompositeBuilder composite) { - setImplementation((Composite)composite); - return this; - } - - public ComponentBuilder uses(ComponentReferenceBuilder... componentReferences) { - List<ComponentReference> references = getReferences(); - for (ComponentReferenceBuilder componentReference: componentReferences) { - references.add((ComponentReference)componentReference); - } - return this; - } - - public ComponentBuilder provides(ComponentServiceBuilder... componentServices) { - List<ComponentService> services = getServices(); - for (ComponentServiceBuilder componentService: componentServices) { - services.add((ComponentService)componentService); - } - return this; - } - - public ComponentBuilder declares(ComponentPropertyBuilder...componentProperties) { - List<ComponentProperty> properties = getProperties(); - for (ComponentPropertyBuilder componentProperty: componentProperties) { - properties.add((ComponentProperty)componentProperty); - } - return this; - } - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java deleted file mode 100644 index 49f7cd46b2..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.dsl.ComponentPropertyBuilder; -import org.apache.tuscany.sca.assembly.impl.ComponentPropertyImpl; - -public class ComponentPropertyBuilderImpl extends ComponentPropertyImpl implements ComponentPropertyBuilder { - - public ComponentPropertyBuilderImpl ofType(String type) { - //TODO handle namespace - this.setXSDType(new QName("", type)); - return this; - } - - public ComponentPropertyBuilderImpl configuredTo(Object value) { - this.setValue(value); - return this; - } - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java deleted file mode 100644 index d9aab9de22..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.dsl.ComponentReferenceBuilder; -import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder; -import org.apache.tuscany.sca.assembly.impl.ComponentReferenceImpl; -import org.apache.tuscany.sca.assembly.impl.ComponentServiceImpl; - -public class ComponentReferenceBuilderImpl extends ComponentReferenceImpl implements ComponentReferenceBuilder { - - private CompositeReference compositeReference; - private AssemblyFactory assemblyFactory; - - protected ComponentReferenceBuilderImpl(AssemblyFactory assemblyFactory) { - this.assemblyFactory = assemblyFactory; - } - - public ComponentReferenceBuilder wiredTo(String target) { - ComponentService componentService = assemblyFactory.createComponentService(); - componentService.setUnresolved(true); - componentService.setName(target); - getTargets().add(componentService); - return this; - } - - public ComponentReferenceBuilder wiredTo(ComponentServiceBuilder target) { - getTargets().add((ComponentServiceImpl)target); - return this; - } - - public ComponentReferenceBuilderImpl typedBy(Class interfaceClass) { - //FIXME support for Java interfaces - return this; - } - - public ComponentReferenceBuilderImpl promotedAs(String promoted) { - compositeReference = assemblyFactory.createCompositeReference(); - compositeReference.setName(promoted); - return this; - } - - public ComponentReferenceBuilderImpl promoted() { - compositeReference = assemblyFactory.createCompositeReference(); - compositeReference.setName(getName()); - return this; - } - - public ComponentReferenceBuilder boundTo(String uri) { - //TODO support bindings - return this; - } - - CompositeReference getCompositeReference() { - return compositeReference; - } -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java deleted file mode 100644 index 379429d17e..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.dsl.ComponentServiceBuilder; -import org.apache.tuscany.sca.assembly.impl.ComponentServiceImpl; - -public class ComponentServiceBuilderImpl extends ComponentServiceImpl implements ComponentServiceBuilder { - - private CompositeService compositeService; - private AssemblyFactory assemblyFactory; - - protected ComponentServiceBuilderImpl(AssemblyFactory assemblyFactory) { - this.assemblyFactory = assemblyFactory; - } - - public ComponentServiceBuilderImpl typedBy(Class interfaceClass) { - //FIXME support for Java interfaces - return this; - } - - public ComponentServiceBuilderImpl promotedAs(String promoted) { - compositeService = assemblyFactory.createCompositeService(); - compositeService.setName(promoted); - return this; - } - - public ComponentServiceBuilderImpl promoted() { - compositeService = assemblyFactory.createCompositeService(); - compositeService.setName(getName()); - return this; - } - - public ComponentServiceBuilder boundTo(String uri) { - // TODO support bindings - return this; - } - - CompositeService getCompositeService() { - return compositeService; - } - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java deleted file mode 100644 index 709562cd72..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl.impl; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.dsl.ComponentBuilder; -import org.apache.tuscany.sca.assembly.dsl.CompositeBuilder; -import org.apache.tuscany.sca.assembly.impl.CompositeImpl; - -public class CompositeBuilderImpl extends CompositeImpl implements CompositeBuilder { - - public CompositeBuilder contains(ComponentBuilder... componentBuilders) { - List<Component> components = getComponents(); - for (ComponentBuilder componentBuilder: componentBuilders) { - Component component = (Component)componentBuilder; - components.add(component); - - for (ComponentService componentService: component.getServices()) { - ComponentServiceBuilderImpl builder = (ComponentServiceBuilderImpl)componentService; - if (builder.getCompositeService() != null) - getServices().add(builder.getCompositeService()); - } - for (ComponentReference componentReference: component.getReferences()) { - ComponentReferenceBuilderImpl builder = (ComponentReferenceBuilderImpl)componentReference; - if (builder.getCompositeReference() != null) - getReferences().add(builder.getCompositeReference()); - } - } - return this; - } - - public CompositeBuilder includes(CompositeBuilder... compositeBuilders) { - List<Composite> list = getIncludes(); - for (CompositeBuilder composite: compositeBuilders) { - list.add((Composite)composite); - } - return this; - } - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java deleted file mode 100644 index ba91fd2168..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface AccountDataService { - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java deleted file mode 100644 index 4e239d03d3..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public class AccountDataServiceImpl { - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java deleted file mode 100644 index 030c820ed2..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface AccountService { - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java deleted file mode 100644 index 92f448ec87..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public class AccountServiceImpl { - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java deleted file mode 100644 index b856201551..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.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 org.apache.tuscany.sca.assembly.dsl; - -import org.apache.tuscany.sca.assembly.dsl.impl.AssemblyBuilderImpl; - -public class BigBankBuilder extends AssemblyBuilderImpl { - - public CompositeBuilder build() { - - CompositeBuilder bigbankAccount = composite("bigbank.account").contains( - - component("AccountServiceComponent"). - implementedBy(AccountServiceImpl.class). - uses( - reference("accountDataService").typedBy(AccountDataService.class).wiredTo("AccountDataServiceComponent/AccountDataService"), - reference("stockQuoteService").promotedAs("StockQuoteService") - ). - provides( - service("AccountDataService").typedBy(AccountService.class).promoted() - ). - declares( - property("currency").ofType("string").configuredTo("USD") - ), - - component("AccountDataServiceComponent"). - implementedBy(AccountDataServiceImpl.class). - provides( - service("AccountDataService").typedBy(AccountDataService.class) - ) - ); - - CompositeBuilder bigbankApp = composite("bigbank.app"). - contains( - component("BigBankAccount").implementedBy(bigbankAccount) - ); - - CompositeBuilder domain = domain("http://bigbank.org").includes(bigbankApp); - - return domain; - } -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java deleted file mode 100644 index fb950b5c13..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.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 org.apache.tuscany.sca.assembly.dsl; - -import junit.framework.TestCase; - -public class BigBankBuilderTestCase extends TestCase { - - public void testBuild() throws Exception { - - BigBankBuilder builder = new BigBankBuilder(); - CompositeBuilder domain = builder.build(); - assertNotNull(domain); - } - -} diff --git a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java b/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java deleted file mode 100644 index a0580095a0..0000000000 --- a/branches/sca-equinox/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.dsl; - -public interface StockQuoteService { - -} diff --git a/branches/sca-equinox/modules/binding-dwr/LICENSE b/branches/sca-equinox/modules/binding-dwr/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/binding-dwr/META-INF/README b/branches/sca-equinox/modules/binding-dwr/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/binding-dwr/NOTICE b/branches/sca-equinox/modules/binding-dwr/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/binding-dwr/pom.xml b/branches/sca-equinox/modules/binding-dwr/pom.xml deleted file mode 100644 index dd91356a21..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/pom.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-dwr</artifactId>
- <name>Apache Tuscany SCA AJAX DWR Binding Extension</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extension-helper</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.directwebremoting</groupId>
- <artifactId>dwr</artifactId>
- <version>2.0.1</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.4</version> <!-- to keep compatible with older servlet containers -->
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.dwr</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.dwr*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java b/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java deleted file mode 100644 index ae5cf327ab..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.dwr; - -/** - * The runtime representation of the <binding.dwr> SCDL - * - * @version $Rev$ $Date$ - */ -public class DWRBinding { - - // Empty as <binding.dwr> doesn't use any additional attributes or elements (yet). - -} diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java b/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java deleted file mode 100644 index d14751f235..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.dwr; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.extension.helper.BindingActivator; -import org.apache.tuscany.sca.extension.helper.ComponentLifecycle; -import org.apache.tuscany.sca.extension.helper.InvokerFactory; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * The Binding Activator for the DWR Binding. - * - * @version $Rev$ $Date$ - */ -public class DWRBindingActivator implements BindingActivator<DWRBinding>{ - - private ServletHost servletHost; - - public DWRBindingActivator(ServletHost servletHost) { - this.servletHost = servletHost; - } - - public Class<DWRBinding> getBindingClass() { - return DWRBinding.class; - } - - public InvokerFactory createInvokerFactory(RuntimeComponent rc, RuntimeComponentReference rcr, Binding b, DWRBinding ab) { - return new DWRInvokerFactory(rc, rcr, b, ab, servletHost); - } - - public ComponentLifecycle createService(RuntimeComponent rc, RuntimeComponentService rcs, Binding b, DWRBinding ab) { - return new DWRService(rc, rcs, b, ab, servletHost); - } - -} diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java b/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java deleted file mode 100644 index 24e6dbbcd4..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.dwr; - -import java.util.Collection; - -import org.apache.tuscany.sca.core.invocation.MessageImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.directwebremoting.ScriptBuffer; -import org.directwebremoting.WebContext; -import org.directwebremoting.WebContextFactory; -import org.directwebremoting.proxy.dwr.Util; - -/** - * The invoker for a DWR Binding. - * - * @version $Rev$ $Date$ - */ -public class DWRInvoker implements Invoker { - - private String referenceFunction; - - public DWRInvoker(String referenceName, Operation operation) { - this.referenceFunction = referenceName + "." + operation.getName(); - } - - public Message invoke(Message requestMsg) { - - invoke((Object[])requestMsg.getBody()); - - // DWR references can not return anything - return new MessageImpl(); - } - - public void invoke(Object[] args) { - - // TODO: this only works if its the same thread as request - WebContext wctx = WebContextFactory.get(); - String currentPage = wctx.getCurrentPage(); - - // Get a DWR Util proxy for all the browsers on the current page: - Collection sessions = wctx.getScriptSessionsByPage(currentPage); - Util utilAll = new Util(sessions); - - ScriptBuffer referenceInvoke = getInvokeFragment(args, wctx); - - // add the reference call to the Util proxy which will cause DWR to - // asynchronously send it to be run on each active browser client - utilAll.addScript(referenceInvoke); - } - - /** - * Creates a fragment of JavaScript code to invoke the reference function - * Eg: "<referenceName>.<operationName>(arg1, arg2,...);" - */ - protected ScriptBuffer getInvokeFragment(Object[] args, WebContext wctx) { - - ScriptBuffer sb = new ScriptBuffer(); - sb.appendScript(referenceFunction); - sb.appendScript("("); - if (args != null) { - for (int i = 0; i < args.length; i++) { - sb.appendData(args[i]); - if (i < (args.length - 1)) { - sb.appendScript(", "); - } - } - } - sb.appendScript(");"); - - return sb; - } - -} diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java b/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java deleted file mode 100644 index 1d073c9ecf..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.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 org.apache.tuscany.sca.binding.dwr; - -import static org.apache.tuscany.sca.binding.dwr.DWRService.SERVLET_PATH; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.extension.helper.ComponentLifecycle; -import org.apache.tuscany.sca.extension.helper.InvokerFactory; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * InvokerFactory for the DWRBinding. - * - * @version $Rev$ $Date$ - */ -public class DWRInvokerFactory implements InvokerFactory, ComponentLifecycle { - - private Binding binding; - private ServletHost servletHost; - - public DWRInvokerFactory(RuntimeComponent rc, RuntimeComponentReference rcr, Binding b, DWRBinding ab, ServletHost servletHost) { - this.binding = b; - this.servletHost = servletHost; - } - - public Invoker createInvoker(Operation operation) { - return new DWRInvoker(binding.getName(), operation); - } - - public void start() { - - DWRServlet servlet = (DWRServlet) servletHost.getServletMapping(SERVLET_PATH); - if (servlet == null) { - servlet = new DWRServlet(); - servletHost.addServletMapping(SERVLET_PATH, servlet); - } - - servlet.addReference(binding.getName()); - } - - public void stop() { - servletHost.removeServletMapping(SERVLET_PATH); - } - -} diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java b/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java deleted file mode 100644 index 7d5a7f1677..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.dwr; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; -import java.lang.reflect.Proxy; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.extension.helper.ComponentLifecycle; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * DWR Service. - * - * @version $Rev$ $Date$ - */ -public class DWRService implements ComponentLifecycle { - - private RuntimeComponent rc; - private RuntimeComponentService rcs; - private Binding binding; - private ServletHost servletHost; - - static final String SERVLET_PATH = "/SCADomain/*"; - - public DWRService(RuntimeComponent rc, RuntimeComponentService rcs, Binding binding, DWRBinding ab, ServletHost servletHost) { - this.rc = rc; - this.rcs = rcs; - this.binding = binding; - this.servletHost = servletHost; - } - - public void start() { - - DWRServlet servlet = (DWRServlet) servletHost.getServletMapping(SERVLET_PATH); - if (servlet == null) { - servlet = new DWRServlet(); - servletHost.addServletMapping(SERVLET_PATH, servlet); - } - - // Create a Java proxy to the target service - Class<?> type = ((JavaInterface)rcs.getInterfaceContract().getInterface()).getJavaClass(); - Object proxy = Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, new InvocationHandler() { - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - RuntimeWire wire = rcs.getRuntimeWire(binding); - Operation op = JavaInterfaceUtil.findOperation(method, rcs.getInterfaceContract().getInterface().getOperations()); - return wire.invoke(op, args); - }}); - - servlet.addService(binding.getName(), type, proxy); - } - - public void stop() { - servletHost.removeServletMapping(SERVLET_PATH); - } - -} diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java b/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java deleted file mode 100644 index 3a2471d8f3..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.dwr; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.directwebremoting.Container; -import org.directwebremoting.create.AbstractCreator; -import org.directwebremoting.extend.CreatorManager; -import org.directwebremoting.extend.Handler; -import org.directwebremoting.extend.Remoter; -import org.directwebremoting.servlet.DwrServlet; -import org.directwebremoting.servlet.EngineHandler; -import org.directwebremoting.servlet.PathConstants; -import org.directwebremoting.servlet.UrlProcessor; - -/** - * Tuscany customized DWR Servlet to implement support for the DWR binding - * - * Handles requests for SCA services and references that use <binding.dwr>, - * and also the HTTP GET for the Tuscany DWR system script "scaDomain.js" - * - * @version $Rev$ $Date$ - */ -public class DWRServlet extends DwrServlet { - private static final long serialVersionUID = 1L; - - private transient Map<String, ServiceHolder> services; - private transient List<String> referenceNames; - private transient boolean initialized; - private transient Map<String, String> initParams; - - private static final String SCADOMAIN_SCRIPT_PATH = "/scaDomain.js"; - - public DWRServlet() { - this.services = new HashMap<String, ServiceHolder>(); - this.referenceNames = new ArrayList<String>(); - - this.initParams = new HashMap<String, String>(); - // maybe use <binding.dwr> attributes to define the init params - initParams.put("activeReverseAjaxEnabled", "true"); - } - - @Override - public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { - super.service(req, res); - } - - /** - * Initialize the Servlet - * There is a single instance of this Servlet which is registered - * for multiple path mappings, but the init should only run once. - */ - @Override - public void init(ServletConfig servletConfig) throws ServletException { - if (!initialized) { - super.init(patchConfig(servletConfig)); - addScriptHandler(); - initServices(); - initialized = true; - } - } - - /** - * Add in the handler to process the HTTP get for /sca/scaDomain.js - * - * This wrappers the DWR Engine handler which returns the DWR engine.js script, - * this wrappers that handler so as to add Tuscany specific header and footer code - * to the DWR engine.js to define the Tuscany SCADomain control functions and - * functions for each SCA service and reference that use <binding.dwr>. - */ - private void addScriptHandler() { - - UrlProcessor urlProcessor = (UrlProcessor)getContainer().getBean(UrlProcessor.class.getName()); - - final EngineHandler engineHandler = - (EngineHandler)getContainer().getBean(PathConstants.URL_PREFIX + "/engine.js"); - - final Handler scaDomainScriptHandler = new Handler() { - public void handle(HttpServletRequest request, HttpServletResponse response) throws IOException { - PrintWriter out = response.getWriter(); - out.println("/** Apache Tuscany scaDomain.js Header */"); - - engineHandler.handle(request, response); - - tuscanyFooter(request, out); - } - - }; - - // add the scaDomainScriptHandler to the urlProcessor - // bit of a hack, there's probably cleaner way to get it registered - urlProcessor.afterContainerSetup(new Container() { - public Object getBean(String name) { - return scaDomainScriptHandler; - } - public Collection getBeanNames() { - return Arrays.asList(new String[] {PathConstants.URL_PREFIX + SCADOMAIN_SCRIPT_PATH}); - } - }); - } - - /** - * Adds the JavaScript defining SCADomain, its control functions, - * and functions for all the available SCA services and references. - */ - private void tuscanyFooter(HttpServletRequest request, PrintWriter out) { - out.println("/** Apache Tuscany scaDomain.js Footer */"); - out.println(); - out.println("function scaDomain() { }"); - out.println(); - out.println("// SCA services"); - - // Use the DWR remoter to generate the JavaScipt function for each SCA service - Remoter remoter = (Remoter)getContainer().getBean(Remoter.class.getName()); - - String path = request.getContextPath() + request.getServletPath(); - - for (String serviceName : services.keySet()) { - String serviceScript = remoter.generateInterfaceScript(serviceName, path); - out.println(serviceScript); - } - - if (referenceNames.size() > 0) { - - out.println("// SCA reverse ajax control functions"); - out.println(); - out.println("scaDomain.open = function() { dwr.engine.setActiveReverseAjax(true); };"); - out.println("scaDomain.close = function() { dwr.engine.setActiveReverseAjax(false); };"); - - out.println(); - out.println("// SCA references"); - out.println(); - - // the JavaScript function for SCA references has an - // empty impl as it uses DWR severside "push" - for (String referenceName : referenceNames) { - out.println("function " + referenceName + "() { }"); - } - } - - out.println(); - out.println("/** End of Apache Tuscany scaDomain.js */"); - out.println(); - } - - /** - * Add an SCA reference to be added to the DWR runtime - */ - public void addReference(String name) { - referenceNames.add(name); - } - - /** - * Add an SCA service to be added to the DWR runtime - */ - public void addService(String name, final Class type, final Object instance) { - ServiceHolder holder = new ServiceHolder(); - holder.name = name; - holder.type = type; - holder.instance = instance; - services.put(name, holder); - } - - /** - * Defines each SCA service proxy instance to DWR - */ - private void initServices() { - CreatorManager creatorManager = (CreatorManager)getContainer().getBean(CreatorManager.class.getName()); - - for (final ServiceHolder holder : services.values()) { - creatorManager.addCreator(holder.name, new AbstractCreator() { - public Class getType() { - return holder.type; - } - - public Object getInstance() throws InstantiationException { - return holder.instance; - } - }); - } - } - - // utility class to aid passing around services - private class ServiceHolder { - String name; - Class type; - Object instance; - } - - /** - * Patch the ServletConfig to enable setting init params for DWR - * and so DWR can't see the Tuscany servlet's init params. - */ - private ServletConfig patchConfig(final ServletConfig servletConfig) { - ServletConfig patchedContext = new ServletConfig() { - public String getInitParameter(String name) { - return initParams.get(name); - } - public Enumeration getInitParameterNames() { - return Collections.enumeration(initParams.keySet()); - } - public ServletContext getServletContext() { - return servletConfig.getServletContext(); - } - public String getServletName() { - return servletConfig.getServletName(); - } - }; - return patchedContext; - } - -} diff --git a/branches/sca-equinox/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator b/branches/sca-equinox/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator deleted file mode 100644 index 1a9f91fab2..0000000000 --- a/branches/sca-equinox/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator +++ /dev/null @@ -1,19 +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.
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.binding.dwr.DWRBindingActivator
-
diff --git a/branches/sca-equinox/modules/binding-feed/LICENSE b/branches/sca-equinox/modules/binding-feed/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/binding-feed/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/binding-feed/META-INF/README b/branches/sca-equinox/modules/binding-feed/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/binding-feed/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/binding-feed/NOTICE b/branches/sca-equinox/modules/binding-feed/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/binding-feed/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/binding-feed/pom.xml b/branches/sca-equinox/modules/binding-feed/pom.xml deleted file mode 100644 index 1adffb5a84..0000000000 --- a/branches/sca-equinox/modules/binding-feed/pom.xml +++ /dev/null @@ -1,165 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-binding-feed</artifactId> - <name>Apache Tuscany SCA Atom+RSS Feed Binding Extension</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-data-api</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - <version>3.0.1</version> - </dependency> - - <dependency> - <groupId>rome</groupId> - <artifactId>rome</artifactId> - <version>0.9</version> - </dependency> - - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-jetty</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - <version>1.3</version> - <exclusions> - <exclusion> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.1</version> - <exclusions> - <exclusion> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - </exclusion> - <exclusion> - <groupId>avalon-framework</groupId> - <artifactId>avalon-framework</artifactId> - </exclusion> - </exclusions> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.binding.feed</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.binding.feed*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java deleted file mode 100644 index 00aa813af2..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * Atom binding model. - * - * @version $Rev$ $Date$ - */ -public interface AtomBinding extends Binding { -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java deleted file mode 100644 index 050ba9b73c..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -/** - * Factory for the Atom binding - * - * @version $Rev$ $Date$ - */ -public interface AtomBindingFactory { - - /** - * Creates a new Atom binding. - * @return the new Atom binding - */ - AtomBinding createAtomBinding(); - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java deleted file mode 100644 index 81b9fd95ad..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * RSS Feed binding model. - * - * @version $Rev$ $Date$ - */ -public interface RSSBinding extends Binding { -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java deleted file mode 100644 index c95c8ac012..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -/** - * Factory for the RSS binding - * - * @version $Rev$ $Date$ - */ -public interface RSSBindingFactory { - - /** - * Creates a new RSS binding. - * @return the new RSS binding - */ - RSSBinding createRSSBinding(); - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java deleted file mode 100644 index 30068afa0a..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.binding.feed.collection; - -import org.osoa.sca.annotations.Remotable; - -import com.sun.syndication.feed.atom.Entry; - -/** - * Provides access to a collection of resources using Atom. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Collection { - - /** - * Get an RSS or Atom feed for a collection of resources. - * - * @return the RSS or Atom feed - */ - com.sun.syndication.feed.atom.Feed getFeed(); - - /** - * Creates a new entry. - * - * @param entry - * @return - */ - Entry post(Entry entry); - - /** - * Retrieves an entry. - * - * @param id - * @return - */ - Entry get(String id) throws NotFoundException; - - /** - * Update an entry. - * - * @param id - * @param entry - * @return - */ - void put(String id, Entry entry) throws NotFoundException; - - /** - * Delete an entry. - * - * @param id - */ - void delete(String id) throws NotFoundException; - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java deleted file mode 100644 index 39a4213a65..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.binding.feed.collection; - -import java.io.InputStream; - -import org.osoa.sca.annotations.Remotable; - -import com.sun.syndication.feed.atom.Entry; - -/** - * Provides access to a collection of resources using Atom. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface MediaCollection extends Collection { - - /** - * Creates a new media entry - * - * @param title - * @param slug - * @param contentType - * @param media - */ - Entry postMedia(String title, String slug, String contentType, InputStream media); - - /** - * Update a media entry. - * - * @param id - * @param contentType - * @param media - * @return - */ - void putMedia(String id, String contentType, InputStream media) throws NotFoundException; - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java deleted file mode 100644 index 503f30e685..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.collection; - -/** - * Indicates that a resource could not be found. - * - * @version $Rev$ $Date$ - */ -public class NotFoundException extends Exception { - private static final long serialVersionUID = -5046027674128627383L; - - public NotFoundException() { - } - - public NotFoundException(String message) { - super(message); - } - - public NotFoundException(Throwable cause) { - super(cause); - } - - public NotFoundException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java deleted file mode 100644 index a9a1167544..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.impl; - -import org.apache.tuscany.sca.binding.feed.AtomBinding; -import org.apache.tuscany.sca.binding.feed.AtomBindingFactory; - -/** - * Factory for the Atom binding model. - * - * @version $Rev$ $Date$ - */ -public class AtomBindingFactoryImpl implements AtomBindingFactory { - - public AtomBinding createAtomBinding() { - return new AtomBindingImpl(); - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java deleted file mode 100644 index 76551bc412..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.feed.AtomBinding; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Implementation of the Atom Feed binding model. - * - * @version $Rev$ $Date$ - */ -class AtomBindingImpl implements AtomBinding, PolicySetAttachPoint { - - private String name; - private String uri; - private List<Intent> requiredIntents = new ArrayList<Intent>(); - private List<PolicySet> policySets = new ArrayList<PolicySet>(); - private IntentAttachPointType intentAttachPointType; - private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>(); - - public List<PolicySet> getApplicablePolicySets() { - return applicablePolicySets; - } - - public String getName() { - return name; - } - - public String getURI() { - return uri; - } - - public void setName(String name) { - this.name = name; - } - - public void setURI(String uri) { - this.uri = uri; - } - - - public boolean isUnresolved() { - // The binding is always resolved - return false; - } - - public void setUnresolved(boolean unresolved) { - // The binding is always resolved - } - - public List<PolicySet> getPolicySets() { - return policySets; - } - - public List<Intent> getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java deleted file mode 100644 index 4d8fb943f0..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.impl; - -import org.apache.tuscany.sca.binding.feed.RSSBinding; -import org.apache.tuscany.sca.binding.feed.RSSBindingFactory; - -/** - * Factory for the RSS binding model. - * - * @version $Rev$ $Date$ - */ -public class RSSBindingFactoryImpl implements RSSBindingFactory { - - public RSSBinding createRSSBinding() { - return new RSSBindingImpl(); - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java deleted file mode 100644 index 9df2ec60da..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.feed.RSSBinding; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Implementation of the RSS Feed binding model. - * - * @version $Rev$ $Date$ - */ -class RSSBindingImpl implements RSSBinding, PolicySetAttachPoint { - - private String name; - private String uri; - private List<Intent> requiredIntents = new ArrayList<Intent>(); - private List<PolicySet> policySets = new ArrayList<PolicySet>(); - private IntentAttachPointType intentAttachPointType; - private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>(); - - public List<PolicySet> getApplicablePolicySets() { - return applicablePolicySets; - } - - public String getName() { - return name; - } - - public String getURI() { - return uri; - } - - public void setName(String name) { - this.name = name; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - // The binding is always resolved - } - - public List<PolicySet> getPolicySets() { - return policySets; - } - - public List<Intent> getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List<PolicySet> policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List<Intent> intents) { - this.requiredIntents = intents; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java deleted file mode 100644 index 45b35d9206..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java +++ /dev/null @@ -1,345 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.binding.feed.provider; - -import java.io.InputStreamReader; -import java.io.StringWriter; - -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.methods.DeleteMethod; -import org.apache.commons.httpclient.methods.GetMethod; -import org.apache.commons.httpclient.methods.PostMethod; -import org.apache.commons.httpclient.methods.PutMethod; -import org.apache.commons.httpclient.methods.StringRequestEntity; -import org.apache.tuscany.sca.binding.feed.collection.NotFoundException; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.osoa.sca.ServiceRuntimeException; - -import com.sun.syndication.feed.atom.Entry; -import com.sun.syndication.feed.atom.Feed; -import com.sun.syndication.io.WireFeedInput; -import com.sun.syndication.io.XmlReader; - -/** - * Invoker for the Atom binding. - * - * @version $Rev$ $Date$ - */ -class AtomBindingInvoker implements Invoker, DataExchangeSemantics { - - Operation operation; - String uri; - HttpClient httpClient; - String authorizationHeader; - - //FIXME Support conversion to/from data api entries - - AtomBindingInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - this.operation = operation; - this.uri = uri; - this.httpClient = httpClient; - this.authorizationHeader = authorizationHeader; - } - - public Message invoke(Message msg) { - // Shouldn't get here, as the only supported methods are - // defined in the ResourceCollection interface, and implemented - // by specific invoker subclasses - throw new UnsupportedOperationException(operation.getName()); - } - - public boolean allowsPassByReference() { - return true; - } - - /** - * Get operation invoker - */ - public static class GetInvoker extends AtomBindingInvoker { - - public GetInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - // Get an entry - String id = (String)((Object[])msg.getBody())[0]; - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri + "/" + id); - getMethod.setRequestHeader("Authorization", authorizationHeader); - try { - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom entry - if (status == 200) { - Entry feedEntry = - AtomFeedEntryUtil.readFeedEntry("atom_1.0", new InputStreamReader(getMethod.getResponseBodyAsStream())); - msg.setBody(feedEntry); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } catch (Exception e) { - msg.setFaultBody(new ServiceRuntimeException(e)); - } finally { - getMethod.releaseConnection(); - } - - return msg; - } - } - - /** - * Post operation invoker - */ - public static class PostInvoker extends AtomBindingInvoker { - - public PostInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - // Post an entry - Entry feedEntry = (Entry)((Object[])msg.getBody())[0]; - - // Send an HTTP POST - PostMethod postMethod = new PostMethod(uri); - postMethod.setRequestHeader("Authorization", authorizationHeader); - try { - - // Write the Atom entry - StringWriter writer = new StringWriter(); - AtomFeedEntryUtil.writeFeedEntry(feedEntry, "atom_1.0", writer); - postMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8"); - postMethod.setRequestEntity(new StringRequestEntity(writer.toString())); - - httpClient.executeMethod(postMethod); - int status = postMethod.getStatusCode(); - - // Read the Atom entry - if (status == 200 || status == 201) { - Entry createdEntry = - AtomFeedEntryUtil - .readFeedEntry("atom_1.0", new InputStreamReader(postMethod.getResponseBodyAsStream())); - msg.setBody(createdEntry); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } catch (Exception e) { - msg.setFaultBody(new ServiceRuntimeException(e)); - } finally { - postMethod.releaseConnection(); - } - - return msg; - } - } - - /** - * Put operation invoker - */ - public static class PutInvoker extends AtomBindingInvoker { - - public PutInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - // Put an entry - Object[] args = (Object[])msg.getBody(); - String id = (String)args[0]; - Entry feedEntry = (Entry)args[1]; - - // Send an HTTP PUT - PutMethod putMethod = new PutMethod(uri + "/" + id); - putMethod.setRequestHeader("Authorization", authorizationHeader); - try { - - // Write the Atom entry - StringWriter writer = new StringWriter(); - AtomFeedEntryUtil.writeFeedEntry(feedEntry, "atom_1.0", writer); - putMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8"); - putMethod.setRequestEntity(new StringRequestEntity(writer.toString())); - - httpClient.executeMethod(putMethod); - int status = putMethod.getStatusCode(); - - // Read the Atom entry - if (status == 200 || status == 201) { - try { - Entry updatedEntry = - AtomFeedEntryUtil.readFeedEntry("atom_1.0", new InputStreamReader(putMethod - .getResponseBodyAsStream())); - msg.setBody(updatedEntry); - } catch (Exception e) { - // Returning the updated entry is optional - } - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } catch (Exception e) { - msg.setFaultBody(new ServiceRuntimeException(e)); - } finally { - putMethod.releaseConnection(); - } - - return msg; - } - } - - /** - * Delete operation invoker - */ - public static class DeleteInvoker extends AtomBindingInvoker { - - public DeleteInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - // Delete an entry - String id = (String)((Object[])msg.getBody())[0]; - - // Send an HTTP DELETE - DeleteMethod deleteMethod = new DeleteMethod(uri + "/" + id); - deleteMethod.setRequestHeader("Authorization", authorizationHeader); - try { - httpClient.executeMethod(deleteMethod); - int status = deleteMethod.getStatusCode(); - - // Read the Atom entry - if (status == 200) { - msg.setBody(null); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } catch (Exception e) { - msg.setFaultBody(new ServiceRuntimeException(e)); - } finally { - deleteMethod.releaseConnection(); - } - - return msg; - } - } - - /** - * GetAll operation invoker - */ - public static class GetAllInvoker extends AtomBindingInvoker { - - public GetAllInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - // Get a feed - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri); - getMethod.setRequestHeader("Authorization", authorizationHeader); - try { - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200) { - WireFeedInput input = new WireFeedInput(); - Feed feed = (Feed)input.build(new XmlReader(getMethod.getResponseBodyAsStream())); - msg.setBody(feed); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } catch (Exception e) { - msg.setFaultBody(new ServiceRuntimeException(e)); - } finally { - getMethod.releaseConnection(); - } - - return msg; - } - } - - /** - * PostMedia operation invoker - */ - public static class PostMediaInvoker extends AtomBindingInvoker { - - public PostMediaInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - // TODO implement - return super.invoke(msg); - } - } - - /** - * PutMedia operation invoker - */ - public static class PutMediaInvoker extends AtomBindingInvoker { - - public PutMediaInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) { - super(operation, uri, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - // TODO implement - return super.invoke(msg); - } - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java deleted file mode 100644 index 9a858f899f..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.provider; - -import org.apache.tuscany.sca.binding.feed.AtomBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.TransformerExtensionPoint; -import org.apache.tuscany.sca.databinding.impl.MediatorImpl; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Implementation of the Atom binding model. - * - * @version $Rev$ $Date$ - */ -public class AtomBindingProviderFactory implements BindingProviderFactory<AtomBinding> { - - private MessageFactory messageFactory; - private Mediator mediator; - private ServletHost servletHost; - - public AtomBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - this.servletHost = servletHosts.getServletHosts().get(0); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - this.messageFactory = modelFactories.getFactory(MessageFactory.class); - this.mediator = new MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class), - extensionPoints.getExtensionPoint(TransformerExtensionPoint.class)); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - AtomBinding binding) { - return new AtomReferenceBindingProvider(component, reference, binding); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - AtomBinding binding) { - return new AtomServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator); - } - - public Class<AtomBinding> getModelType() { - return AtomBinding.class; - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java deleted file mode 100644 index 7adbfca6e8..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.provider; - -import java.io.IOException; -import java.io.Reader; -import java.io.StringWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.List; - -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.input.SAXBuilder; -import org.jdom.output.Format; -import org.jdom.output.XMLOutputter; - -import com.sun.syndication.feed.atom.Content; -import com.sun.syndication.feed.atom.Entry; -import com.sun.syndication.feed.atom.Feed; -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.WireFeedInput; -import com.sun.syndication.io.WireFeedOutput; - -/** - * Utility methods to read/write Atom entries. - * - * @version $Rev$ $Date$ - */ -class AtomFeedEntryUtil { - - /** - * Read an Atom entry - * - * @param request - * @return - * @throws IOException - * @throws JDOMException - * @throws FeedException - * @throws IllegalArgumentException - */ - static Entry readFeedEntry(String feedType, Reader reader) throws JDOMException, IOException, IllegalArgumentException, - FeedException { - SAXBuilder builder = new SAXBuilder(); - Document document = builder.build(reader); - Element root = document.getRootElement(); - root.detach(); - Feed feed = new Feed(); - feed.setFeedType(feedType); - WireFeedOutput wireFeedOutput = new WireFeedOutput(); - document = wireFeedOutput.outputJDom(feed); - document.getRootElement().addContent(root); - WireFeedInput input = new WireFeedInput(); - feed = (Feed)input.build(document); - Entry feedEntry = (Entry)feed.getEntries().get(0); - if (feedEntry.getContents().size() != 0) { - Content content = (Content)feedEntry.getContents().get(0); - if ("text/xml".equals(content.getType())) { - Element element = root.getChild("content", root.getNamespace()); - if (!element.getChildren().isEmpty()) { - element = (Element)element.getChildren().get(0); - XMLOutputter outputter = new XMLOutputter(); - StringWriter sw = new StringWriter(); - outputter.output(element, sw); - content.setValue(sw.toString()); - } - } - } - return feedEntry; - } - - /** - * Write an Atom entry. - * - * @param entry - * @param response - * @throws FeedException - * @throws IllegalArgumentException - * @throws IOException - * @throws ServletException - */ - static void writeFeedEntry(Entry feedEntry, String feedType, Writer writer) throws IllegalArgumentException, FeedException, - IOException { - Feed feed = new Feed(); - feed.setFeedType(feedType); - List<Entry> feedEntries = new ArrayList<Entry>(); - feedEntries.add(feedEntry); - feed.setEntries(feedEntries); - - WireFeedOutput wireFeedOutput = new WireFeedOutput(); - Document document = wireFeedOutput.outputJDom(feed); - Element root = document.getRootElement(); - Element element = (Element)root.getChildren().get(0); - XMLOutputter outputter = new XMLOutputter(); - outputter.setFormat(Format.getPrettyFormat()); - outputter.output(element, writer); - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java deleted file mode 100644 index d9bda1fb9a..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.provider; - -import java.net.URI; - -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.httpclient.Credentials; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; -import org.apache.commons.httpclient.UsernamePasswordCredentials; -import org.apache.commons.httpclient.auth.AuthScope; -import org.apache.tuscany.sca.binding.feed.AtomBinding; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * Implementation of the Atom binding provider. - * - * @version $Rev$ $Date$ - */ -class AtomReferenceBindingProvider implements ReferenceBindingProvider { - - private RuntimeComponentReference reference; - private AtomBinding binding; - private String authorizationHeader; - private HttpClient httpClient; - - /** - * Constructs a new AtomReferenceBindingProvider - * @param component - * @param reference - * @param binding - */ - AtomReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - AtomBinding binding) { - this.reference = reference; - this.binding = binding; - - // Prepare authorization header - String authorization = "admin" + ":" + "admin"; - authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes())); - - // Create an HTTP client - httpClient = new HttpClient(new MultiThreadedHttpConnectionManager()); - httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(60000); - } - - public Invoker createInvoker(Operation operation) { - String operationName = operation.getName(); - if (operationName.equals("get")) { - return new AtomBindingInvoker.GetInvoker(operation, binding.getURI(), httpClient, authorizationHeader); - } else if (operationName.equals("post")) { - return new AtomBindingInvoker.PostInvoker(operation, binding.getURI(), httpClient, authorizationHeader); - } else if (operationName.equals("put")) { - return new AtomBindingInvoker.PutInvoker(operation, binding.getURI(), httpClient, authorizationHeader); - } else if (operationName.equals("delete")) { - return new AtomBindingInvoker.DeleteInvoker(operation, binding.getURI(), httpClient, - authorizationHeader); - } else if (operationName.equals("getFeed") || operationName.equals("getAll")) { - return new AtomBindingInvoker.GetAllInvoker(operation, binding.getURI(), httpClient, - authorizationHeader); - } else if (operationName.equals("postMedia")) { - return new AtomBindingInvoker.PostMediaInvoker(operation, binding.getURI(), httpClient, - authorizationHeader); - } else if (operationName.equals("putMedia")) { - return new AtomBindingInvoker.PutMediaInvoker(operation, binding.getURI(), httpClient, - authorizationHeader); - } - - return new AtomBindingInvoker(operation, binding.getURI(), httpClient, authorizationHeader); - } - - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - public void start() { - - // Configure the HTTP client credentials - Credentials credentials = new UsernamePasswordCredentials("admin", "admin"); - httpClient.getParams().setAuthenticationPreemptive(true); - URI uri = URI.create(binding.getURI()); - httpClient.getState().setCredentials(new AuthScope(uri.getHost(), uri.getPort()), credentials); - } - - public void stop() { - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java deleted file mode 100644 index 23c36f51e3..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.provider; - -import org.apache.tuscany.sca.binding.feed.AtomBinding; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Implementation of the Atom binding provider. - * - * @version $Rev$ $Date$ - */ -class AtomServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponentService service; - private AtomBinding binding; - private ServletHost servletHost; - private MessageFactory messageFactory; - private String servletMapping; - private Mediator mediator; - - AtomServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - AtomBinding binding, - ServletHost servletHost, - MessageFactory messageFactory, - Mediator mediator) { - this.service = service; - this.binding = binding; - this.servletHost = servletHost; - this.messageFactory = messageFactory; - this.mediator = mediator; - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - RuntimeComponentService componentService = (RuntimeComponentService)service; - RuntimeWire wire = componentService.getRuntimeWire(binding); - - FeedBindingListenerServlet servlet = - new FeedBindingListenerServlet(wire, messageFactory, mediator, "atom_1.0"); - - servletMapping = binding.getURI(); - if (!servletMapping.endsWith("/")) { - servletMapping += "/"; - } - if (!servletMapping.endsWith("*")) { - servletMapping += "*"; - } - servletHost.addServletMapping(servletMapping, servlet); - } - - public void stop() { - servletHost.removeServletMapping(servletMapping); - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java deleted file mode 100644 index 89366456f5..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java +++ /dev/null @@ -1,788 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.binding.feed.provider; - -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.UnsupportedEncodingException; -import java.io.Writer; -import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.StringTokenizer; -import java.util.logging.Logger; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.xml.namespace.QName; - -import org.apache.commons.codec.binary.Base64; -import org.apache.tuscany.sca.data.collection.Item; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.jdom.Document; -import org.jdom.Element; -import org.jdom.JDOMException; -import org.jdom.Namespace; -import org.jdom.output.Format; -import org.jdom.output.XMLOutputter; - -import com.sun.syndication.feed.atom.Content; -import com.sun.syndication.feed.atom.Entry; -import com.sun.syndication.feed.atom.Feed; -import com.sun.syndication.feed.atom.Link; -import com.sun.syndication.feed.synd.SyndFeed; -import com.sun.syndication.feed.synd.SyndFeedImpl; -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.SyndFeedOutput; -import com.sun.syndication.io.WireFeedOutput; - -/** - * A resource collection binding listener, implemented as a Servlet and - * registered in a Servlet host provided by the SCA hosting runtime. - * - * @version $Rev$ $Date$ - */ -class FeedBindingListenerServlet extends HttpServlet { - private static final Logger logger = Logger.getLogger(FeedBindingListenerServlet.class.getName()); - private static final long serialVersionUID = 1L; - - private static final Namespace APP_NS = Namespace.getNamespace("app", "http://purl.org/atom/app#"); - private static final Namespace ATOM_NS = Namespace.getNamespace("atom", "http://www.w3.org/2005/Atom"); - - private RuntimeWire wire; - private Invoker getFeedInvoker; - private Invoker getAllInvoker; - private Invoker queryInvoker; - private Invoker getInvoker; - private Invoker postInvoker; - private Invoker postMediaInvoker; - private Invoker putInvoker; - private Invoker putMediaInvoker; - private Invoker deleteInvoker; - private MessageFactory messageFactory; - private String feedType; - private Mediator mediator; - private DataType<?> itemClassType; - private DataType<?> itemXMLType; - private boolean supportsFeedEntries; - - /** - * Constructs a new binding listener. - * - * @param wire - * @param messageFactory - * @param feedType - */ - FeedBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String feedType) { - this.wire = wire; - this.messageFactory = messageFactory; - this.mediator = mediator; - this.feedType = feedType; - - // Get the invokers for the supported operations - Operation getOperation = null; - for (InvocationChain invocationChain : this.wire.getInvocationChains()) { - invocationChain.setAllowsPassByReference(true); - Operation operation = invocationChain.getTargetOperation(); - String operationName = operation.getName(); - if (operationName.equals("getFeed")) { - getFeedInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("getAll")) { - getAllInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("query")) { - queryInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("get")) { - getInvoker = invocationChain.getHeadInvoker(); - getOperation = operation; - } else if (operationName.equals("put")) { - putInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("putMedia")) { - putMediaInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("post")) { - postInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("postMedia")) { - postMediaInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("delete")) { - deleteInvoker = invocationChain.getHeadInvoker(); - } - } - - // Determine the collection item type - itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), String.class, String.class); - Class<?> itemClass = getOperation.getOutputType().getPhysical(); - if (itemClass == Entry.class) { - supportsFeedEntries = true; - } - DataType<XMLType> outputType = getOperation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl<XMLType>("java:complexType", itemClass, new XMLType(qname, null)); - - } - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // No authentication required for a get request - - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - - // The feedType parameter is used to override what type of feed is going - // to be produced - String requestFeedType = request.getParameter("feedType"); - if (requestFeedType == null) - requestFeedType = feedType; - - logger.info(">>> FeedEndPointServlet (" + requestFeedType + ") " + request.getRequestURI()); - - // Handle an Atom request - if (requestFeedType.startsWith("atom_")) { - - if (path != null && path.equals("/atomsvc")) { - - // Return the Atom service document - response.setContentType("application/atomsvc+xml; charset=utf-8"); - Document document = new Document(); - Element service = new Element("service", APP_NS); - document.setRootElement(service); - - Element workspace = new Element("workspace", APP_NS); - Element title = new Element("title", ATOM_NS); - title.setText("resource"); - workspace.addContent(title); - service.addContent(workspace); - - Element collection = new Element("collection", APP_NS); - String href = request.getRequestURL().toString(); - href = href.substring(0, href.length() - "/atomsvc".length()); - collection.setAttribute("href", href); - Element collectionTitle = new Element("title", ATOM_NS); - collectionTitle.setText("entries"); - collection.addContent(collectionTitle); - workspace.addContent(collection); - - XMLOutputter outputter = new XMLOutputter(); - Format format = Format.getPrettyFormat(); - format.setEncoding("UTF-8"); - outputter.setFormat(format); - outputter.output(document, getWriter(response)); - - } else if (path == null || path.length() == 0 || path.equals("/")) { - - // Return a feed containing the entries in the collection - Feed feed = null; - if (supportsFeedEntries) { - - // The service implementation supports feed entries, invoke its getFeed operation - Message requestMessage = messageFactory.createMessage(); - Message responseMessage = getFeedInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - feed = (Feed)responseMessage.getBody(); - - } else { - - // The service implementation does not support feed entries, - // invoke its getAll operation to get the data item collection, then create - // feed entries from the items - Message requestMessage = messageFactory.createMessage(); - Message responseMessage; - if (request.getQueryString() != null) { - requestMessage.setBody(new Object[] {request.getQueryString()}); - responseMessage = queryInvoker.invoke(requestMessage); - } else { - responseMessage = getAllInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - org.apache.tuscany.sca.data.collection.Entry<Object, Object>[] collection = - (org.apache.tuscany.sca.data.collection.Entry<Object, Object>[])responseMessage.getBody(); - if (collection != null) { - // Create the feed - feed = new Feed(); - feed.setTitle("Feed"); - for (org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry: collection) { - Entry feedEntry = createFeedEntry(entry); - feed.getEntries().add(feedEntry); - } - } - } - if (feed != null) { - - // Write the Atom feed - response.setContentType("application/atom+xml; charset=utf-8"); - feed.setFeedType(requestFeedType); - WireFeedOutput feedOutput = new WireFeedOutput(); - try { - feedOutput.output(feed, getWriter(response)); - } catch (FeedException e) { - throw new ServletException(e); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else if (path.startsWith("/")) { - - // Return a specific entry in the collection - Entry feedEntry; - - // Invoke the get operation on the service implementation - Message requestMessage = messageFactory.createMessage(); - String id = path.substring(1); - requestMessage.setBody(new Object[] {id}); - Message responseMessage = getInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - if (supportsFeedEntries) { - - // The service implementation returns a feed entry - feedEntry = responseMessage.getBody(); - - } else { - - // The service implementation only returns a data item, create an entry - // from it - feedEntry = createFeedEntry(new org.apache.tuscany.sca.data.collection.Entry<Object, Object>(id, responseMessage.getBody())); - } - - // Write the Atom entry - if (feedEntry != null) { - response.setContentType("application/atom+xml; charset=utf-8"); - try { - AtomFeedEntryUtil.writeFeedEntry(feedEntry, feedType, getWriter(response)); - } catch (FeedException e) { - throw new ServletException(e); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else { - - // Path doesn't match any known pattern - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } else { - - // Handle an RSS request - if (path == null || path.length() == 0 || path.equals("/")) { - - // Return an RSS feed containing the entries in the collection - Feed feed = null; - if (supportsFeedEntries) { - - // The service implementation supports feed entries, invoke its getFeed operation - Message requestMessage = messageFactory.createMessage(); - Message responseMessage = getFeedInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - feed = (Feed)responseMessage.getBody(); - - } else { - - // The service implementation does not support feed entries, invoke its - // getAll operation to get the data item collection. then create feed entries - // from the data items - Message requestMessage = messageFactory.createMessage(); - Message responseMessage; - if (request.getQueryString() != null) { - requestMessage.setBody(new Object[] {request.getQueryString()}); - responseMessage = queryInvoker.invoke(requestMessage); - } else { - responseMessage = getAllInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - org.apache.tuscany.sca.data.collection.Entry<Object, Object>[] collection = - (org.apache.tuscany.sca.data.collection.Entry<Object, Object>[])responseMessage.getBody(); - if (collection != null) { - // Create the feed - feed = new Feed(); - feed.setTitle("Feed"); - for (org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry: collection) { - Entry feedEntry = createFeedEntry(entry); - feed.getEntries().add(feedEntry); - } - } - } - - // Convert to an RSS feed - if (feed != null) { - response.setContentType("application/rss+xml; charset=utf-8"); - feed.setFeedType("atom_1.0"); - SyndFeed syndFeed = new SyndFeedImpl(feed); - syndFeed.setFeedType(requestFeedType); - syndFeed.setLink(path); - SyndFeedOutput syndOutput = new SyndFeedOutput(); - try { - syndOutput.output(syndFeed, getWriter(response)); - } catch (FeedException e) { - throw new ServletException(e); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - } - - /** - * Create an Atom entry from a data collection entry. - * @param entry - * @return - */ - private Entry createFeedEntry(org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry) { - Object key = entry.getKey(); - Object data = entry.getData(); - if (data instanceof Item) { - Item item = (Item)data; - - Entry feedEntry = new Entry(); - feedEntry.setId(key.toString()); - feedEntry.setTitle(item.getTitle()); - - String value = item.getContents(); - if (value != null) { - Content content = new Content(); - content.setType("text/xml"); - content.setValue(value); - List<Content> contents = new ArrayList<Content>(); - contents.add(content); - feedEntry.setContents(contents); - } - - String href = item.getLink(); - if (href == null) { - href = key.toString(); - } - Link link = new Link(); - link.setRel("edit"); - link.setHref(href); - feedEntry.getOtherLinks().add(link); - link = new Link(); - link.setRel("alternate"); - link.setHref(href); - feedEntry.getAlternateLinks().add(link); - - Date date = item.getDate(); - if (date == null) { - date = new Date(); - } - feedEntry.setCreated(date); - return feedEntry; - - } else if (data != null) { - Entry feedEntry = new Entry(); - feedEntry.setId(key.toString()); - feedEntry.setTitle("item"); - - // Convert the item to XML - String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString(); - - Content content = new Content(); - content.setType("text/xml"); - content.setValue(value); - List<Content> contents = new ArrayList<Content>(); - contents.add(content); - feedEntry.setContents(contents); - - Link link = new Link(); - link.setRel("edit"); - link.setHref(key.toString()); - feedEntry.getOtherLinks().add(link); - link = new Link(); - link.setRel("alternate"); - link.setHref(key.toString()); - feedEntry.getAlternateLinks().add(link); - - feedEntry.setCreated(new Date()); - return feedEntry; - } else { - return null; - } - } - - /** - * Create a data collection entry from an Atom entry. - * @param feedEntry - * @return - */ - private org.apache.tuscany.sca.data.collection.Entry<Object, Object> createEntry(Entry feedEntry) { - if (feedEntry != null) { - if (itemClassType.getPhysical() == Item.class) { - String key = feedEntry.getId(); - - Item item = new Item(); - item.setTitle(feedEntry.getTitle()); - - List<?> contents = feedEntry.getContents(); - if (!contents.isEmpty()) { - Content content = (Content)contents.get(0); - String value = content.getValue(); - item.setContents(value); - } - - for (Object l : feedEntry.getOtherLinks()) { - Link link = (Link)l; - if (link.getRel() == null || "edit".equals(link.getRel())) { - String href = link.getHref(); - if (href.startsWith("null/")) { - href = href.substring(5); - } - item.setLink(href); - break; - } - } - - item.setDate(feedEntry.getCreated()); - - return new org.apache.tuscany.sca.data.collection.Entry<Object, Object>(key, item); - - } else { - String key = feedEntry.getId(); - - // Create the item from XML - List<?> contents = feedEntry.getContents(); - if (contents.isEmpty()) { - return null; - } - Content content = (Content)contents.get(0); - String value = content.getValue(); - Object data = mediator.mediate(value, itemXMLType, itemClassType, null); - - return new org.apache.tuscany.sca.data.collection.Entry<Object, Object>(key, data); - } - } else { - return null; - } - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, - IOException { - - // Authenticate the user - String user = processAuthorizationHeader(request); - if (user == null) { - unauthorized(response); - return; - } - - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - - if (path == null || path.length() == 0 || path.equals("/")) { - Entry createdFeedEntry = null; - - // Create a new Atom entry - String contentType = request.getContentType(); - if (contentType != null && contentType.startsWith("application/atom+xml")) { - - // Read the entry from the request - Entry feedEntry; - try { - feedEntry = AtomFeedEntryUtil.readFeedEntry(feedType, request.getReader()); - } catch (JDOMException e) { - throw new ServletException(e); - } catch (FeedException e) { - throw new ServletException(e); - } - - // Let the component implementation create it - if (supportsFeedEntries) { - - // The service implementation supports feed entries, pass the entry to it - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[] {feedEntry}); - Message responseMessage = postInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - createdFeedEntry = responseMessage.getBody(); - } else { - - // The service implementation does not support feed entries, pass the data item to it - Message requestMessage = messageFactory.createMessage(); - org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry = createEntry(feedEntry); - requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()}); - Message responseMessage = postInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - entry.setKey(responseMessage.getBody()); - createdFeedEntry = createFeedEntry(entry); - } - - } else if (contentType != null) { - - // Create a new media entry - - // Get incoming headers - String title = request.getHeader("Title"); - String slug = request.getHeader("Slug"); - - // Let the component implementation create the media entry - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[] {title, slug, contentType, request.getInputStream()}); - Message responseMessage = postMediaInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - createdFeedEntry = responseMessage.getBody(); - } else { - response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); - } - - // A new entry was created successfully - if (createdFeedEntry != null) { - - // Set location of the created entry in the Location header - for (Object l : createdFeedEntry.getOtherLinks()) { - Link link = (Link)l; - if (link.getRel() == null || "edit".equals(link.getRel())) { - response.addHeader("Location", link.getHref()); - break; - } - } - - // Write the created Atom entry - response.setStatus(HttpServletResponse.SC_CREATED); - response.setContentType("application/atom+xml; charset=utf-8"); - try { - AtomFeedEntryUtil.writeFeedEntry(createdFeedEntry, feedType, getWriter(response)); - } catch (FeedException e) { - throw new ServletException(e); - } - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - - private Writer getWriter(HttpServletResponse response) throws UnsupportedEncodingException, IOException { - Writer writer = new OutputStreamWriter(response.getOutputStream(), "UTF-8"); - return writer; - } - - @Override - protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // Authenticate the user - String user = processAuthorizationHeader(request); - if (user == null) { - unauthorized(response); - return; - } - - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - - if (path != null && path.startsWith("/")) { - String id = path.substring(1); - - // Update an Atom entry - String contentType = request.getContentType(); - if (contentType != null && contentType.startsWith("application/atom+xml")) { - - // Read the entry from the request - Entry feedEntry; - try { - feedEntry = AtomFeedEntryUtil.readFeedEntry(feedType, request.getReader()); - } catch (JDOMException e) { - throw new ServletException(e); - } catch (FeedException e) { - throw new ServletException(e); - } - - // Let the component implementation create it - if (supportsFeedEntries) { - - // The service implementation supports feed entries, pass the entry to it - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[] {id, feedEntry}); - Message responseMessage = putInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - if (body.getClass().getName().endsWith(".NotFoundException")) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } else { - throw new ServletException((Throwable)responseMessage.getBody()); - } - } - } else { - - // The service implementation does not support feed entries, pass the data item to it - Message requestMessage = messageFactory.createMessage(); - org.apache.tuscany.sca.data.collection.Entry<Object, Object> entry = createEntry(feedEntry); - requestMessage.setBody(new Object[] {entry.getKey(), entry.getData()}); - Message responseMessage = putInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - if (body.getClass().getName().endsWith(".NotFoundException")) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } else { - throw new ServletException((Throwable)responseMessage.getBody()); - } - } - } - - } else if (contentType != null) { - - // Updated a media entry - - // Let the component implementation create the media entry - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[] {id, contentType, request.getInputStream()}); - Message responseMessage = putMediaInvoker.invoke(requestMessage); - Object body = responseMessage.getBody(); - if (responseMessage.isFault()) { - if (body.getClass().getName().endsWith(".NotFoundException")) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } else { - throw new ServletException((Throwable)responseMessage.getBody()); - } - } - } else { - response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - - @Override - protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, - IOException { - - // Authenticate the user - String user = processAuthorizationHeader(request); - if (user == null) { - unauthorized(response); - return; - } - - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - - String id; - if (path != null && path.startsWith("/")) { - id = path.substring(1); - } else { - id = ""; - } - - // Delete a specific entry from the collection - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[] {id}); - Message responseMessage = deleteInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - if (body.getClass().getName().endsWith(".NotFoundException")) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } else { - throw new ServletException((Throwable)responseMessage.getBody()); - } - } - } - - /** - * Process the authorization header - * - * @param request - * @return - * @throws ServletException - */ - private String processAuthorizationHeader(HttpServletRequest request) throws ServletException { - try { - String authorization = request.getHeader("Authorization"); - if (authorization != null) { - StringTokenizer tokens = new StringTokenizer(authorization); - if (tokens.hasMoreTokens()) { - String basic = tokens.nextToken(); - if (basic.equalsIgnoreCase("Basic")) { - String credentials = tokens.nextToken(); - String userAndPassword = new String(Base64.decodeBase64(credentials.getBytes())); - int colon = userAndPassword.indexOf(":"); - if (colon != -1) { - String user = userAndPassword.substring(0, colon); - String password = userAndPassword.substring(colon + 1); - - // Authenticate the User. - if (authenticate(user, password)) { - return user; - } - } - } - } - } - } catch (Exception e) { - throw new ServletException(e); - } - return null; - } - - /** - * Authenticate a user. - * - * @param user - * @param password - * @return - */ - private boolean authenticate(String user, String password) { - - // TODO Handle this using SCA security policies - //FIXME Why are we using endsWith instead of equals here?? - return ("admin".endsWith(user) && "admin".equals(password)); - } - - /** - * Reject an unauthorized request. - * - * @param response - */ - private void unauthorized(HttpServletResponse response) throws IOException { - response.setHeader("WWW-Authenticate", "BASIC realm=\"Tuscany\""); - response.sendError(HttpServletResponse.SC_UNAUTHORIZED); - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java deleted file mode 100644 index c5bd3ec009..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.binding.feed.provider; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; - -import com.sun.syndication.feed.atom.Feed; -import com.sun.syndication.feed.synd.SyndFeed; -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.SyndFeedInput; -import com.sun.syndication.io.WireFeedInput; -import com.sun.syndication.io.XmlReader; - -/** - * Invoker for the RSS binding. - * - * @version $Rev$ $Date$ - */ -class RSSBindingInvoker implements Invoker, DataExchangeSemantics { - private static final Logger logger = Logger.getLogger(RSSBindingInvoker.class.getName()); - - private String feedType; - private String uri; - - RSSBindingInvoker(String uri, String feedType) { - this.uri = uri; - this.feedType = feedType; - } - - public Message invoke(Message msg) { - try { - logger.info(">>> RSSBindingInvoker (" + feedType + ") " + uri); - - // Read the configured feed URI into a Feed object - Feed feed; - if (feedType.startsWith("atom_")) { - - // Read an Atom feed - WireFeedInput input = new WireFeedInput(); - feed = (Feed)input.build(new XmlReader(new URL(uri))); - } else { - - // Read an RSS feed and convert it to an Atom feed - SyndFeedInput input = new SyndFeedInput(); - SyndFeed syndFeed = input.build(new XmlReader(new URL(uri))); - feed = (Feed)syndFeed.createWireFeed("atom_1.0"); - } - - //FIXME Support conversion to data-api entries - - msg.setBody(feed); - - } catch (MalformedURLException e) { - msg.setFaultBody(e); - } catch (IllegalArgumentException e) { - msg.setFaultBody(e); - } catch (FeedException e) { - msg.setFaultBody(e); - } catch (IOException e) { - msg.setFaultBody(e); - } - return msg; - } - - public boolean allowsPassByReference() { - return true; - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java deleted file mode 100644 index f4c336e12b..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.provider; - -import org.apache.tuscany.sca.binding.feed.RSSBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.TransformerExtensionPoint; -import org.apache.tuscany.sca.databinding.impl.MediatorImpl; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Implementation of the RSS binding provider factory. - * - * @version $Rev$ $Date$ - */ -public class RSSBindingProviderFactory implements BindingProviderFactory<RSSBinding> { - - private MessageFactory messageFactory; - private Mediator mediator; - private ServletHost servletHost; - - public RSSBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - this.servletHost = servletHosts.getServletHosts().get(0); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - this.messageFactory = modelFactories.getFactory(MessageFactory.class); - this.mediator = new MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class), - extensionPoints.getExtensionPoint(TransformerExtensionPoint.class)); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - RSSBinding binding) { - return new RSSReferenceBindingProvider(component, reference, binding); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - RSSBinding binding) { - return new RSSServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator); - } - - public Class<RSSBinding> getModelType() { - return RSSBinding.class; - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java deleted file mode 100644 index 278ed9cb7e..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed.provider; - -import org.apache.tuscany.sca.binding.feed.RSSBinding; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * Implementation of the RSS binding provider. - * - * @version $Rev$ $Date$ - */ -class RSSReferenceBindingProvider implements ReferenceBindingProvider { - - private RuntimeComponentReference reference; - private RSSBinding binding; - - RSSReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - RSSBinding binding) { - this.reference = reference; - this.binding = binding; - } - - public Invoker createInvoker(Operation operation) { - return new RSSBindingInvoker(binding.getURI(), "rss_2.0"); - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - public void start() { - } - - public void stop() { - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java b/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java deleted file mode 100644 index 779b28cef6..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.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 org.apache.tuscany.sca.binding.feed.provider; - -import org.apache.tuscany.sca.binding.feed.RSSBinding; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Implementation of the RSS binding provider. - * - * @version $Rev$ $Date$ - */ -class RSSServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponentService service; - private RSSBinding binding; - private ServletHost servletHost; - private MessageFactory messageFactory; - private String servletMapping; - private Mediator mediator; - - RSSServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - RSSBinding binding, - ServletHost servletHost, - MessageFactory messageFactory, - Mediator mediator) { - this.service = service; - this.binding = binding; - this.servletHost = servletHost; - this.messageFactory = messageFactory; - this.mediator = mediator; - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - RuntimeComponentService componentService = (RuntimeComponentService)service; - RuntimeWire wire = componentService.getRuntimeWire(binding); - - FeedBindingListenerServlet servlet = - new FeedBindingListenerServlet(wire, messageFactory, mediator, "rss_2.0"); - - servletMapping = binding.getURI(); - servletHost.addServletMapping(servletMapping, servlet); - - // Save the actual binding URI in the binding - binding.setURI(servletHost.getURLMapping(binding.getURI()).toString()); - } - - public void stop() { - servletHost.removeServletMapping(servletMapping); - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory b/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory deleted file mode 100644 index 49478e3db0..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory +++ /dev/null @@ -1,19 +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. - -# Implementation class for the model factory -org.apache.tuscany.sca.binding.feed.impl.AtomBindingFactoryImpl
\ No newline at end of file diff --git a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory b/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory deleted file mode 100644 index f69b024da9..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory +++ /dev/null @@ -1,19 +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. - -# Implementation class for the model factory -org.apache.tuscany.sca.binding.feed.impl.RSSBindingFactoryImpl
\ No newline at end of file diff --git a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 3f073b28b9..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,20 +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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.atom,model=org.apache.tuscany.sca.binding.feed.AtomBinding,factory=org.apache.tuscany.sca.binding.feed.AtomBindingFactory -org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.rss,model=org.apache.tuscany.sca.binding.feed.RSSBinding,factory=org.apache.tuscany.sca.binding.feed.RSSBindingFactory diff --git a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index f81a0d33ae..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory +++ /dev/null @@ -1,20 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.feed.provider.AtomBindingProviderFactory;model=org.apache.tuscany.sca.binding.feed.AtomBinding
-org.apache.tuscany.sca.binding.feed.provider.RSSBindingProviderFactory;model=org.apache.tuscany.sca.binding.feed.RSSBinding
diff --git a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java b/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java deleted file mode 100644 index 4a33637121..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class Consumer { - - public static void main(String[] args) throws Exception { - - SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/feed/Consumer.composite"); - - CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient"); - testService.testCustomerCollection(); - - scaDomain.close(); - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java b/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java deleted file mode 100644 index b7416011ba..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -public interface CustomerClient { - - void testCustomerCollection() throws Exception; -} diff --git a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java b/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java deleted file mode 100644 index 884e954036..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.feed.collection.Collection; -import org.osoa.sca.annotations.Reference; - -import com.sun.syndication.feed.atom.Content; -import com.sun.syndication.feed.atom.Entry; -import com.sun.syndication.feed.atom.Feed; - -public class CustomerClientImpl implements CustomerClient { - - @Reference - public Collection resourceCollection; - - public void testCustomerCollection() throws Exception { - - Entry newEntry = newEntry("Sponge Bob"); - System.out.println(">>> post entry=" + newEntry.getTitle()); - newEntry = resourceCollection.post(newEntry); - System.out.println("<<< post id=" + newEntry.getId() + " entry=" + newEntry.getTitle()); - - newEntry = newEntry("Jane Bond"); - System.out.println(">>> post entry=" + newEntry.getTitle()); - newEntry = resourceCollection.post(newEntry); - System.out.println("<<< post id=" + newEntry.getId() + " entry=" + newEntry.getTitle()); - - System.out.println(">>> get id=" + newEntry.getId()); - Entry entry = resourceCollection.get(newEntry.getId()); - System.out.println("<<< get id=" + entry.getId() + " entry=" + entry.getTitle()); - - System.out.println(">>> put id=" + newEntry.getId() + " entry=" + entry.getTitle()); - resourceCollection.put(entry.getId(), updateEntry(entry, "James Bond")); - System.out.println("<<< put id=" + entry.getId() + " entry=" + entry.getTitle()); - - System.out.println(">>> delete id=" + entry.getId()); - resourceCollection.delete(entry.getId()); - System.out.println("<<< delete id=" + entry.getId()); - - System.out.println(">>> get collection"); - Feed feed = resourceCollection.getFeed(); - System.out.println("<<< get collection"); - for (Object o : feed.getEntries()) { - Entry e = (Entry)o; - System.out.println("id = " + e.getId() + " entry = " + e.getTitle()); - } - } - - private Entry newEntry(String value) { - - Entry entry = new Entry(); - entry.setTitle("customer " + value); - - Content content = new Content(); - content.setValue(value); - content.setType(Content.TEXT); - List<Object> list = new ArrayList<Object>(); - list.add(content); - entry.setContents(list); - - return entry; - } - - private Entry updateEntry(Entry entry, String value) { - - entry.setTitle("customer " + value); - Content content = new Content(); - content.setValue(value); - content.setType(Content.TEXT); - List<Object> list = new ArrayList<Object>(); - list.add(content); - entry.setContents(list); - - return entry; - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java b/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java deleted file mode 100644 index ca4a5a1946..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import org.apache.tuscany.sca.binding.feed.collection.Collection; -import org.osoa.sca.annotations.Scope; - -import com.sun.syndication.feed.atom.Content; -import com.sun.syndication.feed.atom.Entry; -import com.sun.syndication.feed.atom.Feed; -import com.sun.syndication.feed.atom.Link; - -@Scope("COMPOSITE") -public class CustomerCollectionImpl implements Collection { - - private Map<String, Entry> entries = new HashMap<String, Entry>(); - - public CustomerCollectionImpl() { - - for (int i = 0; i < 4; i++) { - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - - Entry entry = new Entry(); - entry.setTitle("customer " + "Jane Doe_" + String.valueOf(i)); - entry.setId(id); - - Content content = new Content(); - content.setValue("Jane Doe_" + String.valueOf(i)); - content.setType(Content.TEXT); - entry.setContents(Collections.singletonList(content)); - - List<Link> links = new ArrayList<Link>(); - Link link = new Link(); - link.setRel("edit"); - link.setHref("" + id); - links.add(link); - entry.setOtherLinks(links); - - links = new ArrayList<Link>(); - link = new Link(); - link.setRel("alternate"); - link.setHref("" + id); - links.add(link); - entry.setAlternateLinks(links); - - entry.setCreated(new Date()); - - entries.put(id, entry); - System.out.println(">>> id=" + id); - } - } - - public Entry post(Entry entry) { - System.out.println(">>> ResourceCollectionImpl.post entry=" + entry.getTitle()); - - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - entry.setId(id); - - List<Link> links = new ArrayList<Link>(); - Link link = new Link(); - link.setRel("edit"); - link.setHref("" + id); - links.add(link); - entry.setOtherLinks(links); - - links = new ArrayList<Link>(); - link = new Link(); - link.setRel("alternate"); - link.setHref("" + id); - links.add(link); - entry.setAlternateLinks(links); - - entry.setCreated(new Date()); - - entries.put(id, entry); - System.out.println(">>> ResourceCollectionImpl.post return id=" + id); - - return entry; - } - - public Entry get(String id) { - System.out.println(">>> ResourceCollectionImpl.get id=" + id); - return entries.get(id); - } - - public void put(String id, Entry entry) { - System.out.println(">>> ResourceCollectionImpl.put id=" + id + " entry=" + entry.getTitle()); - - entry.setUpdated(new Date()); - entries.put(id, entry); - } - - public void delete(String id) { - System.out.println(">>> ResourceCollectionImpl.delete id=" + id); - entries.remove(id); - } - - @SuppressWarnings("unchecked") - public Feed getFeed() { - System.out.println(">>> ResourceCollectionImpl.get collection"); - - Feed feed = new Feed(); - feed.setTitle("customers"); - Content subtitle = new Content(); - subtitle.setValue("This is a sample feed"); - feed.setSubtitle(subtitle); - feed.getEntries().addAll(entries.values()); - return feed; - } - -} diff --git a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java b/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java deleted file mode 100644 index a9ddc1a2c8..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.feed; - -import java.io.IOException; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class Provider { - - public static void main(String[] args) { - - SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/feed/Provider.composite"); - System.out.println("Provider.composite ready..."); - - try { - System.in.read(); - } catch (IOException e) { - e.printStackTrace(); - } - - scaDomain.close(); - } -} diff --git a/branches/sca-equinox/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite b/branches/sca-equinox/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite deleted file mode 100644 index 1987c042e6..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" - targetNamespace="http://customer" - name="Consumer"> - - <component name="CustomerClient"> - <implementation.java class="org.apache.tuscany.sca.binding.feed.CustomerClientImpl"/> - <reference name="resourceCollection"> - <tuscany:binding.atom uri="http://localhost:8084/customer"/> - </reference> - </component> - -</composite> diff --git a/branches/sca-equinox/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite b/branches/sca-equinox/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite deleted file mode 100644 index 9268fbe211..0000000000 --- a/branches/sca-equinox/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite +++ /dev/null @@ -1,33 +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://www.osoa.org/xmlns/sca/1.0" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace = "http://customer" - name="Provider">
-
- <service name="customer" promote="CustomerCollection">
- <tuscany:binding.atom uri = "http://localhost:8084/customer"/>
- </service>
-
- <component name="CustomerCollection">
- <implementation.java class="org.apache.tuscany.sca.binding.feed.CustomerCollectionImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/modules/binding-notification/LICENSE b/branches/sca-equinox/modules/binding-notification/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/binding-notification/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/binding-notification/META-INF/README b/branches/sca-equinox/modules/binding-notification/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/binding-notification/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/binding-notification/NOTICE b/branches/sca-equinox/modules/binding-notification/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/binding-notification/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/binding-notification/pom.xml b/branches/sca-equinox/modules/binding-notification/pom.xml deleted file mode 100644 index 43ae0a2552..0000000000 --- a/branches/sca-equinox/modules/binding-notification/pom.xml +++ /dev/null @@ -1,150 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-notification</artifactId>
- <name>Apache Tuscany SCA Notification Binding Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- <exclusions>
- <exclusion>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding-axiom</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-api</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- </exclusions>
- <version>1.2.5</version>
- </dependency>
-
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.8.1</version>
- <scope>runtime</scope>
- </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom-impl</artifactId>
- <version>1.2.5</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.notification</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.notification*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java deleted file mode 100644 index 8e6a78551a..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java +++ /dev/null @@ -1,31 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-/**
- * Creates runtime artifacts for the notification binding
- *
- * @version $Rev$ $Date$
- */
-public class DefaultNotificationBindingFactory implements NotificationBindingFactory {
-
- public NotificationBinding createNotificationBinding() {
- return new NotificationBindingImpl();
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java deleted file mode 100644 index 940a69784b..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java +++ /dev/null @@ -1,37 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-
-import org.apache.tuscany.sca.assembly.Binding;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationBinding extends Binding {
-
- String getNtmAddress();
-
- void setNtmAddress(String ntm);
-
- URI getNotificationType();
-
- void setNotificationType(URI notificationType);
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java deleted file mode 100644 index 31a8b26c02..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java +++ /dev/null @@ -1,27 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationBindingFactory {
-
- NotificationBinding createNotificationBinding();
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java deleted file mode 100644 index f4c210ba7c..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationBindingImpl implements NotificationBinding {
- private String name;
- private String uri;
- protected String ntmAddress;
- protected URI notificationType;
-
- @Override
- public Object clone() {
- return this;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public String getNtmAddress() {
- return ntmAddress;
- }
-
- public void setNtmAddress(String ntmAddress) {
- this.ntmAddress = ntmAddress;
- }
-
- public URI getNotificationType() {
- return notificationType;
- }
-
- public void setNotificationType(URI notificationType) {
- this.notificationType = notificationType;
- }
-
- public void setUnresolved(boolean unresolved) {
- }
-
- public boolean isUnresolved() {
- return false;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java deleted file mode 100644 index 7fdeee189b..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java +++ /dev/null @@ -1,68 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.binding.notification.encoding.DefaultEncodingRegistry;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-import org.apache.tuscany.sca.host.http.ExtensibleServletHost;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationBindingModuleActivator implements ModuleActivator {
-
- private NotificationBindingProcessor bindingProcessor;
-
- private DefaultEncodingRegistry encodingRegistry;
- private ServletHost servletHost;
-
-
- public void start(ExtensionPointRegistry registry) {
- encodingRegistry = new DefaultEncodingRegistry();
- servletHost = new ExtensibleServletHost(registry.getExtensionPoint(ServletHostExtensionPoint.class));
-
- AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
- PolicyFactory policyFactory = new DefaultPolicyFactory();
- DefaultNotificationBindingFactory bindingFactory = new DefaultNotificationBindingFactory();
- bindingProcessor = new NotificationBindingProcessor(assemblyFactory, policyFactory, bindingFactory);
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- processors.addArtifactProcessor(bindingProcessor);
-
- NotificationBindingProviderFactory nbpf = new NotificationBindingProviderFactory(servletHost,
- encodingRegistry);
- ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
- providerFactories.addProviderFactory(nbpf);
- }
-
- public void stop(ExtensionPointRegistry registry) {
- encodingRegistry.stop();
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
- processors.removeArtifactProcessor(bindingProcessor);
- }
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java deleted file mode 100644 index 892700779f..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java +++ /dev/null @@ -1,97 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.policy.PolicyFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationBindingProcessor implements StAXArtifactProcessor<NotificationBinding> {
-
- protected static final QName BINDING_NOTIFICATION = new QName(Constants.SCA10_TUSCANY_NS, "binding.notification");
-
- private NotificationBindingFactory bindingFactory;
-
- public NotificationBindingProcessor(AssemblyFactory assemblyFactory,
- PolicyFactory policyFactory,
- NotificationBindingFactory bindingFactory) {
- this.bindingFactory = bindingFactory;
- }
-
- public QName getArtifactType() {
- return BINDING_NOTIFICATION;
- }
-
- public Class<NotificationBinding> getModelType() {
- return NotificationBinding.class;
- }
-
- public NotificationBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- assert BINDING_NOTIFICATION.equals(reader.getName());
- String bindingUri = reader.getAttributeValue(null, "uri");
- String name = reader.getAttributeValue(null, "name");
- String ntm = reader.getAttributeValue(null, "ntm");
- String notificationType = reader.getAttributeValue(null, "notificationType");
-
- NotificationBinding binding = bindingFactory.createNotificationBinding();
- if (name != null) {
- binding.setName(name);
- }
- if (bindingUri != null) {
- binding.setURI(bindingUri);
- }
- if (ntm != null) {
- binding.setNtmAddress(ntm);
- }
- if (notificationType != null) {
- try {
- binding.setNotificationType(new URI(notificationType));
- } catch(URISyntaxException e) {
- throw new ContributionReadException(e);
- }
- }
- return binding;
- }
-
- public void write(NotificationBinding notificationBinding, XMLStreamWriter writer)
- throws ContributionWriteException, XMLStreamException {
-
- //FIXME Implement this method
- }
-
- public void resolve(NotificationBinding notificationBinding, ModelResolver resolver) throws ContributionResolveException {
- }
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java deleted file mode 100644 index e5ea616fdb..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java +++ /dev/null @@ -1,342 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.InetAddress;
-import java.net.URI;
-import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.binding.notification.encoding.AbstractEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerConsumerReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerIDEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerProducerReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverrideEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverrideResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ConsumerReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EndConsumersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EndProducersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointAddressEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReferenceEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NeighborBrokerConsumersEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NeighborsEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerAckEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumerResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducerResponseEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ReferencePropertiesEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.RemoveBrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.RemovedBrokerEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.ReplaceBrokerConnectionEnDeCoder;
-import org.apache.tuscany.sca.binding.notification.encoding.SubscribeEnDeCoder;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.provider.BindingProviderFactory;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * The runtime representation of the notification reference binding
- *
- * @version $Rev$ $Date$
- */
-public class NotificationBindingProviderFactory implements BindingProviderFactory<NotificationBinding>,
- NotificationBrokerManager {
- private static final String DEFAULT_PORT = "8083";
-
- private ServletHost servletHost;
- private NotificationTypeManagerImpl notificationTypeManager;
- private EncodingRegistry encodingRegistry;
- private String httpUrl;
- private Map<URI, NotificationReferenceBindingProvider> referenceBindingProviders;
- private Map<URI, NotificationServiceBindingProvider> serviceBindingProviders;
-
- private static NotificationBindingProviderFactory factoryInstance = null;
-
- public NotificationBindingProviderFactory(ServletHost servletHost, EncodingRegistry encodingRegistry) {
- this.servletHost = servletHost;
- this.encodingRegistry = encodingRegistry;
- this.referenceBindingProviders = new HashMap<URI, NotificationReferenceBindingProvider>();
- this.serviceBindingProviders = new HashMap<URI, NotificationServiceBindingProvider>();
-
- factoryInstance = this;
- }
-
- public Class<NotificationBinding> getModelType() {
- return NotificationBinding.class;
- }
-
- public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
- RuntimeComponentReference reference,
- NotificationBinding binding) {
- init();
- URI notificationType = binding.getNotificationType();
- if (!validReferenceBinding(binding)) {
- throw new RuntimeException("Binding not valid");
- }
- NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
- if (referenceBindingProvider == null) {
- referenceBindingProvider =
- new NotificationReferenceBindingProvider(binding, component, reference, servletHost,
- notificationTypeManager, encodingRegistry, httpUrl, this);
- referenceBindingProviders.put(notificationType, referenceBindingProvider);
- }
- return referenceBindingProvider;
- }
-
- public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
- RuntimeComponentService service,
- NotificationBinding binding) {
- init();
- URI notificationType = binding.getNotificationType();
- if (!validServiceBinding(binding)) {
- throw new RuntimeException("Binding not valid");
- }
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider == null) {
- serviceBindingProvider =
- new NotificationServiceBindingProvider(binding, component, service, servletHost,
- notificationTypeManager, encodingRegistry, httpUrl, this);
- serviceBindingProviders.put(notificationType, serviceBindingProvider);
- }
- return serviceBindingProvider;
- }
-
- private boolean validServiceBinding(NotificationBinding binding) {
- URI notificationType = binding.getNotificationType();
- NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
- if (referenceBindingProvider != null) {
- return validBinding(binding, referenceBindingProvider.getBinding());
- }
- return true;
- }
-
- private boolean validReferenceBinding(NotificationBinding binding) {
- URI notificationType = binding.getNotificationType();
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider != null) {
- return validBinding(binding, serviceBindingProvider.getBinding());
- }
- return true;
- }
-
- private boolean validBinding(NotificationBinding binding1, NotificationBinding binding2) {
- String binding1NtmAddress = binding1.getNtmAddress();
- String binding2NtmAddress = binding2.getNtmAddress();
- if (binding1NtmAddress == null && binding2NtmAddress == null) {
- return true;
- } else if (binding1NtmAddress == null || binding2NtmAddress == null) {
- return false;
- } else {
- return binding1NtmAddress.equals(binding2NtmAddress);
- }
- }
-
- /*
- * These methods are intended to be called by the binding providers' start
- * methods. By the time this happens, both referenceBindingProvider != null &&
- * serviceBindingProvider != null, if they are ever going to be
- */
- public void serviceProviderStarted(URI notificationType,
- NotificationServiceBindingProvider serviceBindingProvider,
- URL remoteNtmUrl) {
- NotificationReferenceBindingProvider referenceBindingProvider = referenceBindingProviders.get(notificationType);
- if (referenceBindingProvider == null) {
- serviceBindingProvider.deployConsumer();
- } else if (referenceBindingProvider.isStarted()) {
- String brokerID = BrokerID.generate();
- deployBroker(notificationType, serviceBindingProvider, referenceBindingProvider, brokerID, remoteNtmUrl);
- }
- }
-
- public void referenceProviderStarted(URI notificationType,
- NotificationReferenceBindingProvider referenceBindingProvider,
- URL remoteNtmUrl) {
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider == null) {
- referenceBindingProvider.deployProducer();
- } else if (serviceBindingProvider.isStarted()) {
- String brokerID = BrokerID.generate();
- deployBroker(notificationType, serviceBindingProvider, referenceBindingProvider, brokerID, remoteNtmUrl);
- }
- }
-
- private void deployBroker(URI notificationType,
- NotificationServiceBindingProvider serviceBindingProvider,
- NotificationReferenceBindingProvider referenceBindingProvider,
- String brokerID,
- URL remoteNtmUrl) {
- URL consumerUrl = serviceBindingProvider.getURL();
- URL producerUrl = referenceBindingProvider.getURL();
- List<EndpointReference> consumerList = new ArrayList<EndpointReference>();
- List<EndpointReference> producerList = new ArrayList<EndpointReference>();
- boolean firstBroker =
- notificationTypeManager.newBroker(notificationType,
- consumerUrl,
- producerUrl,
- brokerID,
- remoteNtmUrl,
- consumerList,
- producerList);
- if (firstBroker) {
- serviceBindingProvider.deployBroker(brokerID, null, producerList);
- referenceBindingProvider.deployBroker(brokerID, null, consumerList);
- if (!consumerList.isEmpty() || !producerList.isEmpty()) {
- notificationTypeManager.newBrokerAck(remoteNtmUrl);
- }
- } else {
- // returned lists contain broker consumers and producers and are the
- // same length
- int index = consumerList.size() - 1;
- // establish connection with picked broker
- EndpointReference brokerConsumerEPR = consumerList.get(index);
- EndpointReference brokerProducerEPR = producerList.get(index);
- serviceBindingProvider.deployBroker(brokerID, brokerProducerEPR, null);
- referenceBindingProvider.deployBroker(brokerID, brokerConsumerEPR, null);
- }
- }
-
- public void replaceConsumersBrokerConnection(URI notificationType, EndpointReference chosenBrokerProducerEpr) {
- NotificationServiceBindingProvider serviceBindingProvider = serviceBindingProviders.get(notificationType);
- if (serviceBindingProvider == null) {
- throw new RuntimeException("Missing service binding provider for [" + notificationType + "]");
- }
- serviceBindingProvider.replaceBrokerConnection(chosenBrokerProducerEpr);
- }
-
- public static void removeBroker(URI notificationType) {
- if (factoryInstance == null) {
- throw new RuntimeException("Missing factory instance");
- }
- NotificationReferenceBindingProvider referenceBindingProvider =
- factoryInstance.referenceBindingProviders.get(notificationType);
- NotificationServiceBindingProvider serviceBindingProvider =
- factoryInstance.serviceBindingProviders.get(notificationType);
- if (referenceBindingProvider == null || serviceBindingProvider == null) {
- throw new RuntimeException("Not a broker for [" + notificationType + "]");
- }
- referenceBindingProvider.undeployBroker(serviceBindingProvider.getURL());
- }
-
- private String getBaseURI() {
- if (httpUrl == null) {
- // Allow priviledged access to read system property. Requires PropertyPermision in security policy.
- String httpPort = AccessController.doPrivileged(new PrivilegedAction<String>() {
- public String run() {
- return System.getProperty("notification.httpPort");
- }
- });
-
- if (httpPort == null) {
- httpPort = DEFAULT_PORT;
- }
- String localHost = null;
- try {
- localHost = InetAddress.getLocalHost().getCanonicalHostName();
- } catch (Exception e) {
- e.printStackTrace();
- localHost = "localhost";
- }
- httpUrl = "http://" + localHost + ((httpPort != null) ? (":" + httpPort) : "");
- }
- return httpUrl;
- }
-
- @SuppressWarnings("unchecked")
- public void init() {
- if (notificationTypeManager == null) {
- AbstractEnDeCoder subscribeEnDeCoder = new SubscribeEnDeCoder(encodingRegistry);
- subscribeEnDeCoder.start();
- AbstractEnDeCoder consumerReferenceEnDeCoder = new ConsumerReferenceEnDeCoder(encodingRegistry);
- consumerReferenceEnDeCoder.start();
- AbstractEnDeCoder endpointAddressEnDeCoder = new EndpointAddressEnDeCoder(encodingRegistry);
- endpointAddressEnDeCoder.start();
- AbstractEnDeCoder newConsumerEnDeCoder = new NewConsumerEnDeCoder(encodingRegistry);
- newConsumerEnDeCoder.start();
- AbstractEnDeCoder newProducerEnDeCoder = new NewProducerEnDeCoder(encodingRegistry);
- newProducerEnDeCoder.start();
- AbstractEnDeCoder newConsumerResponseEnDeCoder = new NewConsumerResponseEnDeCoder(encodingRegistry);
- newConsumerResponseEnDeCoder.start();
- AbstractEnDeCoder newProducerResponseEnDeCoder = new NewProducerResponseEnDeCoder(encodingRegistry);
- newProducerResponseEnDeCoder.start();
- AbstractEnDeCoder newBrokerEnDeCoder = new NewBrokerEnDeCoder(encodingRegistry);
- newBrokerEnDeCoder.start();
- AbstractEnDeCoder brokerConsumerReferenceEnDeCoder = new BrokerConsumerReferenceEnDeCoder(encodingRegistry);
- brokerConsumerReferenceEnDeCoder.start();
- AbstractEnDeCoder brokerProducerReferenceEnDeCoder = new BrokerProducerReferenceEnDeCoder(encodingRegistry);
- brokerProducerReferenceEnDeCoder.start();
- AbstractEnDeCoder newBrokerResponseEnDeCoder = new NewBrokerResponseEnDeCoder(encodingRegistry);
- newBrokerResponseEnDeCoder.start();
- AbstractEnDeCoder brokersEnDeCoder = new BrokersEnDeCoder(encodingRegistry);
- brokersEnDeCoder.start();
- AbstractEnDeCoder brokerEnDeCoder = new BrokerEnDeCoder(encodingRegistry);
- brokerEnDeCoder.start();
- AbstractEnDeCoder endConsumersEnDeCoder = new EndConsumersEnDeCoder(encodingRegistry);
- endConsumersEnDeCoder.start();
- AbstractEnDeCoder endProducersEnDeCoder = new EndProducersEnDeCoder(encodingRegistry);
- endProducersEnDeCoder.start();
- AbstractEnDeCoder endpointReferenceEnDeCoder = new EndpointReferenceEnDeCoder(encodingRegistry);
- endpointReferenceEnDeCoder.start();
- AbstractEnDeCoder referencePropertiesEnDeCoder = new ReferencePropertiesEnDeCoder(encodingRegistry);
- referencePropertiesEnDeCoder.start();
- AbstractEnDeCoder brokerIDEnDeCoder = new BrokerIDEnDeCoder(encodingRegistry);
- brokerIDEnDeCoder.start();
- AbstractEnDeCoder connectionOverrideEnDeCoder = new ConnectionOverrideEnDeCoder(encodingRegistry);
- connectionOverrideEnDeCoder.start();
- AbstractEnDeCoder connectionOverrideResponseEnDeCoder =
- new ConnectionOverrideResponseEnDeCoder(encodingRegistry);
- connectionOverrideResponseEnDeCoder.start();
- AbstractEnDeCoder newBrokerAckEnDeCoder = new NewBrokerAckEnDeCoder(encodingRegistry);
- newBrokerAckEnDeCoder.start();
- AbstractEnDeCoder neighborBrokerConsumersEnDeCoder = new NeighborBrokerConsumersEnDeCoder(encodingRegistry);
- neighborBrokerConsumersEnDeCoder.start();
- AbstractEnDeCoder removeBrokerEnDeCoder = new RemoveBrokerEnDeCoder(encodingRegistry);
- removeBrokerEnDeCoder.start();
- AbstractEnDeCoder removedBrokerEnDeCoder = new RemovedBrokerEnDeCoder(encodingRegistry);
- removedBrokerEnDeCoder.start();
- AbstractEnDeCoder neighborsEnDeCoder = new NeighborsEnDeCoder(encodingRegistry);
- neighborsEnDeCoder.start();
- AbstractEnDeCoder replaceBrokerConnectionEnDeCoder = new ReplaceBrokerConnectionEnDeCoder(encodingRegistry);
- replaceBrokerConnectionEnDeCoder.start();
-
- notificationTypeManager = new NotificationTypeManagerImpl();
- notificationTypeManager.setServletHost(servletHost);
- notificationTypeManager.setEncodingRegistry(encodingRegistry);
- notificationTypeManager.init();
-
- getBaseURI();
- }
- }
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java deleted file mode 100644 index 8a6d57e825..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java +++ /dev/null @@ -1,40 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URL;
-
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationBrokerManager {
-
- void serviceProviderStarted(URI notificationType,
- NotificationServiceBindingProvider serviceBindingProvider,
- URL remoteNtmUrl);
-
- void referenceProviderStarted(URI notificationType,
- NotificationReferenceBindingProvider referenceBindingProvider,
- URL remoteNtmUrl);
-
- void replaceConsumersBrokerConnection(URI notificationType, EndpointReference chosenBrokerProducerEpr);
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java deleted file mode 100644 index 8980fa26ff..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java +++ /dev/null @@ -1,126 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.io.OutputStream;
-import java.util.HashMap;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.binding.notification.NotificationReferenceBindingProvider.SubscriberInfo;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.Writeable;
-import org.apache.tuscany.sca.implementation.notification.ImmutableMessage;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-
-/**
- * Turns invoke into remote message fan-out
- *
- * @version $Rev$ $Date$
- */
-public class NotificationReferenceBindingInvoker implements Invoker {
-
- private static final Message RESPONSE = new ImmutableMessage();
- private Operation operation;
-
- private NotificationReferenceBindingProvider notificationReferenceBindingProvider;
-
- public NotificationReferenceBindingInvoker(Operation operation,
- NotificationReferenceBindingProvider notificationReferenceBindingProvider) {
- this.operation = operation;
- this.notificationReferenceBindingProvider = notificationReferenceBindingProvider;
- }
-
- public Message invoke(Message msg) {
- Object payload = msg.getBody();
- if (payload == null) {
- throw new RuntimeException("Message body is null");
- }
- Writeable writeable = null;
- String incomingBrokerID = null;
- if (payload.getClass().isArray()) {
- Object[] bodyArray = (Object[])payload;
- if (bodyArray.length == 3) {
- writeable = getWriteableFromByteArray((byte[])bodyArray[1]);
- incomingBrokerID = (String)bodyArray[2];
- } else if (bodyArray.length == 1) {
- writeable = getWriteableFromPayload(bodyArray[0]);
- } else {
- throw new RuntimeException("Invalid body array size");
- }
- } else {
- writeable = getWriteableFromPayload(payload);
- }
-
- try {
- for (SubscriberInfo subscriber : notificationReferenceBindingProvider.getSubscribers()) {
- // check for each subscriber's broker id and skip if equal
- if (incomingBrokerID != null && subscriber.brokerID != null && incomingBrokerID.equals(subscriber.brokerID)) {
- continue;
- }
- HashMap<String, String> headers = new HashMap<String, String>();
- headers.put(IOUtils.Notification_Operation, operation.getName());
- String brokerID = notificationReferenceBindingProvider.getBrokerID();
- if (brokerID != null) {
- headers.put(Constants.Broker_ID, brokerID);
- }
- IOUtils.sendHttpRequest(subscriber.address, headers, writeable, null);
- }
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException("Sender caught exception", e);
- }
- return RESPONSE;
- }
-
- private Writeable getWriteableFromPayload(Object payload) throws RuntimeException {
- if (!(payload instanceof OMElement)) {
- throw new RuntimeException("payload not OMElement");
- }
- final OMElement element = (OMElement)payload;
- Writeable writeable = new Writeable() {
- public void write(OutputStream os) throws IOUtilsException {
- try {
- element.serialize(os);
- os.flush();
- } catch(Exception e) {
- throw new IOUtilsException(e);
- }
- }
- };
- return writeable;
- }
-
- private Writeable getWriteableFromByteArray(final byte[] payload) {
- Writeable writeable = new Writeable() {
- public void write(OutputStream os) throws IOUtilsException {
- try {
- os.write(payload);
- os.flush();
- } catch(Exception e) {
- throw new IOUtilsException(e);
- }
- }
- };
- return writeable;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java deleted file mode 100644 index c1a8162836..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java +++ /dev/null @@ -1,338 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.tuscany.sca.binding.notification.encoding.Broker;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverride;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingObject;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingUtils;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.ReplaceBrokerConnection;
-import org.apache.tuscany.sca.binding.notification.encoding.Subscribe;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet;
-import org.apache.tuscany.sca.binding.notification.util.URIUtil;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet.NotificationServletStreamHandler;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-
-/**
- * The runtime representation of the notification reference binding
- *
- * @version $Rev$ $Date$
- */
-public class NotificationReferenceBindingProvider
- implements ReferenceBindingProvider, NotificationServletStreamHandler {
-
- private static final String producerPathBase = "/producer";
- private NotificationReferenceBindingInvoker invoker;
- private RuntimeComponentReference reference;
- private NotificationBinding notificationBinding;
- private ServletHost servletHost;
- private NotificationTypeManager ntm;
- private EncodingRegistry encodingRegistry;
- private URI notificationType;
- private URL myUrl;
- private URL remoteNtmUrl;
- private boolean started;
- private NotificationBrokerManager brokerManager;
-
- private List<SubscriberInfo> subscribers;
- private String brokerID;
-
- public NotificationReferenceBindingProvider(NotificationBinding notificationBinding,
- RuntimeComponent component,
- RuntimeComponentReference reference,
- ServletHost servletHost,
- NotificationTypeManager ntm,
- EncodingRegistry encodingRegistry,
- String httpUrl,
- NotificationBrokerManager brokerManager) {
- this.invoker = null;
- this.notificationBinding = notificationBinding;
- this.reference = reference;
- this.servletHost = servletHost;
- this.ntm = ntm;
- this.encodingRegistry = encodingRegistry;
- this.notificationType = notificationBinding.getNotificationType();
- String ntmAddress = notificationBinding.getNtmAddress();
- String notificationTypePath = URIUtil.getPath(notificationType);
- try {
- this.myUrl = new URL(httpUrl + producerPathBase + notificationTypePath);
- this.remoteNtmUrl = null;
- if (ntmAddress != null && notificationType != null) {
- remoteNtmUrl = new URL(ntmAddress + notificationTypePath);
- }
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- this.started = false;
- this.brokerManager = brokerManager;
-
- URI uri = URI.create(component.getURI() + "/" + notificationBinding.getName());
- notificationBinding.setURI(uri.toString());
- Interface interfaze = reference.getInterfaceContract().getInterface();
- interfaze.resetDataBinding(OMElement.class.getName());
- for (Operation operation : interfaze.getOperations()) {
- operation.setNonBlocking(false);
- }
-
- this.subscribers = new ArrayList<SubscriberInfo>();
- this.brokerID = null;
- }
-
- public NotificationBinding getBinding() {
- return notificationBinding;
- }
-
- public URL getURL() {
- return myUrl;
- }
-
- public boolean isStarted() {
- return started;
- }
-
- public void setBrokerID(String brokerID) {
- this.brokerID = brokerID;
- }
-
- public String getBrokerID() {
- return brokerID;
- }
-
- public Invoker createInvoker(Operation operation) {
- if (invoker == null) {
- invoker = new NotificationReferenceBindingInvoker(operation, this);
- }
- return invoker;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return reference.getInterfaceContract();
- }
-
- public void start() {
- if (started) {
- return;
- }
-
- brokerManager.referenceProviderStarted(notificationType, this, remoteNtmUrl);
- started = true;
- }
-
- public void stop() {
- }
-
- public void deployProducer() {
- List<URL> consumerList = new ArrayList<URL>();
- String sequenceType;
- try {
- sequenceType = ntm.newProducer(notificationType, myUrl, remoteNtmUrl, consumerList);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- if (Constants.EndConsumers.equals(sequenceType)) {
- for (URL consumerUrl : consumerList) {
- addSubscriberUrl(consumerUrl);
- }
- } else if (Constants.BrokerConsumers.equals(sequenceType)) {
- // Pick a broker consumer, for now the first one
- URL consumerUrl = consumerList.get(0);
- addSubscriberUrl(consumerUrl);
- }
-
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- public void deployBroker(String brokerID, EndpointReference brokerConsumerEPR, List<EndpointReference> consumerList) {
- if (brokerConsumerEPR != null) {
- addSubscriber(brokerConsumerEPR);
- }
- if (consumerList != null && !consumerList.isEmpty()) {
- for (EndpointReference consumerEPR : consumerList) {
- addSubscriber(consumerEPR);
- }
- }
- setBrokerID(brokerID);
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- public void undeployBroker(URL brokerConsumerUrl) {
- EndpointReference brokerConsumerEpr = EncodingUtils.createEndpointReference(brokerConsumerUrl, getBrokerID());
- ntm.removeBroker(brokerConsumerEpr, getNeighborBrokerConsumerEprs(), remoteNtmUrl);
- removeBrokerSubscribers();
- }
-
- public void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream) {
-
- try {
- EncodingObject eo = EncodingUtils.decodeFromStream(encodingRegistry, istream);
- if (eo instanceof Subscribe) {
- Subscribe sub = (Subscribe)eo;
- addSubscriber(sub.getConsumerReference().getReference());
- } else if (eo instanceof ConnectionOverride) {
- ConnectionOverride co = (ConnectionOverride)eo;
- replaceSubscribers(co.getBrokerConsumerReference().getReference());
- } else if (eo instanceof ReplaceBrokerConnection) {
- ReplaceBrokerConnection rbc = (ReplaceBrokerConnection)eo;
- URL removedBrokerConsumerEpr = rbc.getRemovedBroker().getReference().getEndpointAddress().getAddress();
- if (rbc.getNeighbors() != null) {
- int choice = rbc.getNeighbors().getBrokerSequence().size() - 1;
- Broker chosenBroker = rbc.getNeighbors().getBrokerSequence().get(choice);
- replaceBrokerSubscriber(removedBrokerConsumerEpr,
- chosenBroker.getBrokerConsumerReference().getReference());
- brokerManager.replaceConsumersBrokerConnection(notificationType,
- chosenBroker.getBrokerProducerReference().getReference());
- } else {
- replaceBrokerSubscriber(removedBrokerConsumerEpr, null);
- }
- } else {
- throw new RuntimeException("Unknown encoding object");
- }
- } catch(Throwable e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- public synchronized List<SubscriberInfo> getSubscribers() {
- return subscribers;
- }
-
- private void addSubscriberUrl(URL subscriberUrl) {
- addSubscriber(subscriberUrl, null);
- }
-
- private void addSubscriber(EndpointReference subscriberEPR) {
- BrokerID brokerID = null;
- if (subscriberEPR.getReferenceProperties() != null) {
- brokerID = subscriberEPR.getReferenceProperties().getProperty(BrokerID.class);
- }
- addSubscriber(subscriberEPR.getEndpointAddress().getAddress(), (brokerID != null ? brokerID.getID() : null));
- }
-
- private void addSubscriber(URL address, String brokerID) {
- synchronized(this) {
- SubscriberInfo si = new SubscriberInfo(address);
- si.brokerID = brokerID;
- if (subscribers == null) {
- subscribers = new ArrayList<SubscriberInfo>();
- }
- subscribers.add(si);
- }
- }
-
- private void replaceSubscribers(EndpointReference brokerConsumerEPR) {
- synchronized(this) {
- subscribers = null;
- }
- addSubscriber(brokerConsumerEPR);
- }
-
- private void replaceBrokerSubscriber(URL removedBrokerConsumerUrl, EndpointReference chosenBrokerConsumerEpr) {
- synchronized(this) {
- if (subscribers == null) {
- throw new RuntimeException("No subscribers");
- }
- SubscriberInfo siToRemove = null;
- for (SubscriberInfo si : subscribers) {
- if (si.address.equals(removedBrokerConsumerUrl)) {
- siToRemove = si;
- }
- }
- if (siToRemove == null) {
- throw new RuntimeException("Can't find info for broker to remove [" + removedBrokerConsumerUrl + "]");
- }
- if (!subscribers.remove(siToRemove)) {
- throw new RuntimeException("Can't remove info for [" + siToRemove.address + "]");
- }
- }
- if (chosenBrokerConsumerEpr != null) {
- addSubscriber(chosenBrokerConsumerEpr);
- }
- }
-
- private List<EndpointReference> getNeighborBrokerConsumerEprs() {
- synchronized(this) {
- if (subscribers == null) {
- throw new RuntimeException("No subscribers");
- }
- List<EndpointReference> neighborBrokerConsumerEprs = new ArrayList<EndpointReference>();
- for(SubscriberInfo si : subscribers) {
- if (si.brokerID != null) {
- neighborBrokerConsumerEprs.add(EncodingUtils.createEndpointReference(si.address, si.brokerID));
- }
- }
-
- return neighborBrokerConsumerEprs;
- }
- }
-
- private void removeBrokerSubscribers() {
- synchronized(this) {
- if (subscribers == null) {
- throw new RuntimeException("No subscribers");
- }
- List<SubscriberInfo> sisToRemove = new ArrayList<SubscriberInfo>();
- for (SubscriberInfo si : subscribers) {
- if (si.brokerID != null) {
- sisToRemove.add(si);
- }
- }
- for(SubscriberInfo si : sisToRemove) {
- if (!subscribers.remove(si)) {
- throw new RuntimeException("Can't remove broker subscriber [" + si.address + "]");
- }
- }
- }
- }
-
- class SubscriberInfo {
- public URL address;
- public String brokerID;
-
- public SubscriberInfo(URL address) {
- this.address = address;
- this.brokerID = null;
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java deleted file mode 100644 index 4511fb454b..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java +++ /dev/null @@ -1,317 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerConsumerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.ConnectionOverride;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.encoding.ConsumerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingUtils;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointAddress;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.ReferenceProperties;
-import org.apache.tuscany.sca.binding.notification.encoding.Subscribe;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet;
-import org.apache.tuscany.sca.binding.notification.util.URIUtil;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.Writeable;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet.NotificationServletStreamHandler;
-import org.apache.tuscany.sca.core.invocation.MessageImpl;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.provider.ServiceBindingProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * The runtime representation of the local service binding
- *
- * @version $Rev$ $Date$
- */
-public class NotificationServiceBindingProvider
- implements ServiceBindingProvider, NotificationServletStreamHandler {
-
- private RuntimeWire wire;
- private NotificationBinding notificationBinding;
- private RuntimeComponentService service;
- private ServletHost servletHost;
- private NotificationTypeManager ntm;
- private EncodingRegistry encodingRegistry;
- private URI notificationType;
- private URL myUrl;
- private URL remoteNtmUrl;
- private static final String consumerPathBase = "/consumer";
- private boolean started;
- private NotificationBrokerManager brokerManager;
- private String brokerID;
-
- public NotificationServiceBindingProvider(NotificationBinding notificationBinding,
- RuntimeComponent component,
- RuntimeComponentService service,
- ServletHost servletHost,
- NotificationTypeManager ntm,
- EncodingRegistry encodingRegistry,
- String httpUrl,
- NotificationBrokerManager brokerManager) {
- this.notificationBinding = notificationBinding;
- this.service = service;
- this.servletHost = servletHost;
- this.ntm = ntm;
- this.encodingRegistry = encodingRegistry;
- this.notificationType = notificationBinding.getNotificationType();
- String ntmAddress = notificationBinding.getNtmAddress();
- String notificationTypePath = URIUtil.getPath(notificationType);
- try {
- this.myUrl = new URL(httpUrl + consumerPathBase + notificationTypePath);
- remoteNtmUrl = null;
- if (ntmAddress != null && notificationType != null) {
- remoteNtmUrl = new URL(ntmAddress + notificationTypePath);
- }
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- this.started = false;
- this.brokerManager = brokerManager;
- this.brokerID = null;
-
- URI uri = URI.create(component.getURI() + "/" + notificationBinding.getName());
- notificationBinding.setURI(uri.toString());
- Interface interfaze = service.getInterfaceContract().getInterface();
- interfaze.resetDataBinding(OMElement.class.getName());
- for (Operation operation : interfaze.getOperations()) {
- operation.setNonBlocking(false);
- }
- }
-
- public NotificationBinding getBinding() {
- return notificationBinding;
- }
-
- public boolean isStarted() {
- return started;
- }
-
- public URL getURL() {
- return myUrl;
- }
-
- public InterfaceContract getBindingInterfaceContract() {
- return service.getInterfaceContract();
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- if (started) {
- return;
- }
-
- RuntimeComponentService componentService = (RuntimeComponentService) service;
- wire = componentService.getRuntimeWire(notificationBinding);
-
- for (InvocationChain ch : wire.getInvocationChains()) {
- ch.setAllowsPassByReference(true);
- }
-
- brokerManager.serviceProviderStarted(notificationType, this, remoteNtmUrl);
- started = true;
- }
-
- public void stop() {
- }
-
- public void deployConsumer() {
- WriteableSubscribe ws = new WriteableSubscribe(myUrl, null);
- List<URL> producerList = new ArrayList<URL>();
- String sequenceType = ntm.newConsumer(notificationType, myUrl, remoteNtmUrl, producerList);
- if (Constants.EndProducers.equals(sequenceType)) {
- for (URL producerUrl : producerList) {
- subscribeWithProducer(producerUrl, null, ws);
- }
- } else if (Constants.BrokerProducers.equals(sequenceType)) {
- // Pick a broker producer, for now the first one
- URL producerUrl = producerList.get(0);
- subscribeWithProducer(producerUrl, null, ws);
- }
-
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- protected void subscribeWithProducer(URL producerUrl, String brokerID, WriteableSubscribe ws) {
- if (ws == null) {
- ws = new WriteableSubscribe(myUrl, brokerID);
- }
- try {
- IOUtils.sendHttpRequest(producerUrl, Constants.SUBSCRIBE_OP, ws, null);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public void deployBroker(String brokerID, EndpointReference brokerProducerEPR, List<EndpointReference> producerList) {
- if (brokerProducerEPR != null) {
- subscribeWithProducer(brokerProducerEPR.getEndpointAddress().getAddress(), brokerID, null);
- }
- this.brokerID = brokerID;
- if (producerList != null && !producerList.isEmpty()) {
- WriteableConnectionOverride wco = new WriteableConnectionOverride(myUrl, brokerID);
- for (EndpointReference producerEPR : producerList) {
- try {
- IOUtils.sendHttpRequest(producerEPR.getEndpointAddress().getAddress(), Constants.CONNECTION_OVERRIDE_OP, wco, null);
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- servletHost.addServletMapping(myUrl.toString(), new NotificationServlet(this));
- }
-
- public void replaceBrokerConnection(EndpointReference chosenBrokerProducerEpr) {
- if (brokerID == null) {
- throw new RuntimeException("Missing broker id");
- }
- URL producerUrl = chosenBrokerProducerEpr.getEndpointAddress().getAddress();
- subscribeWithProducer(producerUrl, brokerID, null);
- }
-
- public void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream) {
- String opHeader = headers.get(IOUtils.Notification_Operation);
- String incomingBrokerID = headers.get(Constants.Broker_ID);
- if (opHeader == null) {
- throw new RuntimeException("Missing operation header");
- }
- if (wire == null) {
- throw new RuntimeException("Missing wire");
- }
- InvocationChain chain = null;
- for (InvocationChain ch : wire.getInvocationChains()) {
- // We may want to use more than just the op name
- if(ch.getTargetOperation().getName().equals(opHeader)) {
- chain = ch;
- break;
- }
- }
- if (chain == null) {
- throw new RuntimeException("Can't find invocation chain match for [" + opHeader + "]");
- }
- byte[] payload = null;
- try {
- payload = IOUtils.readFully(istream, contentLength);
- } catch(IOException e) {
- throw new RuntimeException(e);
- }
- Object[] args = getArgsFromByteArray(payload, incomingBrokerID);
-
- invoke(chain, args);
-
- // Doing nothing to ostream is equivalent to returning null
- }
-
- private Object[] getArgsFromByteArray(byte[] payload, String incomingBrokerID) {
- try {
- StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(payload));
- OMElement element = builder.getDocumentElement();
- return new Object[] { element };
- } catch(Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- protected void invoke(InvocationChain chain, Object[] args) {
- Message msg = new MessageImpl();
- msg.setBody(args);
- chain.getHeadInvoker().invoke(msg);
- }
-
- class WriteableSubscribe implements Writeable {
-
- private Subscribe sub;
-
- public WriteableSubscribe(URL url, String brokerID) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(url);
- EndpointReference epr = new EndpointReference();
- epr.setEndpointAddress(epa);
- if (brokerID != null) {
- BrokerID cbi = new BrokerID();
- cbi.setID(brokerID);
- ReferenceProperties crp = new ReferenceProperties();
- crp.addProperty(cbi);
- epr.setReferenceProperties(crp);
- }
- ConsumerReference cr = new ConsumerReference();
- cr.setReference(epr);
- sub = new Subscribe();
- sub.setConsumerReference(cr);
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, sub, os);
- }
- }
-
- class WriteableConnectionOverride implements Writeable {
-
- private ConnectionOverride connectionOverride;
-
- public WriteableConnectionOverride(URL brokerConsumerUrl, String brokerID) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(brokerConsumerUrl);
- EndpointReference brokerConsumerEPR = new EndpointReference();
- brokerConsumerEPR.setEndpointAddress(epa);
- BrokerID cbi = new BrokerID();
- cbi.setID(brokerID);
- ReferenceProperties crp = new ReferenceProperties();
- crp.addProperty(cbi);
- brokerConsumerEPR.setReferenceProperties(crp);
- BrokerConsumerReference brokerConsumerReference = new BrokerConsumerReference();
- brokerConsumerReference.setReference(brokerConsumerEPR);
- connectionOverride = new ConnectionOverride();
- connectionOverride.setBrokerConsumerReference(brokerConsumerReference);
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, connectionOverride, os);
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java deleted file mode 100644 index 101d05f9cb..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java +++ /dev/null @@ -1,43 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.net.URI;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationTypeManager {
-
- String newConsumer(URI notificationType, URL consumerUrl, URL remoteNtmUrl, List<URL> producerList);
- String newProducer(URI notificationType, URL producerUrl, URL remoteNtmUrl, List<URL> consumerList);
- boolean newBroker(URI notificationType,
- URL consumerUrl,
- URL producerUrl,
- String brokerID,
- URL remoteNtmUrl,
- List<EndpointReference> consumerList,
- List<EndpointReference> producerList);
- void newBrokerAck(URL remoteNtmUrl);
- void removeBroker(EndpointReference brokerConsumerEpr, List<EndpointReference> neighborBrokerConsumerEprs, URL remoteNtmUrl);
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java deleted file mode 100644 index 527cfbd667..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java +++ /dev/null @@ -1,669 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-import org.apache.tuscany.sca.binding.notification.encoding.Broker;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerConsumerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerID;
-import org.apache.tuscany.sca.binding.notification.encoding.BrokerProducerReference;
-import org.apache.tuscany.sca.binding.notification.encoding.Brokers;
-import org.apache.tuscany.sca.binding.notification.encoding.Constants;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingException;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingObject;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingRegistry;
-import org.apache.tuscany.sca.binding.notification.encoding.EncodingUtils;
-import org.apache.tuscany.sca.binding.notification.encoding.EndConsumers;
-import org.apache.tuscany.sca.binding.notification.encoding.EndProducers;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointAddress;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReference;
-import org.apache.tuscany.sca.binding.notification.encoding.EndpointReferenceWrapper;
-import org.apache.tuscany.sca.binding.notification.encoding.NeighborBrokerConsumers;
-import org.apache.tuscany.sca.binding.notification.encoding.Neighbors;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBroker;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerAck;
-import org.apache.tuscany.sca.binding.notification.encoding.NewBrokerResponse;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumer;
-import org.apache.tuscany.sca.binding.notification.encoding.NewConsumerResponse;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducer;
-import org.apache.tuscany.sca.binding.notification.encoding.NewProducerResponse;
-import org.apache.tuscany.sca.binding.notification.encoding.RemoveBroker;
-import org.apache.tuscany.sca.binding.notification.encoding.RemovedBroker;
-import org.apache.tuscany.sca.binding.notification.encoding.ReplaceBrokerConnection;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet;
-import org.apache.tuscany.sca.binding.notification.util.URIUtil;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.ReadableContinuation;
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.Writeable;
-import org.apache.tuscany.sca.binding.notification.util.NotificationServlet.NotificationServletStreamHandler;
-import org.apache.tuscany.sca.host.http.ServletHost;
-
-/**
- * A notification type manager serves as a registry of producers and consumers, or brokers, for
- * any notification type. This class implements an interface that allows a reference provider
- * (a producer), a service provider (a consumer), or both (a broker, via the provider factory),
- * to access locally the ntm for its notification type, regardless of whether the ntm resides
- * locally or remotely.
- * At a given host there is only one reference provider and/or one service provider for any given
- * notification type. So, if the ntm for a notification type resides locally, then it is invoked
- * exclusively by either a reference provider (newProducer), a service provider (newConsumer), or
- * a provider factory (newBroker). And since these invocations occur when the providers are being
- * created then all three of consumerLists, producerLists and brokerLists must be null when these
- * invocations occur.
- *
- * @version $Rev$ $Date$
- */
-public class NotificationTypeManagerImpl implements NotificationTypeManager {
-
- private static final String ntmPathBase = "/ntm";
-
- private ServletHost servletHost;
- private EncodingRegistry encodingRegistry;
- private Map<URI, NotificationTypeManagerHandler> ntmHandlers;
-
- public NotificationTypeManagerImpl() {
- }
-
- public void setServletHost(ServletHost servletHost) {
- this.servletHost = servletHost;
- }
-
- public void setEncodingRegistry(EncodingRegistry encodingRegistry) {
- this.encodingRegistry = encodingRegistry;
- }
-
- public void init() {
- ntmHandlers = new HashMap<URI, NotificationTypeManagerHandler>();
- }
-
- public String newConsumer(URI notificationType, URL consumerUrl, URL remoteNtmUrl, List<URL> producerListResult) {
- if (ntmUrlIsRemote(consumerUrl, remoteNtmUrl)) {
- try {
- WriteableEPW wEPW = new WriteableEPW(new NewConsumer(), consumerUrl);
- InputStreamDecoder isd = new InputStreamDecoder();
- NewConsumerResponse ncr =
- (NewConsumerResponse)IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_CONSUMER_OP, wEPW, isd);
- String sequenceType = ncr.getSequenceType();
- if (Constants.EndProducers.equals(sequenceType) || Constants.BrokerProducers.equals(sequenceType)) {
- for (EndpointReference epr : ncr.getReferenceSequence()) {
- producerListResult.add(epr.getEndpointAddress().getAddress());
- }
- }
- return sequenceType;
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- } else {
- NotificationTypeManagerHandler ntmHandler = ntmHandlers.get(notificationType);
- if (ntmHandler != null) {
- throw new RuntimeException("Trying to deploy local consumer with existing local producer, consumer or broker");
- }
-
- createNtmHandler(consumerUrl.getAuthority(), notificationType, consumerUrl, null, null);
-
- return Constants.NoProducers;
- }
- }
-
- private void createNtmHandler(String ntmUriAuthority, URI notificationType, URL consumerUrl, URL producerUrl, BrokerStruct broker) {
- String ntmUri = "http://" + ntmUriAuthority + ntmPathBase + URIUtil.getPath(notificationType);
- NotificationTypeManagerHandler ntmh = new NotificationTypeManagerHandler(notificationType, consumerUrl, producerUrl, broker);
- ntmHandlers.put(notificationType, ntmh);
- servletHost.addServletMapping(ntmUri, new NotificationServlet(ntmh));
- }
-
- public String newProducer(URI notificationType, URL producerUrl, URL remoteNtmUrl, List<URL> consumerListResult) {
- if (ntmUrlIsRemote(producerUrl, remoteNtmUrl)) {
- try {
- WriteableEPW wEPW = new WriteableEPW(new NewProducer(), producerUrl);
- InputStreamDecoder isd = new InputStreamDecoder();
- NewProducerResponse npr =
- (NewProducerResponse)IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_PRODUCER_OP, wEPW, isd);
- String sequenceType = npr.getSequenceType();
- if (Constants.EndConsumers.equals(sequenceType) || Constants.BrokerConsumers.equals(sequenceType)) {
- for (EndpointReference epr : npr.getReferenceSequence()) {
- consumerListResult.add(epr.getEndpointAddress().getAddress());
- }
- }
- return sequenceType;
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- } else {
- NotificationTypeManagerHandler ntmHandler = ntmHandlers.get(notificationType);
- if (ntmHandler != null) {
- throw new RuntimeException("Trying to deploy local producer with existing local producer, consumer or broker");
- }
-
- createNtmHandler(producerUrl.getAuthority(), notificationType, null, producerUrl, null);
-
- return Constants.NoConsumers;
- }
- }
-
- public boolean newBroker(URI notificationType,
- URL consumerUrl,
- URL producerUrl,
- String brokerID,
- URL remoteNtmUrl,
- List<EndpointReference> consumerListResult,
- List<EndpointReference> producerListResult) {
- String ntmUriAuthority = producerUrl.getAuthority();
- if (!ntmUriAuthority.equals(consumerUrl.getAuthority())) {
- throw new RuntimeException("Producer url and consumer url do not match");
- }
- if (ntmUrlIsRemote(producerUrl, remoteNtmUrl)) {
- try {
- WriteableNewBroker wnb = new WriteableNewBroker(consumerUrl, producerUrl, brokerID);
- InputStreamDecoder isd = new InputStreamDecoder();
- NewBrokerResponse nbr =
- (NewBrokerResponse)IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_BROKER_OP, wnb, isd);
- if (nbr.isFirstBroker()) {
- if (nbr.getEndConsumers().getSequenceType().equals(Constants.EndConsumers)) {
- for (EndpointReference epr : nbr.getEndConsumers().getReferenceSequence()) {
- consumerListResult.add(epr);
- }
- }
- if (nbr.getEndProducers().getSequenceType().equals(Constants.EndProducers)) {
- for (EndpointReference epr : nbr.getEndProducers().getReferenceSequence()) {
- producerListResult.add(epr);
- }
- }
- } else {
- for (Broker broker : nbr.getBrokers().getBrokerSequence()) {
- consumerListResult.add(broker.getBrokerConsumerReference().getReference());
- producerListResult.add(broker.getBrokerProducerReference().getReference());
- }
- }
- return nbr.isFirstBroker();
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- } else {
- NotificationTypeManagerHandler ntmHandler = ntmHandlers.get(notificationType);
- if (ntmHandler != null) {
- throw new RuntimeException("Trying to deploy local broker with existing local producer, consumer or broker");
- }
-
- BrokerStruct broker = new BrokerStruct(consumerUrl, producerUrl, brokerID);
- createNtmHandler(ntmUriAuthority, notificationType, null, null, broker);
-
- return true;
- }
- }
-
- private boolean ntmUrlIsRemote(URL localUrl, URL ntmUrl) {
- if (ntmUrl == null) {
- return false;
- }
- if (localUrl.getPort() != ntmUrl.getPort()) {
- return true;
- }
- String remoteNtmUrlAuthority = ntmUrl.getAuthority();
- if (remoteNtmUrlAuthority.indexOf("localhost") >= 0) {
- return false;
- }
- return !localUrl.getAuthority().equals(remoteNtmUrlAuthority);
- }
-
- public void newBrokerAck(URL remoteNtmUrl) {
- try {
- IOUtils.sendHttpRequest(remoteNtmUrl, Constants.NEW_BROKER_ACK_OP, new WriteableNewBrokerAck(), null);
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- public void removeBroker(EndpointReference brokerConsumerEpr, List<EndpointReference> neighborBrokerConsumerEprs, URL remoteNtmUrl) {
- WriteableRemoveBroker wrb = new WriteableRemoveBroker(brokerConsumerEpr, neighborBrokerConsumerEprs);
-
- try {
- IOUtils.sendHttpRequest(remoteNtmUrl, Constants.REMOVE_BROKER_OP, wrb, null);
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
-
- private class NotificationTypeManagerHandler implements NotificationServletStreamHandler {
-
- private URI notificationType;
- List<URL> consumerList;
- List<URL> producerList;
- List<BrokerStruct> brokerList;
- private NotificationTypeLock notificationTypeLock;
- private BrokerStruct pendingBroker;
-
- public NotificationTypeManagerHandler(URI notificationType) {
- this.notificationType = notificationType;
- this.notificationTypeLock = new NotificationTypeLock();
- this.pendingBroker = null;
- }
-
- public NotificationTypeManagerHandler(URI notificationType, URL consumerUrl, URL producerUrl, BrokerStruct broker) {
- this(notificationType);
- if (consumerUrl != null) {
- addConsumer(consumerUrl);
- } else if (producerUrl != null) {
- addProducer(producerUrl);
- } else if (broker != null) {
- addBroker(broker);
- }
- }
-
- private void addConsumer(URL consumerUrl) {
- if (consumerList == null) {
- consumerList = new ArrayList<URL>();
- }
- consumerList.add(consumerUrl);
- }
-
- private void addProducer(URL producerUrl) {
- if (producerList == null) {
- producerList = new ArrayList<URL>();
- }
- producerList.add(producerUrl);
- }
-
- private void addBroker(BrokerStruct broker) {
- if (brokerList == null) {
- brokerList = new ArrayList<BrokerStruct>();
- }
- brokerList.add(broker);
- }
-
- public void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream) {
- String opHeader = headers.get(IOUtils.Notification_Operation);
- EncodingObject eo = null;
- try {
- eo = EncodingUtils.decodeFromStream(encodingRegistry, istream);
- } catch(EncodingException e) {
- throw new RuntimeException(e);
- }
-
- if (Constants.NEW_CONSUMER_OP.equals(opHeader)) {
- handleNewConsumer((NewConsumer)eo, ostream);
- } else if(Constants.NEW_PRODUCER_OP.equals(opHeader)) {
- handleNewProducer((NewProducer)eo, ostream);
- } else if(Constants.NEW_BROKER_OP.equals(opHeader)) {
- handleNewBroker((NewBroker)eo, ostream);
- } else if (Constants.NEW_BROKER_ACK_OP.equals(opHeader)) {
- handleNewBrokerAck();
- } else if (Constants.REMOVE_BROKER_OP.equals(opHeader)) {
- handleRemoveBroker((RemoveBroker)eo);
- }
- }
-
- private void handleNewConsumer(NewConsumer nc, ServletOutputStream ostream) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
- URL consumerUrl = nc.getReference().getEndpointAddress().getAddress();
- if (brokerList == null) {
- addConsumer(consumerUrl);
- }
-
- NewConsumerResponse ncr = new NewConsumerResponse();
- if (producerList != null) {
- ncr.setSequenceType(Constants.EndProducers);
- for (URL producerUrl : producerList) {
- ncr.addReferenceToSequence(EncodingUtils.createEndpointReference(producerUrl, null));
- }
- } else if(brokerList != null) {
- ncr.setSequenceType(Constants.BrokerProducers);
- for (BrokerStruct broker : brokerList) {
- ncr.addReferenceToSequence(EncodingUtils.createEndpointReference(broker.producerUrl, null));
- }
- } else {
- ncr.setSequenceType(Constants.NoProducers);
- }
- try {
- EncodingUtils.encodeToStream(encodingRegistry, ncr, ostream);
- } catch(IOUtilsException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private void handleNewProducer(NewProducer np, ServletOutputStream ostream) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
- URL producerUrl = np.getReference().getEndpointAddress().getAddress();
- if (brokerList == null) {
- addProducer(producerUrl);
- }
-
- NewProducerResponse npr = new NewProducerResponse();
- if (consumerList != null) {
- npr.setSequenceType(Constants.EndConsumers);
- for (URL consumerUrl : consumerList) {
- npr.addReferenceToSequence(EncodingUtils.createEndpointReference(consumerUrl, null));
- }
- } else if(brokerList != null) {
- npr.setSequenceType(Constants.BrokerConsumers);
- for (BrokerStruct broker : brokerList) {
- npr.addReferenceToSequence(EncodingUtils.createEndpointReference(broker.consumerUrl, null));
- }
- } else {
- npr.setSequenceType(Constants.NoConsumers);
- }
- try {
- EncodingUtils.encodeToStream(encodingRegistry, npr, ostream);
- } catch(IOUtilsException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private void handleNewBroker(NewBroker nb, ServletOutputStream ostream) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
- NewBrokerResponse nbr = new NewBrokerResponse();
- if (consumerList != null || producerList != null || brokerList == null) {
- nbr.setFirstBroker(true);
- EndConsumers endConsumers = new EndConsumers();
- if (consumerList != null) {
- endConsumers.setSequenceType(Constants.EndConsumers);
- for (URL consumerUrl : consumerList) {
- endConsumers.addReferenceToSequence(EncodingUtils.createEndpointReference(consumerUrl, null));
- }
- } else {
- endConsumers.setSequenceType(Constants.NoConsumers);
- }
- nbr.setEndConsumers(endConsumers);
- EndProducers endProducers = new EndProducers();
- if (producerList != null) {
- endProducers.setSequenceType(Constants.EndProducers);
- for (URL producerUrl : producerList) {
- endProducers.addReferenceToSequence(EncodingUtils.createEndpointReference(producerUrl, null));
- }
- } else {
- endProducers.setSequenceType(Constants.NoProducers);
- }
- nbr.setEndProducers(endProducers);
- } else {
- nbr.setFirstBroker(false);
- Brokers brokers = new Brokers();
- for (BrokerStruct brokerStruct : brokerList) {
- Broker brokerElt = new Broker();
- BrokerConsumerReference bcr = new BrokerConsumerReference();
- bcr.setReference(EncodingUtils.createEndpointReference(brokerStruct.consumerUrl, brokerStruct.brokerID));
- brokerElt.setBrokerConsumerReference(bcr);
-
- BrokerProducerReference bpr = new BrokerProducerReference();
- bpr.setReference(EncodingUtils.createEndpointReference(brokerStruct.producerUrl, brokerStruct.brokerID));
- brokerElt.setBrokerProducerReference(bpr);
- brokers.addBrokerToSequence(brokerElt);
- }
- nbr.setBrokers(brokers);
- }
- EndpointReference consumerEPR = nb.getBrokerConsumerReference().getReference();
- URL consumerUrl = consumerEPR.getEndpointAddress().getAddress();
- BrokerID consumerBrokerID = consumerEPR.getReferenceProperties().getProperty(BrokerID.class);
- EndpointReference producerEPR = nb.getBrokerProducerReference().getReference();
- URL producerUrl = producerEPR.getEndpointAddress().getAddress();
- BrokerID producerBrokerID = producerEPR.getReferenceProperties().getProperty(BrokerID.class);
- if (consumerBrokerID == null ||
- producerBrokerID == null ||
- !consumerBrokerID.getID().equals(producerBrokerID.getID())) {
- throw new RuntimeException("Producer and consumer broker ids do not match");
- }
- // only add broker if consumerList == null && producerList == null
- // otherwise, make it a pending broker and wait for ack
- // TODO block for a configurable amount of time
- BrokerStruct broker = new BrokerStruct(consumerUrl, producerUrl, consumerBrokerID.getID());
- if (consumerList == null && producerList == null) {
- addBroker(broker);
- } else {
- pendingBroker = broker;
- notificationTypeLock.isLocked = true;
- }
- try {
- EncodingUtils.encodeToStream(encodingRegistry, nbr, ostream);
- } catch(IOUtilsException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- private void handleNewBrokerAck() {
- synchronized(notificationTypeLock) {
- if (!notificationTypeLock.isLocked) {
- notificationTypeLock.notifyAll();
- throw new RuntimeException("Notification type should be locked");
- }
- if (brokerList != null) {
- notificationTypeLock.isLocked = false;
- notificationTypeLock.notifyAll();
- throw new RuntimeException("Can't add pending broker to non-empty broker list");
- }
- if (pendingBroker == null) {
- notificationTypeLock.isLocked = false;
- notificationTypeLock.notifyAll();
- throw new RuntimeException("Missing pending broker");
- }
- addBroker(pendingBroker);
- consumerList = null;
- producerList = null;
- pendingBroker = null;
- notificationTypeLock.isLocked = false;
- notificationTypeLock.notifyAll();
- }
- }
-
- private void handleRemoveBroker(RemoveBroker rb) {
- synchronized(notificationTypeLock) {
- if (notificationTypeLock.isLocked) {
- try { notificationTypeLock.wait(); } catch(InterruptedException e) {}
- }
-
- if (brokerList == null) {
- throw new RuntimeException("No broker to remove for [" + notificationType + "]");
- }
-
- NeighborBrokerConsumers nbcs = rb.getNeighborBrokerConsumers();
- EndpointReference rbEpr = rb.getBrokerConsumerReference().getReference();
- if (nbcs != null && nbcs.getReferenceSequence() != null) {
- List<Broker> neighborBrokers = new ArrayList<Broker>();
- for (EndpointReference neighborBrokerConsumerEpr : nbcs.getReferenceSequence()) {
- BrokerStruct neighborBrokerStruct = null;
- URL neighborBrokerConsumerEprUrl = neighborBrokerConsumerEpr.getEndpointAddress().getAddress();
- for (BrokerStruct brokerStruct : brokerList) {
- if (brokerStruct.consumerUrl.equals(neighborBrokerConsumerEprUrl)) {
- neighborBrokerStruct = brokerStruct;
- break;
- }
- }
- if (neighborBrokerStruct == null) {
- throw new RuntimeException("Can't find neighbor broker for consumer EPR [" +
- neighborBrokerConsumerEprUrl + "]");
- }
- BrokerConsumerReference bcr = new BrokerConsumerReference();
- bcr.setReference(EncodingUtils.createEndpointReference(neighborBrokerStruct.consumerUrl, neighborBrokerStruct.brokerID));
- BrokerProducerReference bpr = new BrokerProducerReference();
- bpr.setReference(EncodingUtils.createEndpointReference(neighborBrokerStruct.producerUrl, neighborBrokerStruct.brokerID));
- Broker neighborBroker = new Broker();
- neighborBroker.setBrokerConsumerReference(bcr);
- neighborBroker.setBrokerProducerReference(bpr);
- neighborBrokers.add(neighborBroker);
- }
- int lastIndex = neighborBrokers.size() - 1;
- for (int index = lastIndex; index >= 0; index--) {
- List<Broker> writeableNeighborBrokers = ((index > 0) ? neighborBrokers.subList(0, index) : null);
- WriteableReplaceBrokerConnection wrbc = new WriteableReplaceBrokerConnection(rbEpr, writeableNeighborBrokers);
- URL targetUrl =
- neighborBrokers.get(index).getBrokerProducerReference().getReference().getEndpointAddress().getAddress();
- try {
- IOUtils.sendHttpRequest(targetUrl, Constants.REPLACE_BROKER_CONNECTION_OP, wrbc, null);
- } catch(Exception e) {
- e.printStackTrace();
- throw new RuntimeException(e);
- }
- }
- }
-
- BrokerStruct removedBrokerStruct = null;
- URL rbEprUrl = rbEpr.getEndpointAddress().getAddress();
- for (BrokerStruct brokerSruct : brokerList) {
- if (brokerSruct.consumerUrl.equals(rbEprUrl)) {
- removedBrokerStruct = brokerSruct;
- break;
- }
- }
- if (removedBrokerStruct == null) {
- throw new RuntimeException("Can't find broker to remove for EPR [" + rbEprUrl + "]");
- }
- if(!brokerList.remove(removedBrokerStruct)) {
- throw new RuntimeException("Broker was not removed");
- }
- }
- }
- }
-
- class NotificationTypeLock {
- public boolean isLocked;
- }
-
- class WriteableEPW implements Writeable {
- private EndpointReferenceWrapper epw;
-
- public WriteableEPW(EndpointReferenceWrapper epw, URL url) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(url);
- EndpointReference epr = new EndpointReference();
- epr.setEndpointAddress(epa);
- epw.setReference(epr);
- this.epw = epw;
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, epw, os);
- }
- }
-
- class InputStreamDecoder implements ReadableContinuation {
-
- public Object read(InputStream istream) throws IOUtilsException {
- try {
- return EncodingUtils.decodeFromStream(encodingRegistry, istream);
- } catch(EncodingException e) {
- throw new IOUtilsException(e);
- }
- }
- }
-
- class BrokerStruct {
- public URL consumerUrl;
- public URL producerUrl;
- public String brokerID;
-
- public BrokerStruct(URL consumerUrl, URL producerUrl, String brokerID) {
- this.consumerUrl = consumerUrl;
- this.producerUrl = producerUrl;
- this.brokerID = brokerID;
- }
- }
-
- class WriteableNewBroker implements Writeable {
- private NewBroker newBroker;
-
- public WriteableNewBroker(URL consumerUrl, URL producerUrl, String brokerID) {
- newBroker = new NewBroker();
- BrokerConsumerReference bcr = new BrokerConsumerReference();
- bcr.setReference(EncodingUtils.createEndpointReference(consumerUrl, brokerID));
- newBroker.setBrokerConsumerReference(bcr);
-
- BrokerProducerReference bpr = new BrokerProducerReference();
- bpr.setReference(EncodingUtils.createEndpointReference(producerUrl, brokerID));
- newBroker.setBrokerProducerReference(bpr);
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, newBroker, os);
- }
- }
-
- class WriteableNewBrokerAck implements Writeable {
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, new NewBrokerAck(), os);
- }
- }
-
- class WriteableRemoveBroker implements Writeable {
- private RemoveBroker removeBroker;
-
- public WriteableRemoveBroker(EndpointReference brokerConsumerEpr, List<EndpointReference> neighborBrokerConsumerEprs) {
- removeBroker = new RemoveBroker();
- BrokerConsumerReference brokerConsumerReference = new BrokerConsumerReference();
- brokerConsumerReference.setReference(brokerConsumerEpr);
- removeBroker.setBrokerConsumerReference(brokerConsumerReference);
- if (neighborBrokerConsumerEprs != null) {
- NeighborBrokerConsumers neighborBrokerConsumers = new NeighborBrokerConsumers();
- neighborBrokerConsumers.setReferenceSequence(neighborBrokerConsumerEprs);
- neighborBrokerConsumers.setSequenceType(Constants.BrokerConsumers);
- removeBroker.setNeighborBrokerConsumers(neighborBrokerConsumers);
- }
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, removeBroker, os);
- }
- }
-
- class WriteableReplaceBrokerConnection implements Writeable {
- private ReplaceBrokerConnection replaceBrokerConnection;
-
- public WriteableReplaceBrokerConnection(EndpointReference removedBrokerEpr, List<Broker> brokerSequence) {
- replaceBrokerConnection = new ReplaceBrokerConnection();
- RemovedBroker removedBroker = new RemovedBroker();
- removedBroker.setReference(removedBrokerEpr);
- replaceBrokerConnection.setRemovedBroker(removedBroker);
- if (brokerSequence != null) {
- Neighbors neighbors = new Neighbors();
- neighbors.setBrokerSequence(brokerSequence);
- replaceBrokerConnection.setNeighbors(neighbors);
- }
- }
-
- public void write(OutputStream os) throws IOUtilsException {
- EncodingUtils.encodeToStream(encodingRegistry, replaceBrokerConnection, os);
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java deleted file mode 100644 index e99845d886..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class AbstractBroker implements EncodingObject {
-
- private BrokerProducerReference brokerProducerReference;
- private BrokerConsumerReference brokerConsumerReference;
-
- public BrokerProducerReference getBrokerProducerReference() {
- return this.brokerProducerReference;
- }
-
- public void setBrokerProducerReference(BrokerProducerReference brokerProducerReference) {
- this.brokerProducerReference = brokerProducerReference;
- }
-
- public BrokerConsumerReference getBrokerConsumerReference() {
- return this.brokerConsumerReference;
- }
-
- public void setBrokerConsumerReference(BrokerConsumerReference brokerConsumerReference) {
- this.brokerConsumerReference = brokerConsumerReference;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java deleted file mode 100644 index 76eb204f21..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java +++ /dev/null @@ -1,86 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class AbstractBrokerEnDeCoder<B extends AbstractBroker> extends AbstractEnDeCoder<B> {
-
- public AbstractBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(B encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- registry.encode(encodingObject.getBrokerConsumerReference(), writer);
- registry.encode(encodingObject.getBrokerProducerReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public B decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- B brokerElement = getEncodingObjectType().newInstance();
- boolean haveBCR = false;
- boolean haveBPR = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof BrokerConsumerReference && !haveBCR) {
- brokerElement.setBrokerConsumerReference((BrokerConsumerReference)encodingObject);
- haveBCR = true;
- } else if(encodingObject instanceof BrokerProducerReference && !haveBPR) {
- brokerElement.setBrokerProducerReference((BrokerProducerReference)encodingObject);
- haveBPR = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveBCR) {
- throw new EncodingException("Missing broker consumer reference");
- }
- if (!haveBPR) {
- throw new EncodingException("Missing broker producer reference");
- }
- return brokerElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java deleted file mode 100644 index 536801016c..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java +++ /dev/null @@ -1,50 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class AbstractEnDeCoder<E extends EncodingObject> implements
- EnDeCoder<E> {
-
- protected EncodingRegistry registry;
-
- protected AbstractEnDeCoder(EncodingRegistry registry) {
-
- this.registry = registry;
- }
-
- public void start() {
- Class<E> encodingType = getEncodingObjectType();
- QName encodingQName = getEncodingObjectQName();
-
- registry.registerEnDeCoder(encodingType, encodingQName, this);
- }
-
- public void stop() {
- Class<E> encodingType = getEncodingObjectType();
- QName encodingQName = getEncodingObjectQName();
-
- registry.unregisterEnDeCoder(encodingType, encodingQName);
- }
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java deleted file mode 100644 index 3b2aacef4c..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java +++ /dev/null @@ -1,25 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Broker extends AbstractBroker {
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java deleted file mode 100644 index 94357cd98d..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerConsumerReference extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java deleted file mode 100644 index 66f0a198e4..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerConsumerReferenceEnDeCoder extends EndpointReferenceWrapperEnDeCoder<BrokerConsumerReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.BrokerConsumerReference);
-
- public BrokerConsumerReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<BrokerConsumerReference> getEncodingObjectType() {
- return BrokerConsumerReference.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java deleted file mode 100644 index e6e6b05a42..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java +++ /dev/null @@ -1,46 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerEnDeCoder extends AbstractBrokerEnDeCoder<Broker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Broker);
-
- public BrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Broker> getEncodingObjectType() {
-
- return Broker.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java deleted file mode 100644 index 7c53d529a8..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java +++ /dev/null @@ -1,41 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.UUID;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerID implements EncodingObject {
-
- private String id;
-
- public String getID() {
- return id;
- }
-
- public void setID(String id) {
- this.id = id;
- }
-
- public static String generate() {
- return UUID.randomUUID().toString();
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java deleted file mode 100644 index a500a2a854..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java +++ /dev/null @@ -1,90 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerIDEnDeCoder extends AbstractEnDeCoder<BrokerID> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.BrokerID);
-
- public BrokerIDEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(BrokerID encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- writer.writeCharacters(encodingObject.getID());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public BrokerID decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- BrokerID brokerIDElement = new BrokerID();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- break;
- case XMLStreamConstants.CHARACTERS:
- if (reader.hasText()) {
- String id = reader.getText();
- brokerIDElement.setID(id);
- } else {
- throw new EncodingException("Broker ID missing value");
- }
- break;
- case END_ELEMENT:
- return brokerIDElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<BrokerID> getEncodingObjectType() {
-
- return BrokerID.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java deleted file mode 100644 index a6a2b15a15..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerProducerReference extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java deleted file mode 100644 index 209416c203..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokerProducerReferenceEnDeCoder extends EndpointReferenceWrapperEnDeCoder<BrokerProducerReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.BrokerProducerReference);
-
- public BrokerProducerReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<BrokerProducerReference> getEncodingObjectType() {
- return BrokerProducerReference.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java deleted file mode 100644 index 24395ee0a6..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java +++ /dev/null @@ -1,41 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Brokers implements EncodingObject {
-
- private List<Broker> brokerSequence;
-
- public List<Broker> getBrokerSequence() {
- return brokerSequence;
- }
-
- public void addBrokerToSequence(Broker broker) {
- if(this.brokerSequence == null) {
- this.brokerSequence = new ArrayList<Broker>();
- }
- this.brokerSequence.add(broker);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java deleted file mode 100644 index 1dba2533d2..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java +++ /dev/null @@ -1,89 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BrokersEnDeCoder extends AbstractEnDeCoder<Brokers> {
-
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Brokers);
-
- public BrokersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(Brokers encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- if (encodingObject.getBrokerSequence() != null) {
- for (Broker broker : encodingObject.getBrokerSequence()) {
- registry.encode(broker, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public Brokers decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- Brokers brokersElement = new Brokers();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- brokersElement.addBrokerToSequence((Broker)encodingObject);
- break;
- case END_ELEMENT:
- return brokersElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Brokers> getEncodingObjectType() {
-
- return Brokers.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java deleted file mode 100644 index 5783d0de02..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java +++ /dev/null @@ -1,35 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverride implements EncodingObject {
-
- private BrokerConsumerReference brokerConsumerReference;
-
- public BrokerConsumerReference getBrokerConsumerReference() {
- return this.brokerConsumerReference;
- }
-
- public void setBrokerConsumerReference(BrokerConsumerReference brokerConsumerReference) {
- this.brokerConsumerReference = brokerConsumerReference;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java deleted file mode 100644 index bec3e6ff29..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java +++ /dev/null @@ -1,83 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverrideEnDeCoder extends AbstractEnDeCoder<ConnectionOverride> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ConnectionOverride);
-
- public ConnectionOverrideEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ConnectionOverride encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getBrokerConsumerReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ConnectionOverride decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ConnectionOverride connectionOverrideElement = new ConnectionOverride();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- connectionOverrideElement.setBrokerConsumerReference((BrokerConsumerReference)encodingObject);
- break;
- case END_ELEMENT:
- return connectionOverrideElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ConnectionOverride> getEncodingObjectType() {
-
- return ConnectionOverride.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java deleted file mode 100644 index 91ba05404a..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java +++ /dev/null @@ -1,25 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverrideResponse implements EncodingObject {
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java deleted file mode 100644 index 9012aaeb25..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java +++ /dev/null @@ -1,77 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConnectionOverrideResponseEnDeCoder extends AbstractEnDeCoder<ConnectionOverrideResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ConnectionOverrideResponse);
-
- public ConnectionOverrideResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ConnectionOverrideResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ConnectionOverrideResponse decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ConnectionOverrideResponse connectionOverrideResponseElement = new ConnectionOverrideResponse();
- while (true) {
- switch (reader.next()) {
- case END_ELEMENT:
- return connectionOverrideResponseElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ConnectionOverrideResponse> getEncodingObjectType() {
-
- return ConnectionOverrideResponse.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java deleted file mode 100644 index ca64c15305..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java +++ /dev/null @@ -1,74 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Constants {
-
- String NOTIFICATION_NS = "http://docs.oasis-open.org/wsn/b-2";
- String NOTIFICATION_PREFIX = "wsnt";
- String ADDRESSING_NS = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
- String ADDRESSING_PREFIX = "wsa";
- String Subscribe = "Subscribe";
- String ConsumerReference = "ConsumerReference";
- String Address = "Address";
- String ReferenceProperties = "ReferenceProperties";
- String EndpointReference = "EndpointReference";
- String BrokerID = "BrokerID";
- String NewConsumer = "NewConsumer";
- String NewProducer = "NewProducer";
- String NewConsumerResponse = "NewConsumerResponse";
- String NewProducerResponse = "NewProducerResponse";
- String ConsumerSequenceType = "ConsumerSequenceType";
- String EndConsumers = "EndConsumers";
- String BrokerConsumers = "BrokerConsumers";
- String NoConsumers = "NoConsumers";
- String ProducerSequenceType = "ProducerSequenceType";
- String EndProducers = "EndProducers";
- String BrokerProducers = "BrokerProducers";
- String NoProducers = "NoProducers";
- String Broker = "Broker";
- String NewBroker = "NewBroker";
- String NewBrokerAck = "NewBrokerAck";
- String BrokerConsumerReference = "BrokerConsumerReference";
- String BrokerProducerReference = "BrokerProducerReference";
- String NewBrokerResponse = "NewBrokerResponse";
- String FirstBroker = "FirstBroker";
- String Brokers = "Brokers";
- String ConnectionOverride = "ConnectionOverride";
- String ConnectionOverrideResponse = "ConnectionOverrideResponse";
- String NeighborBrokerConsumers = "NeighborBrokerConsumers";
- String RemoveBroker = "RemoveBroker";
- String RemovedBroker = "RemovedBroker";
- String Neighbors = "Neighbors";
- String ReplaceBrokerConnection = "ReplaceBrokerConnection";
-
- String SUBSCRIBE_OP = "subscribe";
- String CONNECTION_OVERRIDE_OP = "connectionOverride";
- String NEW_CONSUMER_OP = "newConsumer";
- String NEW_PRODUCER_OP = "newProducer";
- String NEW_BROKER_OP = "newBroker";
- String NEW_BROKER_ACK_OP = "newBrokerAck";
- String REMOVE_BROKER_OP = "removeBroker";
- String REPLACE_BROKER_CONNECTION_OP = "replaceBrokerConnection";
-
- String Broker_ID = "brokerID";
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java deleted file mode 100644 index 1c678a2b96..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConsumerReference extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java deleted file mode 100644 index 8c6f684425..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ConsumerReferenceEnDeCoder extends EndpointReferenceWrapperEnDeCoder<ConsumerReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ConsumerReference);
-
- public ConsumerReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<ConsumerReference> getEncodingObjectType() {
- return ConsumerReference.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java deleted file mode 100644 index 5b28aedcf9..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java +++ /dev/null @@ -1,78 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class DefaultEncodingRegistry implements EncodingRegistry {
-
- private final Map<Class<? extends EncodingObject>, EnDeCoder> encoderRegistry =
- new ConcurrentHashMap<Class<? extends EncodingObject>, EnDeCoder>();
-
- private final Map<QName, EnDeCoder> decoderRegistry = new ConcurrentHashMap<QName, EnDeCoder>();
-
- public DefaultEncodingRegistry() {
- }
-
- public <E extends EncodingObject> void registerEnDeCoder(Class<E> encodingClass, QName qname, EnDeCoder<E> enDeCoder) {
-
- encoderRegistry.put(encodingClass, enDeCoder);
- decoderRegistry.put(qname, enDeCoder);
- }
-
- public <E extends EncodingObject> void unregisterEnDeCoder(Class<E> encodingClass, QName qname) {
-
- encoderRegistry.remove(encodingClass);
- decoderRegistry.remove(qname);
- }
-
- @SuppressWarnings("unchecked")
- public void encode(EncodingObject encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- EnDeCoder encoder = encoderRegistry.get(encodingObject.getClass());
- if (encoder == null) {
- throw new EncodingException("No encoder defined for " + encodingObject.getClass());
- }
- encoder.encode(encodingObject, writer);
- }
-
- public EncodingObject decode(XMLStreamReader reader) throws EncodingException {
-
- QName qname = reader.getName();
-
- EnDeCoder decoder = decoderRegistry.get(qname);
- if (decoder == null) {
- throw new EncodingException("No decoder defined for " + qname);
- }
- return decoder.decode(reader);
- }
-
- public void stop() {
- encoderRegistry.clear();
- decoderRegistry.clear();
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java deleted file mode 100644 index bf6094582e..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java +++ /dev/null @@ -1,62 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface EnDeCoder<E extends EncodingObject> {
-
- /**
- * Encodes an object to the specified stream writer.
- *
- * @param encodingObject Object to be serialized.
- * @param writer Stream writer to which the infoset is serialized.
- * @throws EncodingException In case of any encoding error.
- */
- void encode(E encodingObject, XMLStreamWriter writer) throws EncodingException;
-
- /**
- * Decodes an XML stream to an object.
- *
- * @param reader XML stream from where the encoded XML is read.
- * @return Encoding object.
- * @throws EncodingException In case of any encoding error.
- */
- E decode(XMLStreamReader reader) throws EncodingException;
-
- /**
- * Gets the qualified name of the XML fragment for the Encoding
- * object.
- *
- * @return Qualified name of the XML fragment.
- */
- QName getEncodingObjectQName();
-
- /**
- * Returns the type of the encoding object.
- *
- * @return Encoding object type.
- */
- Class<E> getEncodingObjectType();
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java deleted file mode 100644 index ee12161903..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java +++ /dev/null @@ -1,49 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-@SuppressWarnings("serial")
-public class EncodingException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * Initializes the exception message.
- *
- * @param message Message for the exception.
- */
- public EncodingException(String message) {
- super(message);
- }
-
- /**
- * Initializes the root cause.
- *
- * @param cause Root cause for the exception.
- */
- public EncodingException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java deleted file mode 100644 index bf94da374c..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface EncodingObject {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java deleted file mode 100644 index 92f10cd4b3..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java +++ /dev/null @@ -1,57 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface EncodingRegistry {
-
- /**
- * Registers an en/de coder.
- *
- * @param <E> Encoding object type.
- * @param encodingClass Encoding object class.
- * @param qname Qualified name of the root element of the encoded XML.
- * @param enDeCoder Encoding object enDeCoder.
- */
- <E extends EncodingObject> void registerEnDeCoder(Class<E> encodingClass, QName qname, EnDeCoder<E> enDeCoder);
-
- <E extends EncodingObject> void unregisterEnDeCoder(Class<E> encodingClass, QName qname);
-
- /**
- * Encodes an object.
- *
- * @param encodingObject Encoding object to be encoded.
- * @param writer Writer to which encoded information is written.
- */
- void encode(EncodingObject encodingObject, XMLStreamWriter writer) throws EncodingException;
-
- /**
- * Decodes an XML stream to an encoding object.
- *
- * @param reader Reader from which encoded information is read.
- * @return Encoding object from the encoded stream.
- */
- EncodingObject decode(XMLStreamReader reader) throws EncodingException;
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java deleted file mode 100644 index 264566aae4..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java +++ /dev/null @@ -1,83 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.binding.notification.util.IOUtils.IOUtilsException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EncodingUtils {
-
- private static XMLOutputFactory xof = XMLOutputFactory.newInstance();
- private static XMLInputFactory xif = XMLInputFactory.newInstance();
-
- public static void encodeToStream(EncodingRegistry encodingRegistry,
- EncodingObject eo,
- OutputStream os) throws IOUtilsException {
- try {
- XMLStreamWriter writer = xof.createXMLStreamWriter(os);
- encodingRegistry.encode(eo, writer);
- writer.flush();
- writer.close();
- } catch(Exception e) {
- throw new IOUtilsException(e);
- }
- }
-
- public static EncodingObject decodeFromStream(EncodingRegistry encodingRegistry,
- InputStream istream) throws EncodingException {
- EncodingObject eo = null;
- try {
- XMLStreamReader reader = xif.createXMLStreamReader(istream);
- reader.next();
- eo = encodingRegistry.decode(reader);
- reader.close();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
-
- return eo;
- }
-
- public static EndpointReference createEndpointReference(URL address, String brokerID) {
- EndpointAddress epa = new EndpointAddress();
- epa.setAddress(address);
- EndpointReference epr = new EndpointReference();
- epr.setEndpointAddress(epa);
- if (brokerID != null) {
- BrokerID bi = new BrokerID();
- bi.setID(brokerID);
- ReferenceProperties rp = new ReferenceProperties();
- rp.addProperty(bi);
- epr.setReferenceProperties(rp);
- }
- return epr;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java deleted file mode 100644 index 8066184da9..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndConsumers extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java deleted file mode 100644 index 5e3afc8195..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java +++ /dev/null @@ -1,61 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndConsumersEnDeCoder extends EndpointReferenceSequenceEnDeCoder<EndConsumers> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.EndConsumers);
-
- public EndConsumersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<EndConsumers> getEncodingObjectType() {
- return EndConsumers.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(EndConsumers encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ConsumerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ConsumerSequenceType);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java deleted file mode 100644 index b43ad5c214..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndProducers extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java deleted file mode 100644 index 3840b1caf9..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java +++ /dev/null @@ -1,61 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndProducersEnDeCoder extends EndpointReferenceSequenceEnDeCoder<EndProducers> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.EndProducers);
-
- public EndProducersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<EndProducers> getEncodingObjectType() {
- return EndProducers.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(EndProducers encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ProducerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ProducerSequenceType);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java deleted file mode 100644 index f2a36d89db..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java +++ /dev/null @@ -1,45 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.net.URL;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointAddress implements EncodingObject {
-
- private URL address;
-
- public URL getAddress() {
- return address;
- }
-
- public void setAddress(URL address) {
- this.address = address;
- }
-
- public void setAddress(String addressText) throws EncodingException {
- try {
- this.address = new URL(addressText);
- } catch(Exception e) {
- throw new EncodingException(e);
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java deleted file mode 100644 index 8195c80c49..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java +++ /dev/null @@ -1,90 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointAddressEnDeCoder extends AbstractEnDeCoder<EndpointAddress> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.ADDRESSING_NS, Constants.Address);
-
- public EndpointAddressEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(EndpointAddress encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.ADDRESSING_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.ADDRESSING_PREFIX, QNAME.getNamespaceURI());
- writer.writeCharacters(encodingObject.getAddress().toString());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public EndpointAddress decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- EndpointAddress endpointAddressElement = new EndpointAddress();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- break;
- case XMLStreamConstants.CHARACTERS:
- if (reader.hasText()) {
- String address = reader.getText();
- endpointAddressElement.setAddress(address);
- } else {
- throw new EncodingException("Endpoint address is missing address");
- }
- break;
- case END_ELEMENT:
- return endpointAddressElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<EndpointAddress> getEncodingObjectType() {
-
- return EndpointAddress.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java deleted file mode 100644 index beba8fdc9b..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReference implements EncodingObject {
-
- private EndpointAddress endpointAddress;
- private ReferenceProperties referenceProperties;
-
- public EndpointAddress getEndpointAddress() {
- return this.endpointAddress;
- }
-
- public void setEndpointAddress(EndpointAddress endpointAddress) {
- this.endpointAddress = endpointAddress;
- }
-
- public ReferenceProperties getReferenceProperties() {
- return this.referenceProperties;
- }
-
- public void setReferenceProperties(ReferenceProperties referenceProperties) {
- this.referenceProperties = referenceProperties;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java deleted file mode 100644 index cfc747f59e..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java +++ /dev/null @@ -1,99 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReferenceEnDeCoder extends AbstractEnDeCoder<EndpointReference> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.ADDRESSING_NS, Constants.EndpointReference);
-
- public EndpointReferenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(EndpointReference encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.ADDRESSING_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.ADDRESSING_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getEndpointAddress(), writer);
- if (encodingObject.getReferenceProperties() != null) {
- registry.encode(encodingObject.getReferenceProperties(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public EndpointReference decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- EndpointReference endpointReferenceElement = new EndpointReference();
- boolean haveEPA = false;
- boolean haveRP = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof EndpointAddress && !haveEPA) {
- endpointReferenceElement.setEndpointAddress((EndpointAddress)encodingObject);
- haveEPA = true;
- } else if(encodingObject instanceof ReferenceProperties && !haveRP) {
- endpointReferenceElement.setReferenceProperties((ReferenceProperties)encodingObject);
- haveRP = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveEPA) {
- throw new EncodingException("Missing endpoint address");
- }
- return endpointReferenceElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<EndpointReference> getEncodingObjectType() {
-
- return EndpointReference.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java deleted file mode 100644 index a9c901a431..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java +++ /dev/null @@ -1,54 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReferenceSequence implements EncodingObject {
-
- private List<EndpointReference> referenceSequence;
- private String sequenceType;
-
- public List<EndpointReference> getReferenceSequence() {
- return referenceSequence;
- }
-
- public void addReferenceToSequence(EndpointReference address) {
- if(this.referenceSequence == null) {
- this.referenceSequence = new ArrayList<EndpointReference>();
- }
- this.referenceSequence.add(address);
- }
-
- public void setReferenceSequence(List<EndpointReference> referenceSequence) {
- this.referenceSequence = referenceSequence;
- }
-
- public String getSequenceType() {
- return this.sequenceType;
- }
-
- public void setSequenceType(String sequenceType) {
- this.sequenceType = sequenceType;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java deleted file mode 100644 index 864de25fd6..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.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 org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class EndpointReferenceSequenceEnDeCoder<ERS extends EndpointReferenceSequence> extends AbstractEnDeCoder<ERS> {
-
- public EndpointReferenceSequenceEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ERS encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- encodeSequenceTypeAttribute(encodingObject, writer);
- if (encodingObject.getReferenceSequence() != null) {
- for (EndpointReference endpointReference : encodingObject.getReferenceSequence()) {
- registry.encode(endpointReference, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- protected abstract void encodeSequenceTypeAttribute(ERS encodingObject, XMLStreamWriter writer) throws EncodingException;
-
- public ERS decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ERS endpointReferenceSequenceElement = null;
- try {
- endpointReferenceSequenceElement = getEncodingObjectType().newInstance();
- } catch(Exception e) {
- throw new EncodingException(e);
- }
- String sequenceType = decodeSequenceTypeAttribute(reader);
- endpointReferenceSequenceElement.setSequenceType(sequenceType);
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- endpointReferenceSequenceElement.addReferenceToSequence((EndpointReference)encodingObject);
- break;
- case END_ELEMENT:
- return endpointReferenceSequenceElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
- protected abstract String decodeSequenceTypeAttribute(XMLStreamReader reader);
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java deleted file mode 100644 index b3f2c060fb..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java +++ /dev/null @@ -1,35 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EndpointReferenceWrapper implements EncodingObject {
-
- private EndpointReference reference;
-
- public EndpointReference getReference() {
- return reference;
- }
-
- public void setReference(EndpointReference reference) {
- this.reference = reference;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java deleted file mode 100644 index 979a6e8e34..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java +++ /dev/null @@ -1,74 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class EndpointReferenceWrapperEnDeCoder<ERW extends EndpointReferenceWrapper> extends AbstractEnDeCoder<ERW> {
-
- public EndpointReferenceWrapperEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ERW encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- registry.encode(encodingObject.getReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ERW decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ERW endpointReferenceWrapperElement = null;
- try {
- endpointReferenceWrapperElement = getEncodingObjectType().newInstance();
- } catch(Exception e) {
- throw new EncodingException(e);
- }
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- endpointReferenceWrapperElement.setReference((EndpointReference)encodingObject);
- break;
- case END_ELEMENT:
- return endpointReferenceWrapperElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java deleted file mode 100644 index 902fd823cd..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NeighborBrokerConsumers extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java deleted file mode 100644 index ad149e3e4f..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java +++ /dev/null @@ -1,61 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NeighborBrokerConsumersEnDeCoder extends EndpointReferenceSequenceEnDeCoder<NeighborBrokerConsumers> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NeighborBrokerConsumers);
-
- public NeighborBrokerConsumersEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NeighborBrokerConsumers> getEncodingObjectType() {
- return NeighborBrokerConsumers.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(NeighborBrokerConsumers encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ConsumerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ConsumerSequenceType);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java deleted file mode 100644 index 42f9e74a27..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java +++ /dev/null @@ -1,45 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Neighbors implements EncodingObject {
-
- private List<Broker> brokerSequence;
-
- public List<Broker> getBrokerSequence() {
- return brokerSequence;
- }
-
- public void addBrokerToSequence(Broker broker) {
- if(this.brokerSequence == null) {
- this.brokerSequence = new ArrayList<Broker>();
- }
- this.brokerSequence.add(broker);
- }
-
- public void setBrokerSequence(List<Broker> brokerSequence) {
- this.brokerSequence = brokerSequence;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java deleted file mode 100644 index fa05e2d7bd..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java +++ /dev/null @@ -1,89 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NeighborsEnDeCoder extends AbstractEnDeCoder<Neighbors> {
-
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Neighbors);
-
- public NeighborsEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(Neighbors encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- if (encodingObject.getBrokerSequence() != null) {
- for (Broker broker : encodingObject.getBrokerSequence()) {
- registry.encode(broker, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public Neighbors decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- Neighbors neighborsElement = new Neighbors();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- neighborsElement.addBrokerToSequence((Broker)encodingObject);
- break;
- case END_ELEMENT:
- return neighborsElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Neighbors> getEncodingObjectType() {
-
- return Neighbors.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java deleted file mode 100644 index 92578af219..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java +++ /dev/null @@ -1,25 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBroker extends AbstractBroker {
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java deleted file mode 100644 index 48c34ba74f..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java +++ /dev/null @@ -1,25 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerAck implements EncodingObject {
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java deleted file mode 100644 index c9a3f1da79..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java +++ /dev/null @@ -1,77 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerAckEnDeCoder extends AbstractEnDeCoder<NewBrokerAck> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewBrokerAck);
-
- public NewBrokerAckEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(NewBrokerAck encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public NewBrokerAck decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- NewBrokerAck newBrokerAck = new NewBrokerAck();
- while (true) {
- switch (reader.next()) {
- case END_ELEMENT:
- return newBrokerAck;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<NewBrokerAck> getEncodingObjectType() {
-
- return NewBrokerAck.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java deleted file mode 100644 index 6e57ad41de..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java +++ /dev/null @@ -1,46 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerEnDeCoder extends AbstractBrokerEnDeCoder<NewBroker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewBroker);
-
- public NewBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<NewBroker> getEncodingObjectType() {
-
- return NewBroker.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java deleted file mode 100644 index 6f34fc0b7c..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java +++ /dev/null @@ -1,62 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerResponse implements EncodingObject {
-
- private EndProducers endProducers;
- private EndConsumers endConsumers;
- private Brokers brokers;
- private boolean firstBroker;
-
- public EndProducers getEndProducers() {
- return this.endProducers;
- }
-
- public void setEndProducers(EndProducers endProducers) {
- this.endProducers = endProducers;
- }
-
- public EndConsumers getEndConsumers() {
- return this.endConsumers;
- }
-
- public void setEndConsumers(EndConsumers endConsumers) {
- this.endConsumers = endConsumers;
- }
-
- public Brokers getBrokers() {
- return this.brokers;
- }
-
- public void setBrokers(Brokers brokers) {
- this.brokers = brokers;
- }
-
- public boolean isFirstBroker() {
- return this.firstBroker;
- }
-
- public void setFirstBroker(boolean firstBroker) {
- this.firstBroker = firstBroker;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java deleted file mode 100644 index 2ad969e1a6..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java +++ /dev/null @@ -1,115 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewBrokerResponseEnDeCoder extends AbstractEnDeCoder<NewBrokerResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewBrokerResponse);
-
- public NewBrokerResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(NewBrokerResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- QName qName = getEncodingObjectQName();
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, qName.getLocalPart(), qName.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, qName.getNamespaceURI());
- writer.writeAttribute(Constants.FirstBroker, String.valueOf(encodingObject.isFirstBroker()));
- if (encodingObject.isFirstBroker()) {
- registry.encode(encodingObject.getEndConsumers(), writer);
- registry.encode(encodingObject.getEndProducers(), writer);
- } else {
- registry.encode(encodingObject.getBrokers(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public NewBrokerResponse decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- NewBrokerResponse newBrokerResponseElement = new NewBrokerResponse();
- boolean firstBroker = Boolean.parseBoolean(reader.getAttributeValue(null, Constants.FirstBroker));
- newBrokerResponseElement.setFirstBroker(firstBroker);
- boolean haveEC = false;
- boolean haveEP = false;
- boolean haveB = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof EndProducers && !haveEP && firstBroker) {
- newBrokerResponseElement.setEndProducers((EndProducers)encodingObject);
- haveEP = true;
- } else if(encodingObject instanceof EndConsumers && !haveEC && firstBroker) {
- newBrokerResponseElement.setEndConsumers((EndConsumers)encodingObject);
- haveEC = true;
- } else if(encodingObject instanceof Brokers && !haveB && !firstBroker) {
- newBrokerResponseElement.setBrokers((Brokers)encodingObject);
- haveB = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveEP && firstBroker) {
- throw new EncodingException("Missing end producers");
- }
- if (!haveEC && firstBroker) {
- throw new EncodingException("Missing end consumers");
- }
- if (!haveB && !firstBroker) {
- throw new EncodingException("Missing brokers");
- }
- return newBrokerResponseElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<NewBrokerResponse> getEncodingObjectType() {
-
- return NewBrokerResponse.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java deleted file mode 100644 index a47e1f4e55..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumer extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java deleted file mode 100644 index 8eac326019..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumerEnDeCoder extends EndpointReferenceWrapperEnDeCoder<NewConsumer> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewConsumer);
-
- public NewConsumerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewConsumer> getEncodingObjectType() {
- return NewConsumer.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java deleted file mode 100644 index 60fb23be02..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumerResponse extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java deleted file mode 100644 index fbcd041621..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java +++ /dev/null @@ -1,61 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewConsumerResponseEnDeCoder extends EndpointReferenceSequenceEnDeCoder<NewConsumerResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewConsumerResponse);
-
- public NewConsumerResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewConsumerResponse> getEncodingObjectType() {
- return NewConsumerResponse.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(NewConsumerResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ProducerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ProducerSequenceType);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java deleted file mode 100644 index aa9180dcd7..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducer extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java deleted file mode 100644 index 38cf9e9467..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducerEnDeCoder extends EndpointReferenceWrapperEnDeCoder<NewProducer> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewProducer);
-
- public NewProducerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewProducer> getEncodingObjectType() {
- return NewProducer.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java deleted file mode 100644 index 49a4259333..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducerResponse extends EndpointReferenceSequence {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java deleted file mode 100644 index 74d10fe02d..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java +++ /dev/null @@ -1,61 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NewProducerResponseEnDeCoder extends EndpointReferenceSequenceEnDeCoder<NewProducerResponse> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.NewProducerResponse);
-
- public NewProducerResponseEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<NewProducerResponse> getEncodingObjectType() {
- return NewProducerResponse.class;
- }
-
- @Override
- protected void encodeSequenceTypeAttribute(NewProducerResponse encodingObject, XMLStreamWriter writer) throws EncodingException {
- try {
- writer.writeAttribute(Constants.ConsumerSequenceType, encodingObject.getSequenceType());
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- @Override
- protected String decodeSequenceTypeAttribute(XMLStreamReader reader) {
- return reader.getAttributeValue(null, Constants.ConsumerSequenceType);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java deleted file mode 100644 index 2ee9320f20..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java +++ /dev/null @@ -1,54 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReferenceProperties implements EncodingObject {
-
- private List<EncodingObject> properties;
-
- public List<EncodingObject> getProperties() {
- return properties;
- }
-
- public void addProperty(EncodingObject property) {
- if(this.properties == null) {
- this.properties = new ArrayList<EncodingObject>();
- }
- this.properties.add(property);
- }
-
- @SuppressWarnings("unchecked")
- public <E extends EncodingObject> E getProperty(Class<E> propertyType) {
- if (this.properties == null) {
- return null;
- }
- for (EncodingObject eo : properties) {
- if (propertyType.isInstance(eo)) {
- return (E)eo;
- }
- }
- return null;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java deleted file mode 100644 index 9d06dfea97..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java +++ /dev/null @@ -1,87 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReferencePropertiesEnDeCoder extends AbstractEnDeCoder<ReferenceProperties> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.ADDRESSING_NS, Constants.ReferenceProperties);
-
- public ReferencePropertiesEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ReferenceProperties encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.ADDRESSING_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.ADDRESSING_PREFIX, QNAME.getNamespaceURI());
- if (encodingObject.getProperties() != null) {
- for (EncodingObject property : encodingObject.getProperties()) {
- registry.encode(property, writer);
- }
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ReferenceProperties decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ReferenceProperties referencePropertiesElement = new ReferenceProperties();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject property = registry.decode(reader);
- referencePropertiesElement.addProperty(property);
- break;
- case END_ELEMENT:
- return referencePropertiesElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ReferenceProperties> getEncodingObjectType() {
-
- return ReferenceProperties.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java deleted file mode 100644 index 39050d158c..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemoveBroker implements EncodingObject {
-
- private BrokerConsumerReference brokerConsumerReference;
- private NeighborBrokerConsumers neighborBrokerConsumers;
-
- public BrokerConsumerReference getBrokerConsumerReference() {
- return this.brokerConsumerReference;
- }
-
- public void setBrokerConsumerReference(BrokerConsumerReference brokerConsumerReference) {
- this.brokerConsumerReference = brokerConsumerReference;
- }
-
- public NeighborBrokerConsumers getNeighborBrokerConsumers() {
- return this.neighborBrokerConsumers;
- }
-
- public void setNeighborBrokerConsumers(NeighborBrokerConsumers neighborBrokerConsumers) {
- this.neighborBrokerConsumers = neighborBrokerConsumers;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java deleted file mode 100644 index 97834ea0a9..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java +++ /dev/null @@ -1,99 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemoveBrokerEnDeCoder extends AbstractEnDeCoder<RemoveBroker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.RemoveBroker);
-
- public RemoveBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(RemoveBroker encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getBrokerConsumerReference(), writer);
- if (encodingObject.getNeighborBrokerConsumers() != null) {
- registry.encode(encodingObject.getNeighborBrokerConsumers(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public RemoveBroker decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- RemoveBroker removeBrokerElement = new RemoveBroker();
- boolean haveBCR = false;
- boolean haveNBC = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof BrokerConsumerReference && !haveBCR) {
- removeBrokerElement.setBrokerConsumerReference((BrokerConsumerReference)encodingObject);
- haveBCR = true;
- } else if(encodingObject instanceof NeighborBrokerConsumers && !haveNBC) {
- removeBrokerElement.setNeighborBrokerConsumers((NeighborBrokerConsumers)encodingObject);
- haveNBC = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveBCR) {
- throw new EncodingException("Missing broker consumer reference");
- }
- return removeBrokerElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<RemoveBroker> getEncodingObjectType() {
-
- return RemoveBroker.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java deleted file mode 100644 index 047c5e9a58..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java +++ /dev/null @@ -1,26 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemovedBroker extends EndpointReferenceWrapper {
-
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java deleted file mode 100644 index 25f92c38c2..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import javax.xml.namespace.QName;
-
-/**
- * @version $Rev$ $Date$
- */
-public class RemovedBrokerEnDeCoder extends EndpointReferenceWrapperEnDeCoder<RemovedBroker> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.RemovedBroker);
-
- public RemovedBrokerEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
-
- public QName getEncodingObjectQName() {
- return QNAME;
- }
-
-
- public Class<RemovedBroker> getEncodingObjectType() {
- return RemovedBroker.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java deleted file mode 100644 index 8145c6b170..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java +++ /dev/null @@ -1,44 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReplaceBrokerConnection implements EncodingObject {
-
- private RemovedBroker removedBroker;
- private Neighbors neighbors;
-
- public RemovedBroker getRemovedBroker() {
- return this.removedBroker;
- }
-
- public void setRemovedBroker(RemovedBroker removedBroker) {
- this.removedBroker = removedBroker;
- }
-
- public Neighbors getNeighbors() {
- return this.neighbors;
- }
-
- public void setNeighbors(Neighbors neighbors) {
- this.neighbors = neighbors;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java deleted file mode 100644 index 000f6690c7..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java +++ /dev/null @@ -1,99 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReplaceBrokerConnectionEnDeCoder extends AbstractEnDeCoder<ReplaceBrokerConnection> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.ReplaceBrokerConnection);
-
- public ReplaceBrokerConnectionEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(ReplaceBrokerConnection encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getRemovedBroker(), writer);
- if (encodingObject.getNeighbors() != null) {
- registry.encode(encodingObject.getNeighbors(), writer);
- }
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public ReplaceBrokerConnection decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- ReplaceBrokerConnection replaceBrokerConnectionElement = new ReplaceBrokerConnection();
- boolean haveRB = false;
- boolean haveN = false;
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- if (encodingObject instanceof RemovedBroker && !haveRB) {
- replaceBrokerConnectionElement.setRemovedBroker((RemovedBroker)encodingObject);
- haveRB = true;
- } else if(encodingObject instanceof Neighbors && !haveN) {
- replaceBrokerConnectionElement.setNeighbors((Neighbors)encodingObject);
- haveN = true;
- } else {
- throw new EncodingException("Invalid encoding object");
- }
- break;
- case END_ELEMENT:
- if (!haveRB) {
- throw new EncodingException("Missing removed broker");
- }
- return replaceBrokerConnectionElement;
- }
- }
- } catch (Exception ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<ReplaceBrokerConnection> getEncodingObjectType() {
-
- return ReplaceBrokerConnection.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java deleted file mode 100644 index aca5c70641..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java +++ /dev/null @@ -1,35 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-/**
- * @version $Rev$ $Date$
- */
-public class Subscribe implements EncodingObject {
-
- private ConsumerReference consumerReference;
-
- public ConsumerReference getConsumerReference() {
- return consumerReference;
- }
-
- public void setConsumerReference(ConsumerReference consumerReference) {
- this.consumerReference = consumerReference;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java deleted file mode 100644 index 04ee132b3e..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java +++ /dev/null @@ -1,83 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-/**
- * @version $Rev$ $Date$
- */
-public class SubscribeEnDeCoder extends AbstractEnDeCoder<Subscribe> {
-
- // QName for the root element
- public static final QName QNAME = new QName(Constants.NOTIFICATION_NS, Constants.Subscribe);
-
- public SubscribeEnDeCoder(EncodingRegistry registry) {
- super(registry);
- }
-
- public void encode(Subscribe encodingObject, XMLStreamWriter writer) throws EncodingException {
-
- try {
- writer.writeStartElement(Constants.NOTIFICATION_PREFIX, QNAME.getLocalPart(), QNAME.getNamespaceURI());
- writer.writeNamespace(Constants.NOTIFICATION_PREFIX, QNAME.getNamespaceURI());
- registry.encode(encodingObject.getConsumerReference(), writer);
- writer.writeEndElement();
- } catch(XMLStreamException e) {
- throw new EncodingException(e);
- }
- }
-
- public Subscribe decode(XMLStreamReader reader) throws EncodingException {
-
- try {
- Subscribe subscribeElement = new Subscribe();
- while (true) {
- switch (reader.next()) {
- case START_ELEMENT:
- EncodingObject encodingObject = registry.decode(reader);
- subscribeElement.setConsumerReference((ConsumerReference)encodingObject);
- break;
- case END_ELEMENT:
- return subscribeElement;
- }
- }
- } catch (XMLStreamException ex) {
- throw new EncodingException(ex);
- }
- }
-
-
- public QName getEncodingObjectQName() {
-
- return QNAME;
- }
-
-
- public Class<Subscribe> getEncodingObjectType() {
-
- return Subscribe.class;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java deleted file mode 100644 index daac727cb6..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java +++ /dev/null @@ -1,176 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.util;
-
-import java.io.ByteArrayOutputStream;
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @version $Rev$ $Date$
- */
-public class IOUtils {
-
- // FIXME: For some reason, tomcat converts the header names to be lower case, see TUSCANY-1791
- public static final String Notification_Source = "notification-source";
- public static final String Notification_Target = "notification-target";
- public static final String Notification_Operation = "notification-operation";
-
- public static final int DEF_BLOCK_SIZE = 512;
-
- public static Object sendHttpRequest(URL targetURL,
- String opName,
- Writeable wbody,
- ReadableContinuation rcont) throws Exception {
- if (opName == null) {
- opName = "";
- }
- Map<String, String> headers = new HashMap<String, String>();
- headers.put(Notification_Operation, opName);
- return sendHttpRequest(targetURL, headers, wbody, rcont);
- }
-
- public static Object sendHttpRequest(URL targetURL,
- Map<String, String> headers,
- Writeable wbody,
- ReadableContinuation rcont) throws Exception {
-
- String targetUri = targetURL.toString();
- String sourceUri = "";
-
- final HttpURLConnection con = (HttpURLConnection) targetURL.openConnection();
- con.setRequestMethod("POST");
- //con.setRequestProperty("Content-Length", Integer.toString(sbody.getBytes().length));
- con.setAllowUserInteraction(false);
- con.setInstanceFollowRedirects(false);
- if (targetUri != null) {
- con.setRequestProperty(Notification_Target, targetUri);
- }
-
- if (sourceUri != null) {
- con.setRequestProperty(Notification_Source, sourceUri);
- }
-
- for (String key : headers.keySet()) {
- con.setRequestProperty(key, headers.get(key));
- }
- con.setDoOutput(true);
- con.setDoInput(true);
- con.connect();
- Object response = null;
- try {
- if (wbody != null) {
- OutputStream ost = con.getOutputStream();
- wbody.write(ost);
- } else {
- throw new IOUtilsException("Missing writeable body");
- }
- final int rc = con.getResponseCode();
- switch (rc) {
- case HttpURLConnection.HTTP_OK:
- if (rcont != null) {
- InputStream ist = con.getInputStream();
- response = rcont.read(ist);
- }
- break;
- case HttpURLConnection.HTTP_NO_CONTENT:
- break;
- default:
- throw new RuntimeException("Unexpected response code: " + rc);
- }
- } finally {
- con.disconnect();
- }
- return response;
- }
-
- public interface Writeable {
- void write(OutputStream os) throws IOUtilsException;
- }
-
- public interface ReadableContinuation {
- Object read(InputStream is) throws IOUtilsException;
- }
-
- @SuppressWarnings("serial")
- public static class IOUtilsException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public IOUtilsException(String message) {
- super(message);
- }
-
- public IOUtilsException(Throwable cause) {
- super(cause);
- }
- }
-
- public static byte [] readFully(final InputStream ist, int len) throws IOException {
- ByteArrayOutputStream baost = new ByteArrayOutputStream();
- copyStream(ist,baost,len);
- return baost.toByteArray();
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost) throws IOException {
- return copyStream(ist, ost, -1, 0);
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost, int length) throws IOException {
- return copyStream(ist, ost, length, 0);
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost, final int length, int blockSize) throws IOException {
-
- int cbCopied = 0;
- if (blockSize <= 0) {
- blockSize = DEF_BLOCK_SIZE;
- }
-
- final byte[] block = new byte[blockSize];
- boolean done = length == 0;
- while (!done) {
- try {
- // determine how many bytes to read
- final int cbToRead = length == -1 ? block.length : (Math.min(length - cbCopied, block.length));
- final int cbRead = ist.read(block, 0, cbToRead);
- if (cbRead == -1) {
- done = true;
- } else {
- ost.write(block, 0, cbRead);
- cbCopied += cbRead;
- done = cbCopied == length;
- }
- } catch (final EOFException e) {
- done = true;
- }
- }
- ost.flush();
- return cbCopied;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java deleted file mode 100644 index f780514eda..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java +++ /dev/null @@ -1,89 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.util;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-
-/**
- * Receives notification in HTTP request and dispatches it down the wire
- *
- * @version $Rev$ $Date$
- */
-@SuppressWarnings("serial")
-public class NotificationServlet extends HttpServlet {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private NotificationServletHandler handler;
- private NotificationServletStreamHandler servletStreamHandler;
-
- public NotificationServlet(NotificationServletHandler handler) {
- this.handler = handler;
- this.servletStreamHandler = null;
- }
-
- public NotificationServlet(NotificationServletStreamHandler servletStreamHandler) {
- this.handler = null;
- this.servletStreamHandler = servletStreamHandler;
- }
-
- @Override
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
- HashMap<String, String> headers = new HashMap<String, String>();
- Enumeration headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String headerName = (String)headerNames.nextElement();
- headers.put(headerName, request.getHeader(headerName));
- }
- if (handler != null) {
- byte[] requestBody = IOUtils.readFully(request.getInputStream(), request.getContentLength());
- byte[] handlersResponse = handler.handle(headers, requestBody);
- if (handlersResponse != null) {
- response.getOutputStream().write(handlersResponse);
- response.getOutputStream().flush();
- }
- } else {
- try {
- servletStreamHandler.handle(headers, request.getInputStream(), request.getContentLength(), response.getOutputStream());
- } catch(RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
-
- public interface NotificationServletHandler {
- byte[] handle(Map<String, String> headers, byte[] payload);
- }
-
- public interface NotificationServletStreamHandler {
- void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java b/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java deleted file mode 100644 index 42ccd5cdac..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java +++ /dev/null @@ -1,41 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.util;
-
-import java.net.URI;
-
-/**
- * @version $Rev$ $Date$
- */
-public class URIUtil {
-
- public static String getPath(URI uri) {
- String path = null;
-
- if (uri.isOpaque()) {
- path = "/" + uri.getSchemeSpecificPart();
- } else if (uri.isAbsolute()) {
- path = uri.getPath();
- } else {
- path = "/" + uri.getPath();
- }
-
- return path;
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-equinox/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index 5e5ce97054..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,18 +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.
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.binding.notification.NotificationBindingModuleActivator
diff --git a/branches/sca-equinox/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java b/branches/sca-equinox/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java deleted file mode 100644 index 3d328339a7..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java +++ /dev/null @@ -1,56 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.io.ByteArrayInputStream;
-import java.io.StringWriter;
-
-import junit.framework.TestCase;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.junit.Assert;
-
-public class AxiomTestCase extends TestCase {
-
- private static String wsnt = "http://docs.oasis-open.org/wsn/b-2";
- private static String wsa = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
- private static String testUrl1 = "http://localhost:8081/test";
- private static String testUrl2 = "http://localhost:8082/test";
- private static String testNewProducerResponse =
- "<wsnt:NewProducerResponse xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"EndConsumers\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsnt:NewProducerResponse>";
-
- public void testAxiom() {
- try {
- StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(testNewProducerResponse.getBytes()));
- OMElement element = builder.getDocumentElement();
- Assert.assertNotNull(element);
-
- StringWriter sw = new StringWriter();
- element.serialize(sw);
- sw.flush();
- Assert.assertEquals(sw.toString(),testNewProducerResponse);
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java b/branches/sca-equinox/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java deleted file mode 100644 index 3dcd2b9b00..0000000000 --- a/branches/sca-equinox/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java +++ /dev/null @@ -1,470 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.notification.encoding;
-
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Iterator;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class EncodingTestCase extends TestCase {
-
- private static String wsnt = "http://docs.oasis-open.org/wsn/b-2";
- private static String wsa = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
- private static String testUrl = "http://localhost:8080/test";
- private static String testUrl1 = "http://localhost:8081/test";
- private static String testUrl2 = "http://localhost:8082/test";
- private static String bid1 = "UUID1";
- private static String bid2 = "UUID2";
- private static String testSubscribe =
- "<wsnt:Subscribe xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:ConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:ConsumerReference>" +
- "</wsnt:Subscribe>";
- private static String testNewConsumerResponse =
- "<wsnt:NewConsumerResponse xmlns:wsnt=\"" + wsnt + "\" ProducerSequenceType=\"EndProducers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:NewConsumerResponse>";
- private static String testNewProducerResponse =
- "<wsnt:NewProducerResponse xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"EndConsumers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:NewProducerResponse>";
- private static String testNoProducersResponse =
- "<wsnt:NewConsumerResponse xmlns:wsnt=\"" + wsnt + "\" ProducerSequenceType=\"NoProducers\" />";
- private static String testNewBroker =
- "<wsnt:NewBroker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:BrokerProducerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid2 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerProducerReference>" +
- "</wsnt:NewBroker>";
- private static String testNewBrokerResponse1 =
- "<wsnt:NewBrokerResponse xmlns:wsnt=\"" + wsnt + "\" FirstBroker=\"true\">" +
- "<wsnt:EndConsumers xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"EndConsumers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:EndConsumers>" +
- "<wsnt:EndProducers xmlns:wsnt=\"" + wsnt + "\" ProducerSequenceType=\"NoProducers\" />" +
- "</wsnt:NewBrokerResponse>";
- private static String testNewBrokerResponse2 =
- "<wsnt:NewBrokerResponse xmlns:wsnt=\"" + wsnt + "\" FirstBroker=\"false\">" +
- "<wsnt:Brokers xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:Broker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:BrokerProducerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid2 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerProducerReference>" +
- "</wsnt:Broker>" +
- "</wsnt:Brokers>" +
- "</wsnt:NewBrokerResponse>";
- private static String testRemoveBroker =
- "<wsnt:RemoveBroker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:NeighborBrokerConsumers xmlns:wsnt=\"" + wsnt + "\" ConsumerSequenceType=\"BrokerConsumers\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "</wsa:EndpointReference>" +
- "</wsnt:NeighborBrokerConsumers>" +
- "</wsnt:RemoveBroker>";
- private static String testReplaceBrokerConnection =
- "<wsnt:ReplaceBrokerConnection xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:RemovedBroker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:RemovedBroker>" +
- "<wsnt:Neighbors xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:Broker xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsnt:BrokerConsumerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl1 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid1 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerConsumerReference>" +
- "<wsnt:BrokerProducerReference xmlns:wsnt=\"" + wsnt + "\">" +
- "<wsa:EndpointReference xmlns:wsa=\"" + wsa + "\">" +
- "<wsa:Address xmlns:wsa=\"" + wsa + "\">" + testUrl2 + "</wsa:Address>" +
- "<wsa:ReferenceProperties xmlns:wsa=\"" + wsa + "\">" +
- "<wsnt:BrokerID xmlns:wsnt=\"" + wsnt + "\">" + bid2 + "</wsnt:BrokerID>" +
- "</wsa:ReferenceProperties>" +
- "</wsa:EndpointReference>" +
- "</wsnt:BrokerProducerReference>" +
- "</wsnt:Broker>" +
- "</wsnt:Neighbors>" +
- "</wsnt:ReplaceBrokerConnection>";
-
- public void testSubscribe() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- SubscribeEnDeCoder sed = new SubscribeEnDeCoder(der);
- sed.start();
- ConsumerReferenceEnDeCoder cred = new ConsumerReferenceEnDeCoder(der);
- cred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testSubscribe));
- reader.next();
- Subscribe subscribe = (Subscribe)der.decode(reader);
- Assert.assertEquals(subscribe.getConsumerReference().getReference().getEndpointAddress().getAddress().toString(), testUrl);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(subscribe, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testSubscribe);
- }
-
- public void testNewConsumerResponse() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewConsumerResponseEnDeCoder ncred = new NewConsumerResponseEnDeCoder(der);
- ncred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewConsumerResponse));
- reader.next();
- NewConsumerResponse newConsumerResponse = (NewConsumerResponse)der.decode(reader);
- Assert.assertEquals(newConsumerResponse.getSequenceType(), "EndProducers");
- Assert.assertEquals(newConsumerResponse.getReferenceSequence().iterator().next().getEndpointAddress().getAddress().toString(),
- testUrl);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newConsumerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewConsumerResponse);
- }
-
- public void testNoProducersResponse() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewConsumerResponseEnDeCoder ncred = new NewConsumerResponseEnDeCoder(der);
- ncred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNoProducersResponse));
- reader.next();
- NewConsumerResponse newConsumerResponse = (NewConsumerResponse)der.decode(reader);
- Assert.assertEquals(newConsumerResponse.getSequenceType(), "NoProducers");
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newConsumerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNoProducersResponse);
- }
-
- public void testNewProducerResponse() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewProducerResponseEnDeCoder npred = new NewProducerResponseEnDeCoder(der);
- npred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewProducerResponse));
- reader.next();
- NewProducerResponse newProducerResponse = (NewProducerResponse)der.decode(reader);
- Assert.assertEquals(newProducerResponse.getSequenceType(), "EndConsumers");
- Iterator<EndpointReference> it = newProducerResponse.getReferenceSequence().iterator();
- it.next();
- Assert.assertEquals(it.next().getEndpointAddress().getAddress().toString(), testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newProducerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewProducerResponse);
- }
-
- public void testNewBroker() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewBrokerEnDeCoder nbed = new NewBrokerEnDeCoder(der);
- nbed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
- BrokerProducerReferenceEnDeCoder bpred = new BrokerProducerReferenceEnDeCoder(der);
- bpred.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewBroker));
- reader.next();
- NewBroker newBroker = (NewBroker)der.decode(reader);
- Assert.assertEquals(newBroker.getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl1);
- Assert.assertEquals(newBroker.getBrokerProducerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newBroker, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewBroker);
- }
-
- public void testNewBrokerRespnse1() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewBrokerResponseEnDeCoder nbred = new NewBrokerResponseEnDeCoder(der);
- nbred.start();
- EndProducersEnDeCoder epred = new EndProducersEnDeCoder(der);
- epred.start();
- EndConsumersEnDeCoder ecred = new EndConsumersEnDeCoder(der);
- ecred.start();
- EndpointReferenceEnDeCoder ered = new EndpointReferenceEnDeCoder(der);
- ered.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewBrokerResponse1));
- reader.next();
- NewBrokerResponse newBrokerResponse = (NewBrokerResponse)der.decode(reader);
- Assert.assertFalse(!newBrokerResponse.isFirstBroker());
- Assert.assertEquals(newBrokerResponse.getEndProducers().getSequenceType(), "NoProducers");
- Assert.assertEquals(newBrokerResponse.getEndConsumers().getSequenceType(), "EndConsumers");
- Assert.assertEquals(newBrokerResponse.getEndConsumers().getReferenceSequence().get(0).getEndpointAddress().getAddress().toString(),
- testUrl1);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newBrokerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewBrokerResponse1);
- }
-
- public void testNewBrokerRespnse2() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- NewBrokerResponseEnDeCoder nbred = new NewBrokerResponseEnDeCoder(der);
- nbred.start();
- BrokersEnDeCoder bsed = new BrokersEnDeCoder(der);
- bsed.start();
- BrokerEnDeCoder bed = new BrokerEnDeCoder(der);
- bed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- BrokerProducerReferenceEnDeCoder bpred = new BrokerProducerReferenceEnDeCoder(der);
- bpred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testNewBrokerResponse2));
- reader.next();
- NewBrokerResponse newBrokerResponse = (NewBrokerResponse)der.decode(reader);
- Assert.assertFalse(newBrokerResponse.isFirstBroker());
- Assert.assertEquals(newBrokerResponse.getBrokers().getBrokerSequence().get(0)
- .getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl1);
- Assert.assertEquals(newBrokerResponse.getBrokers().getBrokerSequence().get(0)
- .getBrokerProducerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(newBrokerResponse, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testNewBrokerResponse2);
- }
-
- public void testRemoveBroker() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- RemoveBrokerEnDeCoder rbed = new RemoveBrokerEnDeCoder(der);
- rbed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
- NeighborBrokerConsumersEnDeCoder nbced = new NeighborBrokerConsumersEnDeCoder(der);
- nbced.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testRemoveBroker));
- reader.next();
- RemoveBroker removeBroker = (RemoveBroker)der.decode(reader);
- Assert.assertEquals(removeBroker.getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl);
- NeighborBrokerConsumers neighborBrokerConsumers = removeBroker.getNeighborBrokerConsumers();
- Assert.assertEquals(neighborBrokerConsumers.getSequenceType(), "BrokerConsumers");
- Iterator<EndpointReference> it = neighborBrokerConsumers.getReferenceSequence().iterator();
- it.next();
- Assert.assertEquals(it.next().getEndpointAddress().getAddress().toString(), testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(removeBroker, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testRemoveBroker);
- }
-
- public void testReplaceBrokerConnection() throws Exception {
- DefaultEncodingRegistry der = new DefaultEncodingRegistry();
- ReplaceBrokerConnectionEnDeCoder rbced = new ReplaceBrokerConnectionEnDeCoder(der);
- rbced.start();
- RemovedBrokerEnDeCoder rbed = new RemovedBrokerEnDeCoder(der);
- rbed.start();
- EndpointReferenceEnDeCoder epred = new EndpointReferenceEnDeCoder(der);
- epred.start();
- EndpointAddressEnDeCoder eaed = new EndpointAddressEnDeCoder(der);
- eaed.start();
- ReferencePropertiesEnDeCoder rped = new ReferencePropertiesEnDeCoder(der);
- rped.start();
- BrokerIDEnDeCoder bied = new BrokerIDEnDeCoder(der);
- bied.start();
- BrokerEnDeCoder bed = new BrokerEnDeCoder(der);
- bed.start();
- BrokerConsumerReferenceEnDeCoder bcred = new BrokerConsumerReferenceEnDeCoder(der);
- bcred.start();
- BrokerProducerReferenceEnDeCoder bpred = new BrokerProducerReferenceEnDeCoder(der);
- bpred.start();
- NeighborsEnDeCoder nced = new NeighborsEnDeCoder(der);
- nced.start();
-
- XMLInputFactory xif = XMLInputFactory.newInstance();
- XMLStreamReader reader = xif.createXMLStreamReader(new StringReader(testReplaceBrokerConnection));
- reader.next();
- ReplaceBrokerConnection replaceBrokerConnection = (ReplaceBrokerConnection)der.decode(reader);
- Assert.assertEquals(replaceBrokerConnection.getRemovedBroker().getReference().getEndpointAddress().getAddress().toString(),
- testUrl);
- Neighbors neighbors = replaceBrokerConnection.getNeighbors();
- Assert.assertEquals(neighbors.getBrokerSequence().get(0)
- .getBrokerConsumerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl1);
- Assert.assertEquals(neighbors.getBrokerSequence().get(0)
- .getBrokerProducerReference().getReference().getEndpointAddress().getAddress().toString(),
- testUrl2);
-
- XMLOutputFactory xof = XMLOutputFactory.newInstance();
- StringWriter testWriter = new StringWriter();
- XMLStreamWriter writer = xof.createXMLStreamWriter(testWriter);
- der.encode(replaceBrokerConnection, writer);
- writer.flush();
- String encoded = testWriter.toString();
- Assert.assertEquals(encoded, testReplaceBrokerConnection);
- }
-}
diff --git a/branches/sca-equinox/modules/binding-sca-jms/LICENSE b/branches/sca-equinox/modules/binding-sca-jms/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/binding-sca-jms/META-INF/README b/branches/sca-equinox/modules/binding-sca-jms/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/binding-sca-jms/NOTICE b/branches/sca-equinox/modules/binding-sca-jms/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/binding-sca-jms/pom.xml b/branches/sca-equinox/modules/binding-sca-jms/pom.xml deleted file mode 100644 index 680928ad55..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/pom.xml +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
-
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-binding-sca-jms</artifactId>
- <name>Apache Tuscany SCA JMS-based Default Binding Extension</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jms-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.activemq</groupId>
- <artifactId>activemq-core</artifactId>
- <version>5.1.0</version>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.binding.sca.jms</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.binding.sca.jms*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java b/branches/sca-equinox/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java deleted file mode 100644 index 6c13b550ba..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java +++ /dev/null @@ -1,70 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.binding.sca.jms;
-
-import java.net.URI;
-
-import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.broker.TransportConnector;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-
-/**
- * The JMS broker for the JMS based SCA binding
- * TODO: configure from a binding.jms in definitions.xml
- */
-public class JMSBroker implements ModuleActivator {
-
- // this is static so that there is only one broker per JVM
- // if that wasn't the case then to use the vm: transport each broker
- // would need a unique name and clients would need to know the name
- private static BrokerService broker;
-
- public void start(ExtensionPointRegistry arg0) {
- if (broker == null) {
- broker = new BrokerService();
- broker.setPersistent(false);
- broker.setUseJmx(false);
- try {
-
- TransportConnector tc = broker.addConnector("tcp://localhost:0");
- tc.setDiscoveryUri(URI.create("multicast://default"));
-
- broker.addNetworkConnector("multicast://default");
-
- broker.start();
-
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- public void stop(ExtensionPointRegistry arg0) {
- if (broker != null) {
- try {
- broker.stop();
- broker = null;
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
-}
diff --git a/branches/sca-equinox/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java b/branches/sca-equinox/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java deleted file mode 100644 index cfb14e6d56..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.binding.sca.jms; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingReferenceBindingProvider; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.work.WorkScheduler; - -/** - * The factory for the JMS based implementation of the distributed sca binding - */ -public class JMSSCABindingProviderFactory implements BindingProviderFactory<DistributedSCABinding> { - - private WorkScheduler workScheduler; - private ExtensionPointRegistry extensionPoints; - - public JMSSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - workScheduler = utilities.getUtility(WorkScheduler.class); - assert workScheduler != null; - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - DistributedSCABinding binding) { - JMSBinding jmsBinding = createBinding(binding); - - // FIXME: CREATE_NEVER doesn't work as the dynamically created JNDI destinations - // aren't replicated around the broker cluster. Maybe it needs an AMQ specific - // impl of the Tuscany JMSResourceFactory which uses use physical destinations - // instead of JNDI - // jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_NEVER); - - return new JMSBindingReferenceBindingProvider(component, reference, jmsBinding, extensionPoints); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding) { - JMSBinding jmsBinding = createBinding(binding); - jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_ALWAYS); - return new JMSBindingServiceBindingProvider(component, service, binding.getSCABinding(), jmsBinding, workScheduler, extensionPoints); - } - - private JMSBinding createBinding(DistributedSCABinding binding) { - JMSBinding b = new JMSBinding(); - b.setInitialContextFactoryName("org.apache.activemq.jndi.ActiveMQInitialContextFactory"); - b.setJndiURL("vm://localhost"); // TODO: plug in jndi url from definitions.xml - b.setRequestMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - b.setResponseMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - if (binding.getSCABinding().getURI().startsWith("/")) { - b.setDestinationName(binding.getSCABinding().getURI().substring(1)); - } else { - b.setDestinationName(binding.getSCABinding().getURI()); - } - return b; - } - - public Class<DistributedSCABinding> getModelType() { - return DistributedSCABinding.class; - } -} diff --git a/branches/sca-equinox/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-equinox/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index f1b9825130..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.binding.sca.jms.JMSBroker
diff --git a/branches/sca-equinox/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/branches/sca-equinox/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 8e53649af1..0000000000 --- a/branches/sca-equinox/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.binding.sca.jms.JMSSCABindingProviderFactory;model=org.apache.tuscany.sca.binding.sca.DistributedSCABinding
diff --git a/branches/sca-equinox/modules/contribution-groovy/LICENSE b/branches/sca-equinox/modules/contribution-groovy/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/contribution-groovy/META-INF/README b/branches/sca-equinox/modules/contribution-groovy/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/contribution-groovy/NOTICE b/branches/sca-equinox/modules/contribution-groovy/NOTICE deleted file mode 100644 index aeeca5ef8d..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/NOTICE +++ /dev/null @@ -1,8 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -This product uses Relax WS (http://code.google.com/p/relax-ws/) with the following copyright: - * Copyright 2008 Jason Sando diff --git a/branches/sca-equinox/modules/contribution-groovy/pom.xml b/branches/sca-equinox/modules/contribution-groovy/pom.xml deleted file mode 100644 index dafcf42628..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-contribution-groovy</artifactId> - <name>Apache Tuscany SCA Groovy contributions</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.codehaus.groovy</groupId> - <artifactId>groovy-all-minimal</artifactId> - <version>1.5.4</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.groovy</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.contribution.groovy*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java b/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java deleted file mode 100644 index 77dab193b9..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.groovy; - -import java.net.URL; - -/** - * GroovyArtifact holds the URL to the Groovy script. - * - * @version $Rev$ $Date$ - */ -public class GroovyArtifact { - - private URL artifactURL; - - public GroovyArtifact(URL artifactURL) { - this.artifactURL = artifactURL; - } - - public URL getArtifactURL() { - return artifactURL; - } - -} diff --git a/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java b/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java deleted file mode 100644 index 4b7df4d9f8..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.groovy; - -import java.net.URI; -import java.net.URL; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A URLArtifactProcessor for Groovy scripts - * - * @version $Rev$ $Date$ - */ -public class GroovyArtifactProcessor implements URLArtifactProcessor<GroovyArtifact> { - - public GroovyArtifactProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - public GroovyArtifact read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - return new GroovyArtifact(artifactURL); - } - - public String getArtifactType() { - return ".groovy"; - } - - public Class<GroovyArtifact> getModelType() { - return GroovyArtifact.class; - } - - public void resolve(GroovyArtifact groovyModel, ModelResolver arg1) throws ContributionResolveException { - } - -} diff --git a/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java b/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java deleted file mode 100644 index 82fe0326df..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.groovy; - -import groovy.lang.GroovyClassLoader; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A ModelResolver that compiles Groovy scripts into the contribution - * class loader so they can be used just like a regular java class. - * - * @version $Rev$ $Date$ - */ -public class GroovyModelResolver implements ModelResolver { - - protected ModelResolver modelresolver; - protected Contribution contribution; - - public GroovyModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - modelresolver = contribution.getModelResolver(); - this.contribution = contribution; - } - - public void addModel(Object model) { - ClassLoader cl = contribution.getClassLoader(); - if (!(cl instanceof GroovyClassLoader)) { - // replace the contribution class loader with a Groovy one - // If the contribution does not have a ClassLoader, use this ClassLoader as parent - if (cl == null) cl = this.getClass().getClassLoader(); - cl = new GroovyClassLoader(cl); - contribution.setClassLoader(cl); - } - try { - - ((GroovyClassLoader)cl).parseClass(((GroovyArtifact)model).getArtifactURL().openStream()); - - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - public Object removeModel(Object arg0) { - return null; - } - - public <T> T resolveModel(Class<T> arg0, T arg1) { - return null; - } -} diff --git a/branches/sca-equinox/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/branches/sca-equinox/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index f9dbee53bb..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor +++ /dev/null @@ -1,20 +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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.contribution.groovy.GroovyArtifactProcessor;type=.groovy,model=org.apache.tuscany.sca.contribution.groovy.GroovyArtifact - diff --git a/branches/sca-equinox/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/branches/sca-equinox/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 86434ac4bf..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.contribution.groovy.GroovyModelResolver;model=org.apache.tuscany.sca.contribution.groovy.GroovyArtifact
diff --git a/branches/sca-equinox/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java b/branches/sca-equinox/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java deleted file mode 100644 index 788c42f07d..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.groovy; - -/** - * HelloWorld Service interface used for testing. - * - * @version $Rev$ $Date$ - */ -public interface HelloWorld { - - String sayHello(String s); - -} diff --git a/branches/sca-equinox/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java b/branches/sca-equinox/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java deleted file mode 100644 index 02be3acd23..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.groovy; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Runs a distributed domain in a single VM by using and in memory implementation of the distributed domain - * - * @version $Rev$ $Date$ - */ -public class HelloWorldTestCase { - - private static HelloWorld helloWorld; - private static SCADomain scaDomain; - - @BeforeClass - public static void init() throws Exception { - scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/contribution/groovy/helloworld.composite"); - helloWorld = scaDomain.getService(HelloWorld.class, "HelloWolrdComponent"); - } - - @AfterClass - public static void destroy() throws Exception { - if (scaDomain != null) { - scaDomain.close(); - } - } - - @Test - public void testCalculator() throws Exception { - Assert.assertEquals("Hello Petra", helloWorld.sayHello("Petra")); - } -} diff --git a/branches/sca-equinox/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy b/branches/sca-equinox/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy deleted file mode 100644 index c172528538..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy +++ /dev/null @@ -1,27 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.contribution.groovy
-
-class HelloWorldImpl implements org.apache.tuscany.sca.contribution.groovy.HelloWorld {
-
- String sayHello(String you) {
- return "Hello $you"
- }
-
-}
\ No newline at end of file diff --git a/branches/sca-equinox/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite b/branches/sca-equinox/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite deleted file mode 100644 index 0d4c17a15b..0000000000 --- a/branches/sca-equinox/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="HelloWorld">
-
- <component name="HelloWolrdComponent">
- <implementation.java class="org.apache.tuscany.sca.contribution.groovy.HelloWorldImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/modules/contribution-jee/LICENSE b/branches/sca-equinox/modules/contribution-jee/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/contribution-jee/META-INF/README b/branches/sca-equinox/modules/contribution-jee/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/contribution-jee/NOTICE b/branches/sca-equinox/modules/contribution-jee/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/contribution-jee/pom.xml b/branches/sca-equinox/modules/contribution-jee/pom.xml deleted file mode 100644 index d7ad035d82..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/pom.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-contribution-jee</artifactId> - <name>Apache Tuscany SCA Java EE</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-ejb</artifactId> - <version>1.4-SNAPSHOT</version> - <!--scope>runtime</scope--> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-web</artifactId> - <version>1.4-SNAPSHOT</version> - <!--scope>runtime</scope--> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-jee</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.openejb</groupId> - <artifactId>openejb-core</artifactId> - <version>3.0</version> - </dependency> - <dependency> - <groupId>org.apache.openejb</groupId> - <artifactId>openejb-jee</artifactId> - <version>3.0</version> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.1</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.jee</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.contribution.jee*</Export-Package> - <DynamicImport-Package>org.apache.tuscany.sca.contribution.osgi.impl</DynamicImport-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java b/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java deleted file mode 100644 index 547ba52e74..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.policy.DefaultPolicyFactory; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicyFactory; - -/** - * @version $Rev$ $Date$ - */ -public class AssemblyHelper { - private AssemblyFactory af; - private JavaInterfaceFactory jif; - - public static final Map<String, QName> ALLOWED_ENV_ENTRY_TYPES; - public static final Intent CONVERSATIONAL_INTENT; - public static final Intent EJB_INTENT; - static { - ALLOWED_ENV_ENTRY_TYPES = new HashMap<String, QName>(); - ALLOWED_ENV_ENTRY_TYPES.put(String.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "string", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Character.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "string", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Byte.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "byte", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Short.class.getName(), - new QName("http://www.w3.org/2001/XMLSchema", "short", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Integer.class.getName(), - new QName("http://www.w3.org/2001/XMLSchema", "int", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Long.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "long", "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Boolean.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "boolean", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Double.class.getName(), new QName("http://www.w3.org/2001/XMLSchema", "double", - "xsd")); - ALLOWED_ENV_ENTRY_TYPES.put(Float.class.getName(), - new QName("http://www.w3.org/2001/XMLSchema", "float", "xsd")); - } - - static { - PolicyFactory dpf = new DefaultPolicyFactory(); - CONVERSATIONAL_INTENT = dpf.createIntent(); - CONVERSATIONAL_INTENT.setName(new QName("http://www.osoa.org/xmlns/sca/1.0", "conversational")); - - EJB_INTENT = dpf.createIntent(); - EJB_INTENT.setName(new QName("http://www.osoa.org/xmlns/sca/1.0", "ejb")); - } - - public AssemblyHelper() { - super(); - af = new DefaultAssemblyFactory(); - jif = new DefaultJavaInterfaceFactory(); - } - - public AssemblyHelper(AssemblyFactory af, JavaInterfaceFactory jif) { - super(); - this.af = af; - this.jif = jif; - } - - public JavaInterfaceContract createInterfaceContract(Class<?> clazz) throws InvalidInterfaceException { - JavaInterface ji = jif.createJavaInterface(clazz); - JavaInterfaceContract jic = jif.createJavaInterfaceContract(); - jic.setInterface(ji); - - return jic; - } - - public ComponentService createComponentService() { - return af.createComponentService(); - } - - public ComponentReference createComponentReference() { - return af.createComponentReference(); - } - - public ComponentProperty createComponentProperty() { - return af.createComponentProperty(); - } - - public ComponentType createComponentType() { - return af.createComponentType(); - } - - public Component createComponentFromComponentType(ComponentType componentType, String componentName) { - Component component = af.createComponent(); - component.setName(componentName); - - for (Service service : componentType.getServices()) { - ComponentService compService = af.createComponentService(); - compService.setService(service); - component.getServices().add(compService); - } - - for (Reference reference : componentType.getReferences()) { - ComponentReference compReference = af.createComponentReference(); - compReference.setReference(reference); - component.getReferences().add(compReference); - } - - for (Property property : componentType.getProperties()) { - ComponentProperty compProperty = af.createComponentProperty(); - compProperty.setProperty(property); - component.getProperties().add(compProperty); - } - return component; - } - - public Composite createComposite() { - return af.createComposite(); - } - - public Component createComponent() { - return af.createComponent(); - } - - public CompositeReference createCompositeReference() { - return af.createCompositeReference(); - } - - public CompositeService createCompositeService() { - return af.createCompositeService(); - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java b/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java deleted file mode 100644 index 34b54ed238..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java +++ /dev/null @@ -1,364 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.openejb.config.EjbModule; -import org.apache.openejb.jee.EjbJar; -import org.apache.openejb.jee.EjbRef; -import org.apache.openejb.jee.EjbReference; -import org.apache.openejb.jee.EnterpriseBean; -import org.apache.openejb.jee.EnvEntry; -import org.apache.openejb.jee.MessageDrivenBean; -import org.apache.openejb.jee.SessionBean; -import org.apache.openejb.jee.SessionType; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.implementation.ejb.EJBImplementation; -import org.apache.tuscany.sca.implementation.ejb.EJBImplementationFactory; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; - -/** - * @version $Rev$ $Date$ - */ -public class EJBModuleProcessor { - private EjbModule ejbModule; - private AssemblyHelper helper; - private Map<String, List<String>> intfToBean = new HashMap<String, List<String>>(); - private List<String> statefulBeans = new ArrayList<String>(); - - public EJBModuleProcessor(EjbModule ejbModule, AssemblyHelper helper) { - super(); - this.ejbModule = ejbModule; - this.helper = helper; - } - - public EJBModuleProcessor(EjbModule ejbModule) { - this.ejbModule = ejbModule; - this.helper = new AssemblyHelper(); - } - - public Map<String, ComponentType> getEjbComponentTypes() throws ContributionException { - intfToBean.clear(); - statefulBeans.clear(); - Map<String, ComponentType> ejbComponentTypes = new HashMap<String, ComponentType>(); - - EjbJar ejbJar = ejbModule.getEjbJar(); - if (!ejbJar.getVersion().startsWith("3")) { - // Not an EJB3 module - // TODO: should throw an exception - } - - Map<String, EnterpriseBean> beansMap = ejbJar.getEnterpriseBeansByEjbName(); - for (Map.Entry<String, EnterpriseBean> entry : beansMap.entrySet()) { - EnterpriseBean bean = entry.getValue(); - ComponentType ct = null; - if (bean instanceof SessionBean) { - SessionBean sbean = (SessionBean)bean; - ct = getEjbComponentType(sbean, ejbModule.getClassLoader()); - } else if (bean instanceof MessageDrivenBean) { - MessageDrivenBean mdbean = (MessageDrivenBean)bean; - ct = getEjbComponentType(mdbean, ejbModule.getClassLoader()); - } else { - continue; - } - ejbComponentTypes.put(bean.getEjbName(), ct); - } - - // Adjust the references to STATEFUL beans - for (Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) { - ComponentType ct = entry.getValue(); - for (Reference reference : ct.getReferences()) { - String intf = ((JavaInterface)reference.getInterfaceContract().getInterface()).getName(); - for (String bean : intfToBean.get(intf)) { - if (statefulBeans.contains(bean)) { - reference.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT); - break; - } - } - } - } - - return ejbComponentTypes; - } - - public ComponentType getEjbAppComponentType() throws ContributionException { - ComponentType componentType = helper.createComponentType(); - - Map<String, ComponentType> ejbComponentTypes = getEjbComponentTypes(); - - for (Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) { - String beanName = entry.getKey(); - ComponentType ejbComponentType = entry.getValue(); - - for (Service service : ejbComponentType.getServices()) { - Service service2 = helper.createComponentService(); - service2.setName(beanName + "_" + service.getName()); - service2.setInterfaceContract(service.getInterfaceContract()); - service2.getRequiredIntents().addAll(service.getRequiredIntents()); - - componentType.getServices().add(service2); - } - - for (Reference reference : ejbComponentType.getReferences()) { - Reference reference2 = helper.createComponentReference(); - reference2.setName(beanName + "_" + reference.getName()); - reference2.setInterfaceContract(reference.getInterfaceContract()); - reference2.getRequiredIntents().addAll(reference.getRequiredIntents()); - - componentType.getReferences().add(reference2); - } - } - - return componentType; - } - - public Composite getEjbAppComposite() throws ContributionException { - Composite composite = helper.createComposite(); - - Map<String, ComponentType> ejbComponentTypes = getEjbComponentTypes(); - - ModelFactoryExtensionPoint mfep = new DefaultModelFactoryExtensionPoint(); - EJBImplementationFactory eif = mfep.getFactory(EJBImplementationFactory.class); - - for (Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) { - String ejbName = entry.getKey(); - ComponentType componentType = entry.getValue(); - - EJBImplementation impl = eif.createEJBImplementation(); - impl.setEJBLink(ejbModule.getModuleId() + "#" + ejbName); - // Create component - Component component = helper.createComponent(); - String componentName = ejbName; - component.setName(componentName); - component.setImplementation(impl); - - // Add services - for (Service service : componentType.getServices()) { - ComponentService componentService = helper.createComponentService(); - componentService.setService(service); - componentService.setInterfaceContract(service.getInterfaceContract()); - component.getServices().add(componentService); - } - - // Add references - for (Reference reference : componentType.getReferences()) { - ComponentReference componentReference = helper.createComponentReference(); - componentReference.setReference(reference); - componentReference.setInterfaceContract(reference.getInterfaceContract()); - componentReference.getRequiredIntents().addAll(reference.getRequiredIntents()); - component.getReferences().add(componentReference); - } - - // Add properties - for (Property property : componentType.getProperties()) { - ComponentProperty componentProperty = helper.createComponentProperty(); - componentProperty.setProperty(property); - component.getProperties().add(componentProperty); - } - - // Add component - composite.getComponents().add(component); - - // Add composite services - for (ComponentService service : component.getServices()) { - CompositeService compositeService = helper.createCompositeService(); - compositeService.setInterfaceContract(service.getInterfaceContract()); - compositeService.setPromotedComponent(component); - compositeService.setPromotedService(service); - composite.getServices().add(compositeService); - } - - // Add composite references - for (ComponentReference reference : component.getReferences()) { - CompositeReference compositeReference = helper.createCompositeReference(); - compositeReference.setInterfaceContract(reference.getInterfaceContract()); - compositeReference.getRequiredIntents().addAll(reference.getRequiredIntents()); - compositeReference.getPromotedReferences().add(reference); - composite.getReferences().add(compositeReference); - } - } - return composite; - } - - private ComponentType getEjbComponentType(SessionBean bean, ClassLoader cl) throws ContributionException { - ComponentType componentType = helper.createComponentType(); - - boolean conversational = bean.getSessionType().equals(SessionType.STATEFUL); - if (conversational) { - statefulBeans.add(bean.getEjbName()); - } - - // Process Remote Business interfaces of the SessionBean - for (String intfName : bean.getBusinessRemote()) { - // This code is added to take care of EJB references to STATEFUL beans that are injected - // without a beanname in @EJB annotation - List<String> beansList = intfToBean.get(intfName); - if (beansList == null) { - beansList = new ArrayList<String>(); - intfToBean.put(intfName, beansList); - } - beansList.add(bean.getEjbName()); - - String serviceName = - intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - Service service = helper.createComponentService(); - service.setName(serviceName); - InterfaceContract ic = null; - try { - Class<?> clazz = cl.loadClass(intfName); - ic = helper.createInterfaceContract(clazz); - ic.getInterface().setConversational(conversational); - ic.getInterface().setRemotable(true); - } catch (Exception e) { - throw new ContributionException(e); - } - service.setInterfaceContract(ic); - if (conversational) { - service.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT); - } - componentType.getServices().add(service); - } - - // Process Local Business interfaces of the SessionBean - for (String intfName : bean.getBusinessLocal()) { - String serviceName = - intfName.lastIndexOf(".") != -1 ? intfName.substring(intfName.lastIndexOf(".") + 1) : intfName; - Service service = helper.createComponentService(); - service.setName(serviceName); - InterfaceContract ic = null; - try { - Class<?> clazz = cl.loadClass(intfName); - ic = helper.createInterfaceContract(clazz); - ic.getInterface().setConversational(conversational); - } catch (Exception e) { - throw new ContributionException(e); - } - service.setInterfaceContract(ic); - if (conversational) { - service.getRequiredIntents().add(AssemblyHelper.CONVERSATIONAL_INTENT); - } - componentType.getServices().add(service); - } - - // Process Remote EJB References - for (Map.Entry<String, EjbRef> entry : bean.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - continue; - } - String referenceName = entry.getKey(); - referenceName = referenceName.replace("/", "_"); - Reference reference = helper.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = null; - try { - Class<?> clazz = cl.loadClass(ejbRef.getInterface()); - ic = helper.createInterfaceContract(clazz); - } catch (Exception e) { - throw new ContributionException(e); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(AssemblyHelper.EJB_INTENT); - componentType.getReferences().add(reference); - } - - // Process env-entries to compute properties - for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) { - EnvEntry envEntry = entry.getValue(); - String type = envEntry.getEnvEntryType(); - if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) { - continue; - } - String propertyName = entry.getKey(); - propertyName = propertyName.replace("/", "_"); - String value = envEntry.getEnvEntryValue(); - Property property = helper.createComponentProperty(); - property.setName(propertyName); - property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type)); - property.setValue(value); - componentType.getProperties().add(property); - } - - return componentType; - } - - private ComponentType getEjbComponentType(MessageDrivenBean bean, ClassLoader cl) throws ContributionException { - ComponentType componentType = helper.createComponentType(); - - // Process Remote EJB References - for (Map.Entry<String, EjbRef> entry : bean.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - continue; - } - String referenceName = entry.getKey(); - referenceName = referenceName.replace("/", "_"); - Reference reference = helper.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = null; - try { - Class<?> clazz = cl.loadClass(ejbRef.getInterface()); - ic = helper.createInterfaceContract(clazz); - } catch (Exception e) { - throw new ContributionException(e); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(AssemblyHelper.EJB_INTENT); - componentType.getReferences().add(reference); - } - - // Process env-entries to compute properties - for (Map.Entry<String, EnvEntry> entry : bean.getEnvEntryMap().entrySet()) { - EnvEntry envEntry = entry.getValue(); - String type = envEntry.getEnvEntryType(); - if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) { - continue; - } - String propertyName = entry.getKey(); - propertyName = propertyName.replace("/", "_"); - String value = envEntry.getEnvEntryValue(); - Property property = helper.createComponentProperty(); - property.setName(propertyName); - property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type)); - property.setValue(value); - componentType.getProperties().add(property); - } - - return componentType; - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java b/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java deleted file mode 100644 index 2ecabb9a23..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.Map; - -import org.apache.openejb.config.AppModule; -import org.apache.openejb.config.EjbModule; -import org.apache.openejb.jee.EnterpriseBean; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.contribution.service.ContributionException; - -/** - * @version $Rev$ $Date$ - */ -public class JavaEEApplicationProcessor { - private AppModule appModule; - private ComponentType componentType; - private AssemblyHelper helper; - - public JavaEEApplicationProcessor(AppModule appModule, AssemblyHelper helper) { - super(); - this.appModule = appModule; - this.helper = helper; - } - - public JavaEEApplicationProcessor(AppModule module) { - appModule = module; - helper = new AssemblyHelper(); - } - - public ComponentType getJavaEEAppComponentType() throws ContributionException { - if (componentType != null) { - return componentType; - } - componentType = helper.createComponentType(); - - // Process all EJB modules - for(EjbModule ejbModule : appModule.getEjbModules()) { - EJBModuleProcessor emp = new EJBModuleProcessor(ejbModule, helper); - Map<String, ComponentType> ejbComponentTypes = emp.getEjbComponentTypes(); - for(Map.Entry<String, ComponentType> entry : ejbComponentTypes.entrySet()) { - String beanName = entry.getKey(); - ComponentType ct = entry.getValue(); - EnterpriseBean bean = ejbModule.getEjbJar().getEnterpriseBeansByEjbName().get(beanName); - String mappedName = bean.getMappedName() != null ? bean.getMappedName() : beanName; - - String mappedName2 = mappedName.replace("/", "_"); - // Add all services from the bean - for(Service service : ct.getServices()) { - Service service2 = helper.createComponentService(); - String serviceName = mappedName2 + "_"+service.getName(); - service2.setName(serviceName); - service2.setInterfaceContract(service.getInterfaceContract()); - componentType.getServices().add(service2); - } - - String beanName2 = beanName.replace("/", "_"); - // Add all references - for(Reference reference : ct.getReferences()) { - Reference reference2 = helper.createComponentReference(); - String referenceName = beanName2+"_"+reference.getName(); - reference2.setName(referenceName); - reference2.setInterfaceContract(reference.getInterfaceContract()); - reference2.getRequiredIntents().addAll(reference.getRequiredIntents()); - componentType.getReferences().add(reference2); - } - } - emp.getEjbAppComponentType(); - } - - // Process web modules (?) - // FIXME: SCA JEE Spec 1.0 - Sec 7.1.3 says nothing about web modules - - return componentType; - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java b/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java deleted file mode 100644 index 1187d1ed00..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.io.File; - -import org.apache.openejb.OpenEJBException; -import org.apache.openejb.config.AnnotationDeployer; -import org.apache.openejb.config.AppModule; -import org.apache.openejb.config.DeploymentLoader; -import org.apache.openejb.config.ReadDescriptors; -import org.apache.tuscany.sca.contribution.service.ContributionException; - -/** - * @version $Rev$ $Date$ - */ -public class JavaEEModuleHelper { - - public AppModule getMetadataCompleteModules(String jarFilePath) throws ContributionException { - DeploymentLoader loader = new DeploymentLoader(); - AppModule appModule = null; - try { - appModule = loader.load(new File(jarFilePath)); - } catch (OpenEJBException e) { - throw new ContributionException(e); - } - - // Process deployment descriptor files - ReadDescriptors readDescriptors = new ReadDescriptors(); - try { - readDescriptors.deploy(appModule); - } catch (OpenEJBException e) { - throw new ContributionException(e); - } - - // Process annotations - AnnotationDeployer annDeployer = new AnnotationDeployer(); - try { - annDeployer.deploy(appModule); - } catch (OpenEJBException e) { - throw new ContributionException(e); - } - - return appModule; - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java b/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java deleted file mode 100644 index 58821b767d..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.Map; - -import org.apache.openejb.config.WebModule; -import org.apache.openejb.jee.EjbRef; -import org.apache.openejb.jee.EjbReference; -import org.apache.openejb.jee.EnvEntry; -import org.apache.openejb.jee.WebApp; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.implementation.web.WebImplementation; -import org.apache.tuscany.sca.implementation.web.WebImplementationFactory; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -public class WebModuleProcessor { - private WebModule webModule; - private ComponentType componentType; - private AssemblyHelper helper; - - public WebModuleProcessor(WebModule webModule, AssemblyHelper helper) { - super(); - this.webModule = webModule; - this.helper = helper; - } - - public WebModuleProcessor(WebModule module) { - webModule = module; - helper = new AssemblyHelper(); - } - - public ComponentType getWebAppComponentType() throws ContributionException { - if (componentType != null) { - return componentType; - } - componentType = helper.createComponentType(); - - WebApp webApp = webModule.getWebApp(); - ClassLoader classLoader = webModule.getClassLoader(); - - // Process Remote EJB References - for (Map.Entry<String, EjbRef> entry : webApp.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - // Only Remote EJB references need to be considered. - // Skip the current one as it is a remote reference. - continue; - } - String referenceName = entry.getKey(); - referenceName = referenceName.replace("/", "_"); - Reference reference = helper.createComponentReference(); - reference.setName(referenceName); - InterfaceContract ic = null; - try { - Class<?> clazz = classLoader.loadClass(ejbRef.getInterface()); - ic = helper.createInterfaceContract(clazz); - } catch (Exception e) { - componentType = null; - throw new ContributionException(e); - } - reference.setInterfaceContract(ic); - reference.getRequiredIntents().add(AssemblyHelper.EJB_INTENT); - componentType.getReferences().add(reference); - } - - // Process env-entries to compute properties - for (Map.Entry<String, EnvEntry> entry : webApp.getEnvEntryMap().entrySet()) { - EnvEntry envEntry = entry.getValue(); - String type = envEntry.getEnvEntryType(); - if (!AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.containsKey(type)) { - continue; - } - String propertyName = entry.getKey(); - propertyName = propertyName.replace("/", "_"); - String value = envEntry.getEnvEntryValue(); - Property property = helper.createComponentProperty(); - property.setName(propertyName); - property.setXSDType(AssemblyHelper.ALLOWED_ENV_ENTRY_TYPES.get(type)); - property.setValue(value); - componentType.getProperties().add(property); - } - - return componentType; - } - - public Composite getWebAppComposite() throws ContributionException { - getWebAppComponentType(); - - Composite composite = helper.createComposite(); - - ModelFactoryExtensionPoint mfep = new DefaultModelFactoryExtensionPoint(); - WebImplementationFactory wif = mfep.getFactory(WebImplementationFactory.class); - WebImplementation impl = wif.createWebImplementation(); - impl.setWebURI(webModule.getModuleId()); - - // Create component - Component component = helper.createComponent(); - String componentName = webModule.getModuleId(); - component.setName(componentName); - component.setImplementation(impl); - - // Add references - for (Reference reference : componentType.getReferences()) { - ComponentReference componentReference = helper.createComponentReference(); - componentReference.setReference(reference); - componentReference.setInterfaceContract(reference.getInterfaceContract()); - componentReference.getRequiredIntents().addAll(reference.getRequiredIntents()); - component.getReferences().add(componentReference); - } - - // Add properties - for (Property property : componentType.getProperties()) { - ComponentProperty componentProperty = helper.createComponentProperty(); - componentProperty.setProperty(property); - component.getProperties().add(componentProperty); - } - - // Add component to composite - composite.getComponents().add(component); - - // Add composite references - for (ComponentReference reference : component.getReferences()) { - CompositeReference compositeReference = helper.createCompositeReference(); - compositeReference.setInterfaceContract(reference.getInterfaceContract()); - compositeReference.getRequiredIntents().addAll(reference.getRequiredIntents()); - compositeReference.getPromotedReferences().add(reference); - composite.getReferences().add(compositeReference); - } - - return composite; - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java b/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java deleted file mode 100644 index b062187afb..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import org.apache.openejb.config.AppModule; -import org.apache.openejb.config.EjbModule; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Service; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class EJBModuleProcessorTestCase { - - EjbModule ejbModule; - - @Before - public void setUp() throws Exception { - String jarFilePath = "target/test-classes/ejb-injection-sample.jar"; - JavaEEModuleHelper jmh = new JavaEEModuleHelper(); - AppModule appModule = jmh.getMetadataCompleteModules(jarFilePath); - ejbModule = appModule.getEjbModules().get(0); - } - - @Test - public void testEjbContribution() throws Exception { - EJBModuleProcessor emp = new EJBModuleProcessor(ejbModule); - Map<String, ComponentType> ejbComponentTypes = emp.getEjbComponentTypes(); - Assert.assertEquals(3, ejbComponentTypes.size()); - - Assert.assertTrue(ejbComponentTypes.containsKey("DataStoreImpl")); - Assert.assertTrue(ejbComponentTypes.containsKey("DataStoreStatefulImpl")); - Assert.assertTrue(ejbComponentTypes.containsKey("DataReaderImpl")); - - ComponentType ct = ejbComponentTypes.get("DataStoreImpl"); - Assert.assertEquals(2, ct.getServices().size()); - Set<String> serviceNames = new HashSet<String>(); - for (Service s : ct.getServices()) { - serviceNames.add(s.getName()); - } - - Assert.assertEquals(2, serviceNames.size()); - Assert.assertTrue(serviceNames.contains("DataStoreRemote")); - Assert.assertTrue(serviceNames.contains("DataStoreLocal")); - - Assert.assertEquals(0, ct.getReferences().size()); - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java b/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java deleted file mode 100644 index 85b5e87e7f..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.HashSet; -import java.util.Set; - -import org.apache.openejb.config.AppModule; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class JavaEEApplicationProcessorTestCase { - - AppModule appModule; - - @Before - public void setUp() throws Exception { - String jarFilePath = "target/test-classes/ejb-injection-sample.ear"; - JavaEEModuleHelper jmh = new JavaEEModuleHelper(); - appModule = jmh.getMetadataCompleteModules(jarFilePath); - } - - @Test - public void testJavaEEAppContribution() throws Exception { - JavaEEApplicationProcessor jap = new JavaEEApplicationProcessor(appModule); - - ComponentType ct = jap.getJavaEEAppComponentType(); - - // Check the services - Assert.assertEquals(6, ct.getServices().size()); - - Set<String> expectedServiceNames = new HashSet<String>(); - expectedServiceNames.add("BankBean_Bank"); - expectedServiceNames.add("ConverterBean_Converter"); - expectedServiceNames.add("ConverterBean_ConverterLocal"); - expectedServiceNames.add("Converter2Bean_ConverterLocal"); - expectedServiceNames.add("InvoiceBean_Invoice"); - expectedServiceNames.add("PurchaseOrderBean_PurchaseOrder"); - - Set<String> serviceNames = new HashSet<String>(); - for(Service service : ct.getServices()) { - serviceNames.add(service.getName()); - } - - Assert.assertEquals(expectedServiceNames, serviceNames); - - // Check the references - Assert.assertEquals(1, ct.getReferences().size()); - - Set<String> expectedReferenceNames = new HashSet<String>(); - expectedReferenceNames.add("BankBean_simple.BankBean_converter"); - - Set<String> referenceNames = new HashSet<String>(); - for (Reference r : ct.getReferences()) { - referenceNames.add(r.getName()); - } - - Assert.assertEquals(expectedReferenceNames, referenceNames); - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java b/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java deleted file mode 100644 index 030fdc3d19..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.jee; - -import java.util.HashSet; -import java.util.Set; - -import org.apache.openejb.config.AppModule; -import org.apache.openejb.config.WebModule; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Reference; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class WebModuleProcessorTestCase { - - WebModule webModule; - - @Before - public void setUp() throws Exception { - String jarFilePath = "target/test-classes/ejb-injection-sample.ear"; - JavaEEModuleHelper jmh = new JavaEEModuleHelper(); - AppModule appModule = jmh.getMetadataCompleteModules(jarFilePath); - webModule = appModule.getWebModules().get(0); - } - - @Test - public void testWebAppContribution() throws Exception { - WebModuleProcessor wmp = new WebModuleProcessor(webModule); - - ComponentType ct = wmp.getWebAppComponentType(); - Assert.assertEquals(2, ct.getReferences().size()); - Set<String> referenceNames = new HashSet<String>(); - for (Reference r : ct.getReferences()) { - referenceNames.add(r.getName()); - } - - Assert.assertEquals(2, referenceNames.size()); - Assert.assertTrue(referenceNames.contains("org.myorg.MyServlet_bank")); - Assert.assertTrue(referenceNames.contains("org.myorg.MyServlet_converter")); - - Assert.assertEquals(0, ct.getServices().size()); - - Composite composite = wmp.getWebAppComposite(); - Assert.assertEquals(2, composite.getReferences().size()); - } -} diff --git a/branches/sca-equinox/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear b/branches/sca-equinox/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear Binary files differdeleted file mode 100644 index 3efdd206c7..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear +++ /dev/null diff --git a/branches/sca-equinox/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar b/branches/sca-equinox/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar Binary files differdeleted file mode 100644 index 4b9e3b79f4..0000000000 --- a/branches/sca-equinox/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar +++ /dev/null diff --git a/branches/sca-equinox/modules/contribution-updater-impl/LICENSE b/branches/sca-equinox/modules/contribution-updater-impl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/contribution-updater-impl/META-INF/README b/branches/sca-equinox/modules/contribution-updater-impl/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/contribution-updater-impl/NOTICE b/branches/sca-equinox/modules/contribution-updater-impl/NOTICE deleted file mode 100644 index 94481d6cfa..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2007 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/contribution-updater-impl/pom.xml b/branches/sca-equinox/modules/contribution-updater-impl/pom.xml deleted file mode 100644 index cd4f1e17ee..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/pom.xml +++ /dev/null @@ -1,124 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-contribution-updater-impl</artifactId> - <name>Apache Tuscany SCA Contribution Updater Implementation</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-namespace</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-updater</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.1</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.updater.impl</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.contribution.updater.impl*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java b/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java deleted file mode 100644 index a23bf6f8cd..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.DeployedArtifact; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -public class ArtifactsFinder { - - public static Composite findComposite(String compositeURI, - List<Composite> artifacts) { - for (Composite composite : artifacts) { - if (composite.getURI().equals(compositeURI)) - return composite; - } - return null; - } - - public static Component findComponent(Composite composite, - String componentName) { - for (Component component : composite.getComponents()) { - if (component.getName().equals(componentName)) { - return component; - - } - - } - return null; - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java b/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java deleted file mode 100644 index a6a6084f5f..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java +++ /dev/null @@ -1,381 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.List; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.DeployedArtifact; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionService; -import org.apache.tuscany.sca.contribution.updater.ComponentNotFoundException; -import org.apache.tuscany.sca.contribution.updater.ComponentUpdater; -import org.apache.tuscany.sca.contribution.updater.ComponentUpdaterException; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.contribution.updater.impl.ArtifactsFinder; -import org.apache.tuscany.sca.assembly.xml.MetaComponentProcessor; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.implementation.java.IntrospectionException; -import org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper; - -public class ComponentUpdaterImpl implements ComponentUpdater { - - private String contribURI; - private String compositeURI; - private String componentName; - private JavaInterfaceFactory javaFactory; - private CompositeBuilder compositeBuilder; - private CompositeActivator compositeActivator; - private ContributionService contributionService; - private ExtensionPointRegistry registry; - private AssemblyFactory assemblyFactory; - private InterfaceContractMapper interfaceContractMapper; - private Contribution contrib; - - public ComponentUpdaterImpl(String contribURI, String compositeURI, - String componentName, AssemblyFactory assembly, - JavaInterfaceFactory javaFactory, - CompositeBuilder compositeBuilder, - CompositeActivator compositeActivator, - ContributionService contribService, - ExtensionPointRegistry registry, InterfaceContractMapper mapper) { - this.contribURI = contribURI; - this.compositeURI = compositeURI; - this.componentName = componentName; - this.javaFactory = javaFactory; - this.compositeBuilder = compositeBuilder; - this.compositeActivator = compositeActivator; - this.contributionService = contribService; - this.registry = registry; - this.assemblyFactory = assembly; - this.interfaceContractMapper = mapper; - this.contrib = this.contributionService.getContribution(contribURI); - } - - private void reconcileReference(Reference reference, - ComponentReference targetReference, String componentName) { - - targetReference.setReference(reference); - targetReference.setIsCallback(reference.isCallback()); - targetReference.setMultiplicity(reference.getMultiplicity()); - if (targetReference.getInterfaceContract() != null) { - if (!targetReference.getInterfaceContract().equals( - reference.getInterfaceContract())) { - if (!interfaceContractMapper.isCompatible(reference - .getInterfaceContract(), targetReference - .getInterfaceContract())) { - System.err - .println("Component reference interface incompatible with reference interface: " - + componentName - + "/" - + targetReference.getName()); - } - } - } else { - targetReference.setInterfaceContract(reference - .getInterfaceContract()); - } - if (targetReference.getBindings().isEmpty()) { - targetReference.getBindings().addAll(reference.getBindings()); - } - - // Reconcile callback bindings - if (targetReference.getCallback() == null) { - targetReference.setCallback(reference.getCallback()); - if (targetReference.getCallback() == null) { - targetReference.setCallback(assemblyFactory.createCallback()); - } - - } else if (targetReference.getCallback().getBindings().isEmpty() - && reference.getCallback() != null) { - targetReference.getCallback().getBindings().addAll( - reference.getCallback().getBindings()); - } - Contribution contrib = contributionService.getContribution(contribURI); - List<DeployedArtifact> artifacts = contrib.getArtifacts(); - // RuntimeComponent source = null; - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - Component c = ArtifactsFinder.findComponent(composite, componentName); - if (targetReference.getAutowire() == null) { - targetReference.setAutowire(c.getAutowire()); - } - - // Reconcile targets - if (targetReference.getTargets().isEmpty()) { - targetReference.getTargets().addAll(reference.getTargets()); - } - - } - - public org.apache.tuscany.sca.assembly.Reference buildReference( - String name, String className, Class<?> businessInterface, - boolean required) throws Exception { - - Class<?> rawType = contrib.getClassLoader().loadClass(className); - - if (rawType == null) - return null; - - org.apache.tuscany.sca.assembly.Reference reference = assemblyFactory - .createReference(); - JavaInterfaceContract interfaceContract = javaFactory - .createJavaInterfaceContract(); - reference.setInterfaceContract(interfaceContract); - reference.setName(name); - - if (required) { - reference.setMultiplicity(Multiplicity.ONE_ONE); - } else { - reference.setMultiplicity(Multiplicity.ZERO_ONE); - } - Type[] interfaces = rawType.getGenericInterfaces(); - Type genericType = null; - - for (int i = 0; i < interfaces.length; ++i) { - Type tmp = interfaces[i]; - if (interfaces[i] instanceof ParameterizedType) { - ParameterizedType type = (ParameterizedType) tmp; - tmp = type.getRawType(); - } - if (tmp.getClass().getName().equals( - businessInterface.getClass().getName())) { - genericType = tmp; - } - } - if (genericType == null) - throw new ComponentUpdaterException( - "User has specified a wrong businessInterface:" - + businessInterface); - // baseType = JavaIntrospectionHelper.getBusinessInterface(baseType, - // genericType); - /* - * Class<?> baseType = getBaseType(rawType, genericType); if - * (CallableReference.class.isAssignableFrom(baseType)) { if - * (Collection.class.isAssignableFrom(rawType)) { genericType = - * JavaIntrospectionHelper.getParameterType(genericType); } baseType = - * JavaIntrospectionHelper.getBusinessInterface(baseType, genericType); } - */ - try { - - JavaInterface callInterface = javaFactory - .createJavaInterface(JavaIntrospectionHelper - .getErasure(genericType)); - reference.getInterfaceContract().setInterface(callInterface); - if (callInterface.getCallbackClass() != null) { - JavaInterface callbackInterface = javaFactory - .createJavaInterface(callInterface.getCallbackClass()); - reference.getInterfaceContract().setCallbackInterface( - callbackInterface); - } - } catch (InvalidInterfaceException e) { - throw new IntrospectionException(e); - } - return reference; - } - - /* - * private org.apache.tuscany.sca.assembly.Reference - * createReference(JavaElementImpl element, String name) throws - * IntrospectionException { org.apache.tuscany.sca.assembly.Reference - * reference = assemblyFactory.createReference(); JavaInterfaceContract - * interfaceContract = javaFactory.createJavaInterfaceContract(); - * reference.setInterfaceContract(interfaceContract); - * // reference.setMember((Member)element.getAnchor()); boolean required = - * true; Reference ref = element.getAnnotation(Reference.class); if (ref != - * null) { required = ref.required(); } // reference.setRequired(required); - * reference.setName(name); Class<?> rawType = element.getType(); if - * (rawType.isArray() || Collection.class.isAssignableFrom(rawType)) { if - * (required) { reference.setMultiplicity(Multiplicity.ONE_N); } else { - * reference.setMultiplicity(Multiplicity.ZERO_N); } } else { if (required) { - * reference.setMultiplicity(Multiplicity.ONE_ONE); } else { - * reference.setMultiplicity(Multiplicity.ZERO_ONE); } } Type genericType = - * element.getGenericType(); Class<?> baseType = getBaseType(rawType, - * genericType); if (CallableReference.class.isAssignableFrom(baseType)) { - * if (Collection.class.isAssignableFrom(rawType)) { genericType = - * JavaIntrospectionHelper.getParameterType(genericType); } baseType = - * JavaIntrospectionHelper.getBusinessInterface(baseType, genericType); } - * try { JavaInterface callInterface = - * javaFactory.createJavaInterface(baseType); - * reference.getInterfaceContract().setInterface(callInterface); if - * (callInterface.getCallbackClass() != null) { JavaInterface - * callbackInterface = - * javaFactory.createJavaInterface(callInterface.getCallbackClass()); - * reference.getInterfaceContract().setCallbackInterface(callbackInterface); } } - * catch (InvalidInterfaceException e) { throw new - * IntrospectionException(e); } return reference; } - */ - public ComponentReference addReferenceWire(String referenceName, - String className, Class<?> interfaceName, String targetComponent) - throws ComponentUpdaterException, ComponentNotFoundException { - - StAXArtifactProcessorExtensionPoint staxProcessors = registry - .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - MetaComponentProcessor processor = (MetaComponentProcessor) staxProcessors - .getProcessor(Component.class); - - Contribution contrib = contributionService.getContribution(contribURI); - - List<DeployedArtifact> artifacts = contrib.getArtifacts(); - RuntimeComponent source = null; - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - // TODO error handling - if (composite != null) - source = (RuntimeComponent) ArtifactsFinder.findComponent( - composite, componentName); - else { - throw new ComponentNotFoundException("Not found component " - + componentName + " for update"); - } - if (source != null) { - // Debig this - RuntimeComponentReference targetReference = (RuntimeComponentReference) assemblyFactory - .createComponentReference(); - targetReference.setName(referenceName); - targetReference.setUnresolved(true); - Reference reference = null; - try { - reference = buildReference(referenceName, className, - interfaceName, true); - } catch (Exception e) { - throw new ComponentUpdaterException(e.getMessage()); - } - source.getImplementation().getReferences().add(reference); - - // targetService. - ComponentService targetService = assemblyFactory - .createComponentService(); - targetService.setUnresolved(true); - targetService.setName(targetComponent); - targetReference.getTargets().add(targetService); - - // reconciliate - reconcileReference(reference, targetReference, componentName); - // create component reference for the reference - source.getReferences().add(targetReference); - try { - processor.resolveReference(targetReference, contrib - .getModelResolver()); - } catch (ContributionResolveException e) { - throw new ComponentUpdaterException( - "Contribution Resolving Exception while updating.."); - } - - CompositeActivatorImpl activator = (CompositeActivatorImpl) compositeActivator; - compositeBuilder.attachWire(source, composite, targetReference); - activator.activate(source, targetReference); - synchronized (source) { - activator.configureComponentContext(source); - } - // RuntimeComponentReference runtimeRef = - // ((RuntimeComponentReference)ref); - // runtimeRef.setComponent(component); - for (Binding binding : targetReference.getBindings()) { - ReferenceBindingProvider bindingProvider = targetReference - .getBindingProvider(binding); - if (bindingProvider != null) { - bindingProvider.start(); - } - - } - - ImplementationProvider implementationProvider = source - .getImplementationProvider(); - if (implementationProvider != null) { - /* - * con la reflection cosi tolgo la dipendneza if - * ((implementationProvider.getClass().getName().equals("JavaImplementationProvider")) { - * Clazz cget } implementationProvider.getClass(). if - * (implementationProvider instanceof - * JavaImplementationProvider) { ((JavaImplementationProvider) - * implementationProvider). startReference(targetReference); } - */ - } - return targetReference; - } else { - throw new ComponentNotFoundException("Not found component " - + componentName + " for update"); - } - } - - public ComponentReference removeReferenceWire(String referenceName, - String targetComponent) throws ComponentUpdaterException, - ComponentNotFoundException { - List<DeployedArtifact> artifacts = contributionService.getContribution( - contribURI).getArtifacts(); - RuntimeComponent source = null; - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - ComponentReference toRemove = null; - - if (composite != null) { - source = (RuntimeComponent) ArtifactsFinder.findComponent( - composite, this.componentName); - } else { - throw new ComponentNotFoundException("Not found component " - + componentName + " for update"); - } - if ((source != null) && (targetComponent != null)) { - /* source target refenence */ - - List<ComponentReference> references = source.getReferences(); - for (ComponentReference ref : references) { - if (ref.getName().equals(targetComponent)) { - toRemove = ref; - break; - } - } - if (toRemove != null) { - CompositeActivatorImpl activator = (CompositeActivatorImpl) compositeActivator; - activator.stop(source, toRemove); - activator.deactivate(source, - (RuntimeComponentReference) toRemove); - compositeBuilder.detachWire(composite, source, toRemove); - } else { - throw new ComponentNotFoundException("Not found component " - + componentName + " for update"); - } - - } - return toRemove; - } -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java b/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java deleted file mode 100644 index c5a15b5108..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.MetaComponent; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl; -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.DeployedArtifact; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionService; -import org.apache.tuscany.sca.contribution.updater.CompositeUpdater; -import org.apache.tuscany.sca.contribution.updater.CompositeUpdaterException; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl; -import org.apache.tuscany.sca.contribution.updater.impl.ArtifactsFinder; -import org.apache.tuscany.sca.assembly.xml.MetaComponentProcessor; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -public class CompositeUpdaterImpl implements CompositeUpdater { - - private CompositeBuilder compositeBuilder; - private String compositeURI; - private AssemblyFactory assemblyFactory; - private String contribURI; - private CompositeActivator compositeActivator; - private ExtensionPointRegistry registry; - private ContributionService contribService; - - public CompositeUpdaterImpl(AssemblyFactory assembly, String contribURI, - String compositeURI, CompositeBuilder compositeBuilder, - CompositeActivator compositeActivator, - ExtensionPointRegistry registry, ContributionService contribService) { - this.compositeBuilder = compositeBuilder; - this.compositeURI = compositeURI; - this.assemblyFactory = assembly; - this.contribURI = contribURI; - this.compositeActivator = compositeActivator; - this.registry = registry; - this.contribService = contribService; - } - - public Component addComponent(MetaComponent c) - throws CompositeUpdaterException { - StAXArtifactProcessorExtensionPoint staxProcessors = registry - .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - MetaComponentProcessor processor = (MetaComponentProcessor) staxProcessors - .getProcessor(Component.class); - Contribution contrib = contribService.getContribution(contribURI); - List<DeployedArtifact> artifacts = contrib.getArtifacts(); - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - boolean found = false; - - if (composite == null) - throw new CompositeUpdaterException( - "Composite not found in contribution" + contribURI); - else { - processor.setComposite(composite); - try { - processor.read(c.build()); - } catch (Exception e) { - throw new CompositeUpdaterException( - "Component error parsing in contribution" + contribURI); - - } - found = true; - } - - if (found) { - Component component = processor.getParsedComponent(); - Composite augmentedComposite = processor.getParsedComposite(); - try { - processor.resolve(component, contrib.getModelResolver()); - compositeBuilder.attach(augmentedComposite, component); - ((CompositeActivatorImpl) compositeActivator) - .activateComponent(component); - } catch (Exception e) { - - throw new CompositeUpdaterException( - "Cannot activate the component"); - } - - return component; - } - return null; - } - - public Component findComponent(String componentName) { - Contribution contrib = contribService.getContribution(contribURI); - List<Composite> artifacts = contrib.getDeployables(); - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - return ArtifactsFinder.findComponent(composite, componentName); - } - - public Component removeComponent(String componentName) - throws CompositeUpdaterException { - Contribution contrib = contribService.getContribution(contribURI); - List<DeployedArtifact> artifacts = contrib.getArtifacts(); - - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - List<Component> components = composite.getComponents(); - Component toRemove = null; - for (Component component : components) { - if (((RuntimeComponent) component).getName().equals(componentName)) { - toRemove = component; - break; - } - } - if (toRemove == null) { - throw new CompositeUpdaterException( - "Component not found in contribution" + contribURI); - } else { - // start again - try { - composite.getComponents().remove(toRemove); - CompositeActivatorImpl impl = (CompositeActivatorImpl) compositeActivator; - impl.stop(toRemove); - impl.deactivateComponent(toRemove); - CompositeBuilderImpl builder = (CompositeBuilderImpl) compositeBuilder; - builder.detach(composite, toRemove); - } catch (Exception e) { - throw new CompositeUpdaterException( - "Cannot remove composite from the contribution" - + contribURI); - } - return toRemove; - } - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java b/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java deleted file mode 100644 index 7f5870ad55..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionService; -import org.apache.tuscany.sca.contribution.updater.ComponentUpdater; -import org.apache.tuscany.sca.contribution.updater.CompositeUpdater; -import org.apache.tuscany.sca.contribution.updater.ContributionUpdater; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.contribution.updater.impl.ComponentUpdaterImpl; -import org.apache.tuscany.sca.contribution.updater.impl.CompositeUpdaterImpl; -import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime; - -public class ContributionUpdaterFactoryImpl implements ContributionUpdater { - private AssemblyFactory assembly; - private JavaInterfaceFactory javaFactory; - private CompositeActivator compositeActivator; - private CompositeBuilder compositeBuilder; - private ExtensionPointRegistry registry; - private ContributionService contribService; - private InterfaceContractMapper mapper; - - public ContributionUpdaterFactoryImpl(ReallySmallRuntime runtime) { - this.assembly = runtime.getAssemblyFactory(); - this.javaFactory = runtime.getExtensionPointRegistry() - .getExtensionPoint(ModelFactoryExtensionPoint.class) - .getFactory(JavaInterfaceFactory.class); - this.compositeActivator = runtime.getCompositeActivator(); - this.compositeBuilder = runtime.getCompositeBuilder(); - this.registry = runtime.getExtensionPointRegistry(); - this.contribService = runtime.getContributionService(); - this.mapper = runtime.getInterfaceContractMapper(); - } - - public void setContributionService(ContributionService s) { - this.contribService = s; - } - - public ComponentUpdater getComponentUpdater(String contribURI, - String compositeURI, String componentName) { - - return new ComponentUpdaterImpl(contribURI, compositeURI, - componentName, assembly, javaFactory, compositeBuilder, - compositeActivator, contribService, registry, mapper); - } - - public CompositeUpdater getCompositeUpdater(String contribURI, - String compositeURI) { - return new CompositeUpdaterImpl(assembly, contribURI, compositeURI, - compositeBuilder, compositeActivator, registry, contribService); - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java b/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java deleted file mode 100644 index 83d0224ad4..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.contribution.updater.impl; - -import java.io.File; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.node.SCANode; - -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -/** - * Test ContributionUpdater. - * - */ -public class ContributionUpdaterTestCase { - - // private static SCADomain domain; - private static SCANode node; - private static MetaComponentHello helloMeta; - - @Before - public void setUp() throws Exception { - /* - * System.out.println("Setting up domain"); - * - * SCADomainFactory domainFactory = SCADomainFactory.newInstance(); - * domain = domainFactory.createSCADomain("http://localhost:9999"); - * - * System.out.println("Setting up calculator nodes"); - * - * ClassLoader cl = ContributionUpdaterTestCase.class.getClassLoader(); - * - * SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); try { - * log.info("Staring entropy handler"); prng = - * SecureRandom.getInstance("SHA1PRNG"); } catch - * (NoSuchAlgorithmException e) { // TODO Auto-generated catch block - * e.printStackTrace(); } componentName = - * "HelloComponent"+this.uniqueID(); - * t.setAttribute("componentName",componentName); - * - * node = nodeFactory.createSCANode("http://localhost:8100/nodeA", - * "http://localhost:9999"); node.addContribution("nodeA", - * cl.getResource("nodeA/")); node.addToDomainLevelComposite(new - * QName("http://test", "HelloComposite")); node.start(); - * SCADomainFinder domainFinder = SCADomainFinder.newInstance(); domain = - * domainFinder.getSCADomain("http://localhost:9999"); helloMeta = new - * MetaComponentHello(); - * helloMeta.setComponentClass("org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"); - */ - } - - @After - public void tearDown() throws Exception { - - } - - @Test - public void testAddNewComponent() throws ClassNotFoundException, - MalformedURLException { - /* - * String helloComponent1 = "<component - * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" - * name=\"HelloComponent1\">\n" + "<implementation.java - * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>"; - * MetaComponent mc = - * MetaComponentFactory.newMetaComponent("HelloComponent1",helloComponent1); - * try { ((SCANodeImpl) node).addComponentToComposite(mc, "nodeA", - * "HelloComposite.composite"); GreetService greet = - * node.getDomain().getService(GreetService.class, "HelloComponent1"); - * greet.sayHello("Italian").equals("Ciao"); } catch (Exception e) { - * Assert.fail(e.getMessage()); } - */ - Assert.assertEquals("skip", "skip"); - } - - @Test - public void testWireComponents() throws ClassNotFoundException, - MalformedURLException { - Assert.assertEquals("skip", "skip"); - /* - * String helloComponent1 = "<component - * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" - * name=\"HelloComponent1\">\n" + "<implementation.java - * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>"; - * String helloComponent2 = "<component - * xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" - * name=\"HelloComponent2\">\n" + "<implementation.java - * class=\"org.apache.tuscany.sca.contribution.updater.impl.HelloComponent\"/>"+ "</component>"; - * MetaComponent mc1 = - * MetaComponentFactory.newMetaComponent("HelloComponent1",helloComponent1); - * MetaComponent mc2 = - * MetaComponentFactory.newMetaComponent("HelloComponent2",helloComponent2); - * - * try { ((SCANodeImpl) node).addComponentToComposite(mc1, "nodeA", - * "HelloComposite.composite"); ((SCANodeImpl) - * node).addComponentToComposite(mc2, "nodeA", - * "HelloComposite.composite"); GreetService greet = - * node.getDomain().getService(GreetService.class, "HelloComponent1"); - * greet.sayHello("Italian").equals("Ciao"); } catch (Exception e) { - * Assert.fail(e.getMessage()); } - */ - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java b/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java deleted file mode 100644 index 0eb7fb692b..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import org.osoa.sca.annotations.Remotable; - -@Remotable -public interface GreetService { - String sayHello(String language); -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java b/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java deleted file mode 100644 index 38fa2721bb..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import org.osoa.sca.annotations.Service; - -@Service(GreetService.class) -public class HelloComponent implements GreetService { - private String[][] languageGreets = { - { "English", "Italian", "Japanese", "German" }, - { "Hello!", "Ciao!", "Konnici wa!", "Hallo!" } }; - - public String sayHello(String language) { - for (int i = 0; i < 4; ++i) - for (int j = 0; j < 4; ++j) { - if (language.equals(languageGreets[i][j])) { - return languageGreets[0][0]; - } - } - return "I don't speak your language"; - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java b/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java deleted file mode 100644 index 1495ff2cea..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater.impl; - -import java.io.StringReader; -import java.net.URI; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.util.logging.Logger; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.MetaComponent; - -public class MetaComponentHello implements MetaComponent { - private String componentName; - private String scdl; - private boolean loadedFromString = false; - private Logger log = Logger.getLogger(MetaComponentHello.class.getName()); - - public MetaComponentHello() { - } - - private MetaComponentHello(String scdl, boolean loadedFromString) { - this.scdl = scdl; - this.loadedFromString = loadedFromString; - } - - public MetaComponent fromSCDL(String scdl) { - return new MetaComponentHello(scdl, true); - } - - public XMLStreamReader build() throws Exception { - XMLInputFactory factory = XMLInputFactory.newInstance(); - return factory.createXMLStreamReader(new StringReader(scdl)); - } - - public String getName() { - - return componentName; - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite b/branches/sca-equinox/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite deleted file mode 100644 index 76714a0e9c..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite +++ /dev/null @@ -1,27 +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://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://test" - xmlns:test="http://test" - name="HelloComposite"> - <component name="HelloComponentService"> - <implementation.java="org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"/> - </component> -</composite>
\ No newline at end of file diff --git a/branches/sca-equinox/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar b/branches/sca-equinox/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar Binary files differdeleted file mode 100644 index 9c46c679d2..0000000000 --- a/branches/sca-equinox/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar +++ /dev/null diff --git a/branches/sca-equinox/modules/contribution-updater/LICENSE b/branches/sca-equinox/modules/contribution-updater/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/contribution-updater/META-INF/README b/branches/sca-equinox/modules/contribution-updater/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/contribution-updater/NOTICE b/branches/sca-equinox/modules/contribution-updater/NOTICE deleted file mode 100644 index 94481d6cfa..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2007 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/contribution-updater/pom.xml b/branches/sca-equinox/modules/contribution-updater/pom.xml deleted file mode 100644 index 26dc2152a2..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/pom.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-contribution-updater</artifactId> - <name>Apache Tuscany SCA Contribution Updater</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-namespace</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-domain-api</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-node-api</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.contribution.updater</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.contribution.updater*,org.apache.tuscany.sca.assembly*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java deleted file mode 100644 index 885fe8cfb0..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.assembly; - -import javax.xml.stream.XMLStreamReader; - -public interface MetaComponent { - XMLStreamReader build() throws Exception; - - String getName(); -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java deleted file mode 100644 index 44673bfdb9..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java +++ /dev/null @@ -1,788 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.assembly.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Callback; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Wire; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.DeployedArtifact; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyValidationException; -import org.w3c.dom.Document; - -/** - * A component processor. - * - * @version $Rev$ $Date$ - */ -public class MetaComponentProcessor extends BaseAssemblyProcessor implements - StAXArtifactProcessor<Component> { - - /** - * Construct a new composite processor - * - * @param contributionFactory - * @param assemblyFactory - * @param policyFactory - * @param extensionProcessor - */ - private Composite composite = null; - private Component generatedComponent = null; - - public MetaComponentProcessor(ContributionFactory contributionFactory, - AssemblyFactory factory, PolicyFactory policyFactory, - InterfaceContractMapper interfaceContractMapper, - StAXArtifactProcessor extensionProcessor) { - super(contributionFactory, factory, policyFactory, extensionProcessor); - } - - /** - * Construct a new composite processor - * - * @param assemblyFactory - * @param policyFactory - * @param extensionProcessor - * public CompositeProcessor(AssemblyFactory factory, - * PolicyFactory policyFactory, InterfaceContractMapper - * interfaceContractMapper, StAXArtifactProcessor - * extensionProcessor) { super(factory, policyFactory, - * extensionProcessor); } - */ - public void setComposite(Composite c) { - composite = c; - } - - public Component getParsedComponent() { - return this.generatedComponent; - } - - public Composite getParsedComposite() { - return this.composite; - } - - public Component read(XMLStreamReader reader) - throws ContributionReadException, XMLStreamException { - Composite include = null; - Component component = null; - Property property = null; - ComponentService componentService = null; - ComponentReference componentReference = null; - ComponentProperty componentProperty = null; - CompositeService compositeService = null; - CompositeReference compositeReference = null; - Contract contract = null; - Wire wire = null; - Callback callback = null; - QName name = null; - - // Read the component scdl - - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - QName itemName = reader.getName(); - if (!itemName.getNamespaceURI().equals(SCA10_NS)) - name = new QName(SCA10_NS, itemName.getLocalPart()); - else - name = itemName; - - if (SERVICE_QNAME.equals(name)) { - if (component != null) { - - // Read a <component><service> - componentService = assemblyFactory - .createComponentService(); - contract = componentService; - componentService.setName(getString(reader, NAME)); - component.getServices().add(componentService); - policyProcessor.readPolicies(contract, reader); - } - - } else if (REFERENCE_QNAME.equals(name)) { - if (component != null) { - // Read a <component><reference> - componentReference = assemblyFactory - .createComponentReference(); - contract = componentReference; - componentReference.setName(getString(reader, NAME)); - readMultiplicity(componentReference, reader); - if (isSet(reader, AUTOWIRE)) { - componentReference.setAutowire(getBoolean(reader, - AUTOWIRE)); - } - readTargets(componentReference, reader); - componentReference.setWiredByImpl(getBoolean(reader, - WIRED_BY_IMPL)); - component.getReferences().add(componentReference); - policyProcessor.readPolicies(contract, reader); - } - - } else if (PROPERTY_QNAME.equals(name)) { - if (component != null) { - - // Read a <component><property> - componentProperty = assemblyFactory - .createComponentProperty(); - property = componentProperty; - componentProperty.setSource(getString(reader, SOURCE)); - componentProperty.setFile(getString(reader, FILE)); - policyProcessor.readPolicies(property, reader); - readAbstractProperty(componentProperty, reader); - - // Read the property value - Document value = readPropertyValue(property - .getXSDElement(), property.getXSDType(), reader); - property.setValue(value); - - component.getProperties().add(componentProperty); - } - } else if (COMPONENT_QNAME.equals(name)) { - - // Read a <component> - component = assemblyFactory.createComponent(); - component.setName(getString(reader, NAME)); - if (isSet(reader, AUTOWIRE)) { - component.setAutowire(getBoolean(reader, AUTOWIRE)); - } - if (isSet(reader, URI)) { - component.setURI(getString(reader, URI)); - } - component.setConstrainingType(readConstrainingType(reader)); - composite.getComponents().add(component); - policyProcessor.readPolicies(component, reader); - - } else if (WIRE_QNAME.equals(name)) { - - // Read a <wire> - wire = assemblyFactory.createWire(); - ComponentReference source = assemblyFactory - .createComponentReference(); - source.setUnresolved(true); - source.setName(getString(reader, SOURCE)); - wire.setSource(source); - - ComponentService target = assemblyFactory - .createComponentService(); - target.setUnresolved(true); - target.setName(getString(reader, TARGET)); - wire.setTarget(target); - - composite.getWires().add(wire); - policyProcessor.readPolicies(wire, reader); - - } else if (CALLBACK_QNAME.equals(name)) { - - // Read a <callback> - callback = assemblyFactory.createCallback(); - contract.setCallback(callback); - policyProcessor.readPolicies(callback, reader); - - } else if (OPERATION_QNAME.equals(name)) { - - // Read an <operation> - Operation operation = assemblyFactory.createOperation(); - operation.setName(getString(reader, NAME)); - operation.setUnresolved(true); - if (callback != null) { - policyProcessor.readPolicies(callback, operation, - reader); - } else { - policyProcessor.readPolicies(contract, operation, - reader); - } - } else if (IMPLEMENTATION_COMPOSITE_QNAME.equals(name)) { - - // Read an implementation.composite - Composite implementation = assemblyFactory - .createComposite(); - implementation.setName(getQName(reader, NAME)); - implementation.setUnresolved(true); - component.setImplementation(implementation); - policyProcessor.readPolicies(implementation, reader); - } else { - - // Read an extension element - Object extension = extensionProcessor.read(reader); - if (extension != null) { - if (extension instanceof InterfaceContract) { - - // <service><interface> and - // <reference><interface> - if (contract != null) { - contract - .setInterfaceContract((InterfaceContract) extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - throw new ContributionReadException( - "Unexpected <interface> element found. It should appear inside a <service> or <reference> element"); - } else { - composite.getExtensions().add(extension); - } - } - - } else if (extension instanceof Binding) { - // <service><binding> and - // <reference><binding> - if (callback != null) { - callback.getBindings().add((Binding) extension); - } else { - if (contract != null) { - contract.getBindings().add( - (Binding) extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - throw new ContributionReadException( - "Unexpected <binding> element found. It should appear inside a <service> or <reference> element"); - } else { - composite.getExtensions() - .add(extension); - } - } - } - - } else if (extension instanceof Implementation) { - - // <component><implementation> - if (component != null) { - component - .setImplementation((Implementation) extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - throw new ContributionReadException( - "Unexpected <implementation> element found. It should appear inside a <component> element"); - } else { - composite.getExtensions().add(extension); - } - } - } else { - - // Add the extension element to the current - // element - if (callback != null) { - callback.getExtensions().add(extension); - } else if (contract != null) { - contract.getExtensions().add(extension); - } else if (property != null) { - property.getExtensions().add(extension); - } else if (component != null) { - component.getExtensions().add(extension); - } else { - composite.getExtensions().add(extension); - } - } - } - } - break; - - case XMLStreamConstants.CHARACTERS: - break; - - case END_ELEMENT: - name = reader.getName(); - - // Clear current state when reading reaching end element - if (SERVICE_QNAME.equals(name)) { - componentService = null; - compositeService = null; - contract = null; - } else if (INCLUDE_QNAME.equals(name)) { - include = null; - } else if (REFERENCE_QNAME.equals(name)) { - componentReference = null; - compositeReference = null; - contract = null; - } else if (PROPERTY_QNAME.equals(name)) { - componentProperty = null; - property = null; - } else if (COMPONENT_QNAME.equals(name)) { - // component = null; - } else if (WIRE_QNAME.equals(name)) { - wire = null; - } else if (CALLBACK_QNAME.equals(name)) { - callback = null; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - this.generatedComponent = component; - return component; - } - - public void write(Composite composite, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - - // Write <composite> element - writeStartDocument(writer, COMPOSITE, writeConstrainingType(composite), - new XAttr(TARGET_NAMESPACE, composite.getName() - .getNamespaceURI()), new XAttr(NAME, composite - .getName().getLocalPart()), new XAttr(AUTOWIRE, - composite.getAutowire()), policyProcessor - .writePolicies(composite)); - - // Write <service> elements - for (Service service : composite.getServices()) { - CompositeService compositeService = (CompositeService) service; - Component promotedComponent = compositeService - .getPromotedComponent(); - ComponentService promotedService = compositeService - .getPromotedService(); - String promote; - if (promotedService != null) { - if (promotedService.getName() != null) { - promote = promotedComponent.getName() + '/' - + promotedService.getService(); - } else { - promote = promotedComponent.getName(); - } - } else { - promote = null; - } - writeStart(writer, SERVICE, new XAttr(NAME, service.getName()), - new XAttr(PROMOTE, promote), policyProcessor - .writePolicies(service)); - - // Write service interface - extensionProcessor.write(service.getInterfaceContract(), writer); - - // Write bindings - for (Binding binding : service.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write <callback> element - if (service.getCallback() != null) { - Callback callback = service.getCallback(); - writeStart(writer, CALLBACK, policyProcessor - .writePolicies(callback)); - - // Write callback bindings - for (Binding binding : callback.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write extensions - for (Object extension : callback.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write extensions - for (Object extension : service.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write <component> elements - for (Component component : composite.getComponents()) { - writeStart(writer, COMPONENT, new XAttr(NAME, component.getName()), - new XAttr(URI, component.getURI()), new XAttr(AUTOWIRE, - component.getAutowire()), policyProcessor - .writePolicies(component)); - - // Write <service> elements - for (ComponentService service : component.getServices()) { - writeStart(writer, SERVICE, new XAttr(NAME, service.getName()), - policyProcessor.writePolicies(service)); - - // Write service interface - extensionProcessor - .write(service.getInterfaceContract(), writer); - - // Write bindings - for (Binding binding : service.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write <callback> element - if (service.getCallback() != null) { - Callback callback = service.getCallback(); - writeStart(writer, CALLBACK, policyProcessor - .writePolicies(callback)); - - // Write bindings - for (Binding binding : callback.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write extensions - for (Object extension : callback.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write extensions - for (Object extension : service.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write <reference> elements - for (ComponentReference reference : component.getReferences()) { - writeStart(writer, REFERENCE, new XAttr(NAME, reference - .getName()), new XAttr(AUTOWIRE, reference - .getAutowire()), writeTargets(reference), - policyProcessor.writePolicies(reference)); - - // Write reference interface - extensionProcessor.write(reference.getInterfaceContract(), - writer); - - // Write bindings - for (Binding binding : reference.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write callback - if (reference.getCallback() != null) { - Callback callback = reference.getCallback(); - writeStart(writer, CALLBACK, policyProcessor - .writePolicies(callback)); - - // Write callback bindings - for (Binding binding : callback.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write extensions - for (Object extensions : callback.getExtensions()) { - extensionProcessor.write(extensions, writer); - } - - writeEnd(writer); - } - - // Write extensions - for (Object extensions : reference.getExtensions()) { - extensionProcessor.write(extensions, writer); - } - - writeEnd(writer); - } - - // Write <property> elements - for (ComponentProperty property : component.getProperties()) { - writeStart(writer, PROPERTY, - new XAttr(NAME, property.getName()), new XAttr( - MUST_SUPPLY, property.isMustSupply()), - new XAttr(MANY, property.isMany()), new XAttr(TYPE, - property.getXSDType()), new XAttr(ELEMENT, - property.getXSDElement()), new XAttr(SOURCE, - property.getSource()), new XAttr(FILE, property - .getFile()), policyProcessor - .writePolicies(property)); - - // Write property value - writePropertyValue(property.getValue(), property - .getXSDElement(), property.getXSDType(), writer); - - // Write extensions - for (Object extension : property.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write the component implementation - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME, - composite.getName())); - writeEnd(writer); - } else { - extensionProcessor.write(component.getImplementation(), writer); - } - - writeEnd(writer); - } - - // Write <reference> elements - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference) reference; - - // Write list of promoted references - List<String> promote = new ArrayList<String>(); - for (ComponentReference promoted : compositeReference - .getPromotedReferences()) { - promote.add(promoted.getName()); - } - - // Write <reference> element - writeStart(writer, REFERENCE, new XAttr(NAME, reference.getName()), - new XAttr(PROMOTE, promote), policyProcessor - .writePolicies(reference)); - - // Write reference interface - extensionProcessor.write(reference.getInterfaceContract(), writer); - - // Write bindings - for (Binding binding : reference.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write <callback> element - if (reference.getCallback() != null) { - Callback callback = reference.getCallback(); - writeStart(writer, CALLBACK); - - // Write callback bindings - for (Binding binding : callback.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write extensions - for (Object extension : callback.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write extensions - for (Object extension : reference.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write <property> elements - for (Property property : composite.getProperties()) { - writeStart(writer, PROPERTY, new XAttr(NAME, property.getName()), - new XAttr(MUST_SUPPLY, property.isMustSupply()), new XAttr( - MANY, property.isMany()), new XAttr(TYPE, property - .getXSDType()), new XAttr(ELEMENT, property - .getXSDElement()), policyProcessor - .writePolicies(property)); - - // Write property value - writePropertyValue(property.getValue(), property.getXSDElement(), - property.getXSDType(), writer); - - // Write extensions - for (Object extension : property.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write <wire> elements - for (Wire wire : composite.getWires()) { - writeStart(writer, WIRE, new XAttr(SOURCE, wire.getSource() - .getName()), new XAttr(TARGET, wire.getTarget().getName())); - - // Write extensions - for (Object extension : wire.getExtensions()) { - extensionProcessor.write(extension, writer); - } - writeEnd(writer); - } - - for (Object extension : composite.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEndDocument(writer); - } - - public void resolve(Composite composite, ModelResolver resolver) - throws ContributionResolveException, PolicyValidationException { - - // Resolve constraining type - ConstrainingType constrainingType = composite.getConstrainingType(); - if (constrainingType != null) { - constrainingType = resolver.resolveModel(ConstrainingType.class, - constrainingType); - composite.setConstrainingType(constrainingType); - } - - // Resolve includes in the composite - for (int i = 0, n = composite.getIncludes().size(); i < n; i++) { - Composite include = composite.getIncludes().get(i); - if (include != null) { - include = resolver.resolveModel(Composite.class, include); - composite.getIncludes().set(i, include); - } - } - - // Resolve extensions - for (Object extension : composite.getExtensions()) { - if (extension != null) { - extensionProcessor.resolve(extension, resolver); - } - } - - // Resolve component implementations, services and references - for (Component component : composite.getComponents()) { - constrainingType = component.getConstrainingType(); - if (constrainingType != null) { - constrainingType = resolver.resolveModel( - ConstrainingType.class, constrainingType); - component.setConstrainingType(constrainingType); - } - - Implementation implementation = component.getImplementation(); - if (implementation != null) { - implementation = resolveImplementation(implementation, resolver); - component.setImplementation(implementation); - } - - for (ComponentProperty componentProperty : component - .getProperties()) { - if (componentProperty.getFile() != null) { - DeployedArtifact deployedArtifact = contributionFactory - .createDeployedArtifact(); - deployedArtifact.setURI(componentProperty.getFile()); - deployedArtifact = resolver.resolveModel( - DeployedArtifact.class, deployedArtifact); - if (deployedArtifact.getLocation() != null) { - componentProperty.setFile(deployedArtifact - .getLocation()); - } - } - } - resolveIntents(component.getRequiredIntents(), resolver); - resolvePolicySets(component.getPolicySets(), resolver); - resolveContracts(component.getServices(), resolver); - resolveContracts(component.getReferences(), resolver); - } - - // Resolve composite services and references - resolveContracts(composite.getServices(), resolver); - resolveContracts(composite.getReferences(), resolver); - if (composite instanceof PolicySetAttachPoint) { - resolveIntents(((PolicySetAttachPoint) composite) - .getRequiredIntents(), resolver); - resolvePolicySets(((PolicySetAttachPoint) composite) - .getPolicySets(), resolver); - } - } - - public void write(Component model, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - write(this.composite, writer); - - } - - public void resolve(Component component, ModelResolver resolver) - throws ContributionResolveException { - // Resolve component implementations, services and references - ConstrainingType constrainingType = component.getConstrainingType(); - if (constrainingType != null) { - constrainingType = resolver.resolveModel(ConstrainingType.class, - constrainingType); - component.setConstrainingType(constrainingType); - } - - Implementation implementation = component.getImplementation(); - if (implementation != null) { - implementation = resolveImplementation(implementation, resolver); - component.setImplementation(implementation); - } - - for (ComponentProperty componentProperty : component.getProperties()) { - if (componentProperty.getFile() != null) { - DeployedArtifact deployedArtifact = contributionFactory - .createDeployedArtifact(); - deployedArtifact.setURI(componentProperty.getFile()); - deployedArtifact = resolver.resolveModel( - DeployedArtifact.class, deployedArtifact); - if (deployedArtifact.getLocation() != null) { - componentProperty.setFile(deployedArtifact.getLocation()); - } - } - } - resolveIntents(component.getRequiredIntents(), resolver); - resolvePolicySets(component.getPolicySets(), resolver); - resolveContracts(component.getServices(), resolver); - resolveContracts(component.getReferences(), resolver); - } - - public void resolveReference(ComponentReference reference, - ModelResolver resolver) throws ContributionResolveException { - resolveIntents(reference.getRequiredIntents(), resolver); - resolvePolicySets(reference.getPolicySets(), resolver); - List<ComponentReference> contracts = new ArrayList<ComponentReference>(); - contracts.add(reference); - resolveContracts(contracts, resolver); - } - - public QName getArtifactType() { - return COMPONENT_QNAME; - } - - public Class<Component> getModelType() { - - return Component.class; - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java deleted file mode 100644 index d93a92b32c..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater; - -public class ComponentNotFoundException extends Exception { - - public ComponentNotFoundException(String string) { - super(string); - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java deleted file mode 100644 index 8743556538..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater; - -import org.apache.tuscany.sca.assembly.ComponentReference; - -public interface ComponentUpdater { - public ComponentReference addReferenceWire(String referenceName, - String className, Class<?> interfaceName, String targetComponent) - throws ComponentUpdaterException, ComponentNotFoundException; - - public ComponentReference removeReferenceWire(String referenceName, - String targetComponent) throws ComponentUpdaterException, - ComponentNotFoundException; -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java deleted file mode 100644 index f94238089f..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater; - -public class ComponentUpdaterException extends Exception { - - private static final long serialVersionUID = 33909120912033L; - - public ComponentUpdaterException(String string) { - super(string); - } -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java deleted file mode 100644 index 52d7e602b7..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater; - -public class CompositeNotFoundException extends Exception { - public CompositeNotFoundException(String msg) { - super(msg); - } -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java deleted file mode 100644 index 4f55148651..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.MetaComponent; - -public interface CompositeUpdater { - Component addComponent(MetaComponent c) throws CompositeUpdaterException; - - Component removeComponent(String componentName) - throws CompositeUpdaterException; - - Component findComponent(String componentName); -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java deleted file mode 100644 index 3dc86d97f7..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.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 org.apache.tuscany.sca.contribution.updater; - -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; - -public class CompositeUpdaterException extends Exception { - - public CompositeUpdaterException(String string) { - super(string); - } - -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java b/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java deleted file mode 100644 index a364c23174..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.contribution.updater; - -/* - * This interface is used to get and modify artifacts from an existing - * contribution - */ -public interface ContributionUpdater { - CompositeUpdater getCompositeUpdater(String contribURI, String compositeURI); - - ComponentUpdater getComponentUpdater(String contribURI, - String compositeURI, String componentName); -} diff --git a/branches/sca-equinox/modules/contribution-updater/src/test/resources/HelloComposite.composite b/branches/sca-equinox/modules/contribution-updater/src/test/resources/HelloComposite.composite deleted file mode 100644 index 76714a0e9c..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/test/resources/HelloComposite.composite +++ /dev/null @@ -1,27 +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://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://test" - xmlns:test="http://test" - name="HelloComposite"> - <component name="HelloComponentService"> - <implementation.java="org.apache.tuscany.sca.contribution.updater.impl.HelloComponent"/> - </component> -</composite>
\ No newline at end of file diff --git a/branches/sca-equinox/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar b/branches/sca-equinox/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar Binary files differdeleted file mode 100644 index 9c46c679d2..0000000000 --- a/branches/sca-equinox/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar +++ /dev/null diff --git a/branches/sca-equinox/modules/core-spring/LICENSE b/branches/sca-equinox/modules/core-spring/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/core-spring/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/core-spring/META-INF/README b/branches/sca-equinox/modules/core-spring/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/core-spring/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/core-spring/NOTICE b/branches/sca-equinox/modules/core-spring/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/core-spring/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/core-spring/pom.xml b/branches/sca-equinox/modules/core-spring/pom.xml deleted file mode 100644 index 1ff1398167..0000000000 --- a/branches/sca-equinox/modules/core-spring/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-core-spring</artifactId> - <name>Apache Tuscany SCA Spring-based Core Runtime</name> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-beans</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context</artifactId> - <version>2.0.8</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-sca</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.core.spring</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.core.spring*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java deleted file mode 100644 index 94bd5c8cf2..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.assembly.impl; - -import org.apache.tuscany.sca.assembly.AbstractProperty; -import org.apache.tuscany.sca.assembly.AbstractReference; -import org.apache.tuscany.sca.assembly.AbstractService; -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Callback; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Wire; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; - -/** - * An alternate implementation of the SCA assembly model factory that creates SCA - * assembly model objects backed by Spring bean definitions. - * - * @version $Rev$ $Date$ - */ -public class BeanAssemblyFactory implements AssemblyFactory { - private AssemblyFactory defaultFactory; - private BeanDefinitionRegistry beanRegistry; - - public BeanAssemblyFactory(AssemblyFactory defaultFactory, BeanDefinitionRegistry beanRegistry) { - this.defaultFactory = defaultFactory; - this.beanRegistry = beanRegistry; - } - - public BeanAssemblyFactory(BeanDefinitionRegistry beanRegistry) { - this(new DefaultAssemblyFactory(), beanRegistry); - } - - public AbstractProperty createAbstractProperty() { - return defaultFactory.createAbstractProperty(); - } - - public AbstractReference createAbstractReference() { - return defaultFactory.createAbstractReference(); - } - - public AbstractService createAbstractService() { - return defaultFactory.createAbstractService(); - } - - public Callback createCallback() { - return defaultFactory.createCallback(); - } - - public Component createComponent() { - return new BeanComponentImpl(beanRegistry); - } - - public ComponentProperty createComponentProperty() { - return defaultFactory.createComponentProperty(); - } - - public ComponentReference createComponentReference() { - return defaultFactory.createComponentReference(); - } - - public ComponentService createComponentService() { - return defaultFactory.createComponentService(); - } - - public ComponentType createComponentType() { - return defaultFactory.createComponentType(); - } - - public Composite createComposite() { - return defaultFactory.createComposite(); - } - - public CompositeReference createCompositeReference() { - return defaultFactory.createCompositeReference(); - } - - public CompositeService createCompositeService() { - return defaultFactory.createCompositeService(); - } - - public ConstrainingType createConstrainingType() { - return defaultFactory.createConstrainingType(); - } - - public Property createProperty() { - return defaultFactory.createProperty(); - } - - public Reference createReference() { - return defaultFactory.createReference(); - } - - public Service createService() { - return defaultFactory.createService(); - } - - public Wire createWire() { - return defaultFactory.createWire(); - } - - public ConfiguredOperation createConfiguredOperation() { - return defaultFactory.createConfiguredOperation(); - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java deleted file mode 100644 index 2c27a5c6d5..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; -import org.springframework.beans.factory.support.ChildBeanDefinition; - -/** - * An implementation of the SCA assembly Component interface backed by a Spring - * Bean definition. - * - * @version $Rev$ $Date$ - */ -public class BeanComponentImpl extends ChildBeanDefinition implements Component, Cloneable { - private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>(); - - public IntentAttachPointType getType() { - // TODO Auto-generated method stub - return null; - } - - public void setType(IntentAttachPointType type) { - // TODO Auto-generated method stub - - } - - private static final long serialVersionUID = 1L; - - private ConstrainingType constrainingType; - private Implementation implementation; - private String name; - private String uri; - private List<ComponentService> services = new ArrayList<ComponentService>(); - private List<Intent> requiredIntents = new ArrayList<Intent>(); - private List<PolicySet> policySets = new ArrayList<PolicySet>(); - private List<Object> extensions = new ArrayList<Object>(); - private boolean unresolved = false; - private BeanDefinitionRegistry beanRegistry; - - protected BeanComponentImpl(BeanDefinitionRegistry beanRegistry) { - super((String)""); - this.beanRegistry = beanRegistry; - } - - @Override - public Object clone() throws CloneNotSupportedException { - BeanComponentImpl clone = (BeanComponentImpl)super.clone(); - - clone.getProperties().clear(); - for (ComponentProperty property : getProperties()) { - clone.getProperties().add((ComponentProperty)property.clone()); - } - clone.getReferences().clear(); - for (ComponentReference reference : getReferences()) { - clone.getReferences().add((ComponentReference)reference.clone()); - } - clone.getServices().clear(); - for (ComponentService service : getServices()) { - clone.getServices().add((ComponentService)service.clone()); - } - return clone; - } - - @Override - public String getParentName() { - //TODO find a better name for bean definitions representing component types - return String.valueOf(System.identityHashCode(implementation)); - } - - public ConstrainingType getConstrainingType() { - return constrainingType; - } - - public Implementation getImplementation() { - return implementation; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - - // Register this bean definition in the bean registry - this.beanRegistry.registerBeanDefinition(uri, this); - } - - public String getName() { - return name; - } - - //TODO use a better list implementation - private List<ComponentProperty> properties = new ArrayList<ComponentProperty>() { - private static final long serialVersionUID = 1L; - - // Add a property - @Override - public boolean add(ComponentProperty property) { - - // Add corresponding bean property value - getPropertyValues().addPropertyValue(property.getName(), property.getValue()); - - return super.add(property); - } - }; - - public List<ComponentProperty> getProperties() { - return properties; - } - - //TODO use a better list implementation - private List<ComponentReference> references = new ArrayList<ComponentReference>() { - private static final long serialVersionUID = 1L; - - // Add a reference - @Override - public boolean add(ComponentReference reference) { - - // Add corresponding bean property value - if (!reference.getName().startsWith("$self$.")) { - BeanReferenceImpl beanReference = new BeanReferenceImpl(reference); - getPropertyValues().addPropertyValue(reference.getName(), beanReference); - } - return super.add(reference); - } - }; - - public List<ComponentReference> getReferences() { - return references; - } - - public List<ComponentService> getServices() { - return services; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - this.constrainingType = constrainingType; - } - - public void setImplementation(Implementation implementation) { - this.implementation = implementation; - } - - public void setName(String name) { - this.name = name; - } - - public List<Intent> getRequiredIntents() { - return requiredIntents; - } - - public List<PolicySet> getPolicySets() { - return policySets; - } - - public boolean isAutowire() { - return super.getAutowireMode() == AUTOWIRE_BY_TYPE; - } - - public Boolean getAutowire() { - int autowire = super.getAutowireMode(); - if (autowire == AUTOWIRE_BY_TYPE) { - return Boolean.TRUE; - } else if (autowire == AUTOWIRE_NO) { - return Boolean.FALSE; - } else { - return null; - } - } - - public void setAutowire(Boolean autowire) { - super.setAutowireMode(autowire ? AUTOWIRE_BY_TYPE : AUTOWIRE_NO); - } - - public List<Object> getExtensions() { - return extensions; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - - public void setPolicySets(List<PolicySet> policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List<Intent> intents) { - this.requiredIntents = intents; - } - - public List<PolicySet> getApplicablePolicySets() { - return applicablePolicySets; - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java deleted file mode 100644 index 7b747372b4..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.assembly.impl; - -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.springframework.beans.factory.config.RuntimeBeanReference; - -/** - * An implementation of RuntimeBeanReference wrapping an SCA assembly - * Reference - * - * @version $Rev$ $Date$ - */ -public class BeanReferenceImpl extends RuntimeBeanReference { - private Reference reference; - - protected BeanReferenceImpl(Reference reference) { - super("temp"); - this.reference = reference; - } - - @Override - public String getBeanName() { - SCABinding binding = reference.getBinding(SCABinding.class); - String name = binding.getURI(); - if (name.startsWith("/")) { - name = name.substring(1); - } - int s = name.lastIndexOf('/'); - if (s != -1) { - name = name.substring(0, s); - } - return name; - } - - @Override - public boolean equals(Object other) { - if (this != other) { - if (other instanceof RuntimeBeanReference) { - RuntimeBeanReference br = (RuntimeBeanReference)other; - return (getBeanName().equals(br.getBeanName()) && this.isToParent() == br.isToParent()); - } else - return false; - } else - return true; - } - - @Override - public int hashCode() { - return getBeanName().hashCode() * 29 + (this.isToParent() ? 1 : 0); - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java deleted file mode 100644 index b275bfa9a7..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.spring.context; - -import java.lang.ref.WeakReference; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - - -/** - * A default implementation of an artifact resolver, based on a map. - * - * @version $Rev$ $Date$ - */ -public class ModelResolverImpl implements ModelResolver { - private static final long serialVersionUID = -7826976465762296634L; - - private Map<Object, Object> map = new HashMap<Object, Object>(); - - private WeakReference<ClassLoader> classLoader; - - public ModelResolverImpl(ClassLoader classLoader) { - this.classLoader = new WeakReference<ClassLoader>(classLoader); - } - - public <T> T resolveModel(Class<T> modelClass, T unresolved) { - Object resolved = map.get(unresolved); - if (resolved != null) { - - // Return the resolved object - return modelClass.cast(resolved); - - } else if (unresolved instanceof ClassReference) { - - // Load a class on demand - ClassReference classReference = (ClassReference)unresolved; - Class clazz; - try { - clazz = Class.forName(classReference.getClassName(), true, classLoader.get()); - } catch (ClassNotFoundException e) { - - // Return the unresolved object - return unresolved; - } - - // Store a new ClassReference wrapping the loaded class - resolved = new ClassReference(clazz); - map.put(resolved, resolved); - - // Return the resolved ClassReference - return modelClass.cast(resolved); - - } else { - - // Return the unresolved object - return unresolved; - } - } - - public void addModel(Object resolved) { - map.put(resolved, resolved); - } - - public Object removeModel(Object resolved) { - return map.remove(resolved); - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java deleted file mode 100644 index 8fa5f4cd53..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.context; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.transform.TransformerFactory; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.core.spring.assembly.impl.BeanAssemblyFactory; -import org.apache.tuscany.sca.core.spring.implementation.java.impl.BeanJavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.AllowsPassByReferenceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.BaseJavaClassVisitor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ComponentNameProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ConstructorProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ContextProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ConversationProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.DestroyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.EagerInitProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.HeuristicPojoProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.InitProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.PolicyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.PropertyProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ReferenceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ResourceProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ScopeProcessor; -import org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.springframework.beans.factory.support.DefaultListableBeanFactory; - -/** - * A mini test runtime that uses the SCA assembly model variant implementation - * backed by Spring bean definitions. - * - * @version $Rev$ $Date$ - */ -public class SCADomainContext { - - private DefaultListableBeanFactory beanFactory; - - public SCADomainContext(String... compositeFiles) { - - // Create Spring bean factory - beanFactory = new DefaultListableBeanFactory(); - - // Create SCA assembly and SCA Java factories - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = new BeanAssemblyFactory(new DefaultAssemblyFactory(), beanFactory); - modelFactories.addFactory(assemblyFactory); - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - JavaInterfaceFactory javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class); - SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - modelFactories.addFactory(javaFactory); - JavaImplementationFactory javaImplementationFactory = new BeanJavaImplementationFactory(beanFactory); - modelFactories.addFactory(javaImplementationFactory); - - BaseJavaClassVisitor[] extensions = new BaseJavaClassVisitor[] { - new ConstructorProcessor(assemblyFactory), - new AllowsPassByReferenceProcessor(assemblyFactory), - new ComponentNameProcessor(assemblyFactory), - new ContextProcessor(assemblyFactory), - new ConversationProcessor(assemblyFactory), - new DestroyProcessor(assemblyFactory), - new EagerInitProcessor(assemblyFactory), - new InitProcessor(assemblyFactory), - new PropertyProcessor(assemblyFactory), - new ReferenceProcessor(assemblyFactory, javaFactory), - new ResourceProcessor(assemblyFactory), - new ScopeProcessor(assemblyFactory), - new ServiceProcessor(assemblyFactory, javaFactory), - new HeuristicPojoProcessor(assemblyFactory, javaFactory), - new PolicyProcessor(assemblyFactory, policyFactory) - }; - for (JavaClassVisitor e : extensions) { - javaImplementationFactory.addClassVisitor(e); - } - - // Populate ArtifactProcessor registry - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - StAXArtifactProcessor<Composite> compositeProcessor = staxProcessors.getProcessor(Composite.class); - - // Create a resolver - //FIXME The ClassLoader should be passed in - ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); - ModelResolverImpl resolver = new ModelResolverImpl(classLoader); - - try { - XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - - // Read the composite files - List<Composite> composites = new ArrayList<Composite>(); - for (String compositeFile: compositeFiles) { - InputStream is = classLoader.getResourceAsStream(compositeFile); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = compositeProcessor.read(reader); - resolver.addModel(composite); - composites.add(composite); - } - - for (Composite composite: composites) { - - // Resolve the composite - compositeProcessor.resolve(composite, resolver); - } - - // Wire the top level component's composite - DocumentBuilderFactory documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class); - TransformerFactory transformerFactory = modelFactories.getFactory(TransformerFactory.class); - buildComposite(composites.get(0), assemblyFactory, scaBindingFactory, - documentBuilderFactory, transformerFactory, mapper); - - } catch (ContributionException e) { - throw new RuntimeException(e); - } catch (CompositeBuilderException e) { - throw new RuntimeException(e); - } catch (XMLStreamException e) { - throw new RuntimeException(e); - } - } - - private void buildComposite(Composite composite, AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory, - InterfaceContractMapper interfaceContractMapper) throws CompositeBuilderException { - - Monitor monitor = new Monitor() { - - public void problem(Problem problem) { - System.out.println("Composite assembly problem: " + problem.toString()); - } - public List<Problem> getProblems() { - return null; - } - }; - - // Configure and wire the composite - CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(), - documentBuilderFactory, transformerFactory, interfaceContractMapper, monitor); - compositeUtil.build(composite); - - } - - public <B> B getService(Class<B> businessInterface, String serviceName) { - Object bean = beanFactory.getBean(serviceName); - return businessInterface.cast(bean); - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java deleted file mode 100644 index 9587a2b0ae..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.implementation.java.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.implementation.java.BaseJavaImplementation; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; -import org.springframework.beans.factory.support.RootBeanDefinition; - -/** - * An implementation of the SCA assembly JavaImplementation interface backed by a Spring - * Bean definition. - * - * @version $Rev$ $Date$ - */ -public class BeanBaseJavaImplementationImpl extends RootBeanDefinition implements BaseJavaImplementation, Cloneable { - private static final long serialVersionUID = 1L; - - private List<Service> services = new ArrayList<Service>(); - private ConstrainingType constrainingType; - private List<Object> extensions = new ArrayList<Object>(); - private boolean unresolved; - private BeanDefinitionRegistry beanRegistry; - private String uri; - - private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>(); - private List<ConfiguredOperation> configuredOperations = new ArrayList<ConfiguredOperation>(); - private List<PolicySet> policySets = new ArrayList<PolicySet>(); - private List<Intent> requiredIntents = new ArrayList<Intent>(); - private IntentAttachPointType type = null; - - protected BeanBaseJavaImplementationImpl(BeanDefinitionRegistry beanRegistry) { - this.beanRegistry = beanRegistry; - - // Register this bean definition in the bean registry - //TODO find a better name for bean definitions representing component types - String name = String.valueOf(System.identityHashCode(this)); - this.beanRegistry.registerBeanDefinition(name, this); - } - - @Override - public Object clone() throws CloneNotSupportedException { - BeanBaseJavaImplementationImpl clone = (BeanBaseJavaImplementationImpl)super.clone(); - - clone.getServices().clear(); - for (Service service : getServices()) { - clone.getServices().add((Service)service.clone()); - } - clone.getReferences().clear(); - for (Reference reference : getReferences()) { - clone.getReferences().add((Reference)reference.clone()); - } - clone.getProperties().clear(); - for (Property property : getProperties()) { - clone.getProperties().add((Property)property.clone()); - } - return clone; - } - - public Class<?> getJavaClass() { - return super.getBeanClass(); - } - - public String getName() { - return super.getBeanClassName(); - } - - public void setJavaClass(Class<?> javaClass) { - super.setBeanClass(javaClass); - } - - public void setName(String className) { - super.setBeanClassName(className); - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public ConstrainingType getConstrainingType() { - return constrainingType; - } - - //TODO use a better list implementation - private List<Property> properties = new ArrayList<Property>() { - private static final long serialVersionUID = 1L; - - // Add a property - @Override - public boolean add(Property property) { - - // Add corresponding bean property value - getPropertyValues().addPropertyValue(property.getName(), property.getValue()); - - return super.add(property); - } - }; - - public List<Property> getProperties() { - return properties; - } - - //TODO use a better list implementation - private List<Reference> references = new ArrayList<Reference>() { - private static final long serialVersionUID = 1L; - - // Add a reference - @Override - public boolean add(Reference reference) { - - // Add corresponding bean property value - String target; - if (!reference.getTargets().isEmpty()) { - //TODO handle multiplicity - target = reference.getTargets().get(0).getName(); - int i = target.indexOf('/'); - if (i != -1) - target = target.substring(0, i); - } else { - target = null; - } - getPropertyValues().addPropertyValue(reference.getName(), target); - - return super.add(reference); - } - }; - - - public List<Reference> getReferences() { - return references; - } - - public List<Service> getServices() { - return services; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - this.constrainingType = constrainingType; - } - - public List<Object> getExtensions() { - return extensions; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public List<PolicySet> getApplicablePolicySets() { - return applicablePolicySets; - } - - public List<ConfiguredOperation> getConfiguredOperations() { - return configuredOperations; - } - - public List<PolicySet> getPolicySets() { - return policySets; - } - - public List<Intent> getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return type; - } - - public void setType(IntentAttachPointType type) { - this.type = type; - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java deleted file mode 100644 index 6b19bac413..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.implementation.java.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.implementation.java.IntrospectionException; -import org.apache.tuscany.sca.implementation.java.JavaImplementation; -import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory; -import org.apache.tuscany.sca.implementation.java.impl.JavaClassIntrospectorImpl; -import org.apache.tuscany.sca.implementation.java.introspect.JavaClassVisitor; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; - -/** - * An alternate implementation of the SCA Java assembly model factory that - * creates SCA Java assembly model objects backed by Spring bean definitions. - * - * @version $Rev$ $Date$ - */ -public class BeanJavaImplementationFactory implements JavaImplementationFactory { - - private BeanDefinitionRegistry beanRegistry; - private List<JavaClassVisitor> visitors = new ArrayList<JavaClassVisitor>(); - private JavaClassIntrospectorImpl introspector; - - public BeanJavaImplementationFactory(BeanDefinitionRegistry beanRegistry) { - this.beanRegistry = beanRegistry; - introspector = new JavaClassIntrospectorImpl(visitors); - } - - public JavaImplementation createJavaImplementation() { - return new BeanJavaImplementationImpl(beanRegistry); - } - - public void createJavaImplementation(JavaImplementation javaImplementation, Class<?> implementationClass) - throws IntrospectionException { - introspector.introspectClass(javaImplementation, implementationClass); - } - - public JavaImplementation createJavaImplementation(Class<?> implementationClass) throws IntrospectionException { - JavaImplementation javaImplementation = createJavaImplementation(); - introspector.introspectClass(javaImplementation, implementationClass); - return javaImplementation; - } - - public void addClassVisitor(JavaClassVisitor visitor) { - visitors.add(visitor); - } - - public void removeClassVisitor(JavaClassVisitor visitor) { - visitors.remove(visitor); - } - - public List<JavaClassVisitor> getClassVisitors() { - return visitors; - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java deleted file mode 100644 index 7fc82d8711..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.implementation.java.impl; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Member; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.implementation.java.JavaImplementation; -import org.apache.tuscany.sca.implementation.java.impl.JavaConstructorImpl; -import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl; -import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl; -import org.apache.tuscany.sca.implementation.java.impl.JavaScopeImpl; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; - -/** - * An implementation of the SCA assembly JavaImplementation interface backed by a Spring - * Bean definition. - * - * @version $Rev$ $Date$ - */ -public class BeanJavaImplementationImpl extends BeanBaseJavaImplementationImpl implements JavaImplementation { - private static final long serialVersionUID = 6792198458193774178L; - - private JavaConstructorImpl<?> constructorDefinition; - private Map<Constructor, JavaConstructorImpl> constructors = new HashMap<Constructor, JavaConstructorImpl>(); - private Method initMethod; - private Method destroyMethod; - private final Map<String, JavaResourceImpl> resources = new HashMap<String, JavaResourceImpl>(); - private final Map<String, JavaElementImpl> propertyMembers = new HashMap<String, JavaElementImpl>(); - private final Map<String, JavaElementImpl> referenceMembers = new HashMap<String, JavaElementImpl>(); - private final Map<String, Collection<JavaElementImpl>> callbackMembers = new HashMap<String, Collection<JavaElementImpl>>(); - private List<Member> conversationIDMember = new ArrayList<Member>(); - private boolean eagerInit; - private boolean allowsPassByReference; - private List<Method> allowsPassByReferenceMethods = new ArrayList<Method>(); - private long maxAge = -1; - private long maxIdleTime = -1; - private JavaScopeImpl scope = JavaScopeImpl.STATELESS; - private List<PolicyHandlerTuple> policyHandlerClassNames = null; - - protected BeanJavaImplementationImpl(BeanDefinitionRegistry beanRegistry) { - super(beanRegistry); - } - - public JavaConstructorImpl<?> getConstructor() { - return constructorDefinition; - } - - public void setConstructor(JavaConstructorImpl<?> definition) { - this.constructorDefinition = definition; - } - - public Method getInitMethod() { - return initMethod; - } - - public void setInitMethod(Method initMethod) { - this.initMethod = initMethod; - } - - public Method getDestroyMethod() { - return destroyMethod; - } - - public void setDestroyMethod(Method destroyMethod) { - this.destroyMethod = destroyMethod; - } - - public Map<String, JavaResourceImpl> getResources() { - return resources; - } - - public List<Member> getConversationIDMembers() { - return this.conversationIDMember; - } - - public void addConversationIDMember(Member conversationIDMember) { - this.conversationIDMember.add(conversationIDMember); - } - - public boolean isAllowsPassByReference() { - return allowsPassByReference; - } - - public void setAllowsPassByReference(boolean allowsPassByReference) { - this.allowsPassByReference = allowsPassByReference; - } - - public List<Method> getAllowsPassByReferenceMethods() { - return allowsPassByReferenceMethods; - } - - public boolean isAllowsPassByReference(Method method) { - return allowsPassByReference || allowsPassByReferenceMethods.contains(method); - } - - public Map<Constructor, JavaConstructorImpl> getConstructors() { - return constructors; - } - - public boolean isEagerInit() { - return eagerInit; - } - - public void setEagerInit(boolean eagerInit) { - this.eagerInit = eagerInit; - } - - public Map<String, Collection<JavaElementImpl>> getCallbackMembers() { - return callbackMembers; - } - - public Map<String, JavaElementImpl> getPropertyMembers() { - return propertyMembers; - } - - public Map<String, JavaElementImpl> getReferenceMembers() { - return referenceMembers; - } - - public JavaScopeImpl getJavaScope() { - return scope; - } - - public void setJavaScope(JavaScopeImpl scope) { - this.scope = scope; - } - - public long getMaxAge() { - return maxAge; - } - - public void setMaxAge(long maxAge) { - this.maxAge = maxAge; - } - - public long getMaxIdleTime() { - return maxIdleTime; - } - - public void setMaxIdleTime(long maxIdleTime) { - this.maxIdleTime = maxIdleTime; - } - - public List<PolicyHandlerTuple> getPolicyHandlerClassNames() { - return policyHandlerClassNames; - } - - public void setPolicyHandlerClassNames(List<PolicyHandlerTuple> policyHandlerClassNames) { - this.policyHandlerClassNames = policyHandlerClassNames; - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java deleted file mode 100644 index 17a7e9084c..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.spring.implementation.java.impl; - -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceContractImpl; - -/** - * An implementation of a Java interface contract. - * - * @version $Rev$ $Date$ - */ -public class BeanJavaInterfaceContractImpl extends JavaInterfaceContractImpl { - - protected BeanJavaInterfaceContractImpl() { - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java deleted file mode 100644 index 492ab2732e..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.implementation.java.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceIntrospectorImpl; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor; - -/** - * An alternate implementation of the SCA Java assembly model factory that creates SCA - * Java assembly model objects backed by Spring bean definitions. - * - * @version $Rev$ $Date$ - */ -public class BeanJavaInterfaceFactory implements JavaInterfaceFactory { - - private List<JavaInterfaceVisitor> visitors = new ArrayList<JavaInterfaceVisitor>(); - private JavaInterfaceIntrospectorImpl introspector; - - public BeanJavaInterfaceFactory() { - introspector = new JavaInterfaceIntrospectorImpl(this); - } - - public JavaInterface createJavaInterface() { - return new BeanJavaInterfaceImpl(); - } - - public JavaInterface createJavaInterface(Class<?> interfaceClass) throws InvalidInterfaceException { - JavaInterface javaInterface = createJavaInterface(); - introspector.introspectInterface(javaInterface, interfaceClass); - return javaInterface; - } - - public void createJavaInterface(JavaInterface javaInterface, Class<?> interfaceClass) throws InvalidInterfaceException { - introspector.introspectInterface(javaInterface, interfaceClass); - } - - public JavaInterfaceContract createJavaInterfaceContract() { - return new BeanJavaInterfaceContractImpl(); - } - - public void addInterfaceVisitor(JavaInterfaceVisitor extension) { - visitors.add(extension); - } - - public void removeInterfaceVisitor(JavaInterfaceVisitor extension) { - visitors.remove(extension); - } - - public List<JavaInterfaceVisitor> getInterfaceVisitors() { - return visitors; - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java b/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java deleted file mode 100644 index 6c3afdb129..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring.implementation.java.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceImpl; -import org.apache.tuscany.sca.policy.Intent; - -/** - * An alternate implementation of the SCA Java assembly model JavaInterface - * interface. - * - * @version $Rev$ $Date$ - */ -public class BeanJavaInterfaceImpl extends JavaInterfaceImpl implements JavaInterface { - - private String className; - private Class<?> javaClass; - private Class<?> callbackClass; - private boolean conversational; - private boolean remotable; - List<Intent> requiredIntents = new ArrayList<Intent>(); - private List<Object> extensions = new ArrayList<Object>(); - private List<Operation> operations = new ArrayList<Operation>(); - private boolean unresolved = false; - - protected BeanJavaInterfaceImpl() { - } - - @Override - public String getName() { - if (isUnresolved()) { - return className; - } - else { - return javaClass.getName(); - } - } - - @Override - public void setName(String className) { - if (!isUnresolved()) - throw new IllegalStateException(); - this.className = className; - } - - @Override - public Class<?> getJavaClass() { - return javaClass; - } - - @Override - public void setJavaClass(Class<?> javaClass) { - this.javaClass = javaClass; - } - - @Override - public Class<?> getCallbackClass() { - return callbackClass; - } - - @Override - public void setCallbackClass(Class<?> callbackClass) { - this.callbackClass = callbackClass; - } - - @Override - public boolean isConversational() { - return conversational; - } - - @Override - public boolean isRemotable() { - return remotable; - } - - @Override - public void setConversational(boolean conversational) { - this.conversational = conversational; - } - - @Override - public void setRemotable(boolean local) { - this.remotable = local; - } - - @Override - public List<Intent> getRequiredIntents() { - return requiredIntents; - } - - public List<Object> getExtensions() { - return extensions; - } - - @Override - public List<Operation> getOperations() { - return operations; - } - - @Override - public boolean isUnresolved() { - return unresolved; - } - - @Override - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - - @Override - public void resetDataBinding(String dataBinding) { - } - - @Deprecated - @Override - public void setDefaultDataBinding(String dataBinding) { - } - - @Override - public boolean isDynamic() { - return false; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/AddService.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/AddService.java deleted file mode 100644 index f3a24ed6b2..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/AddService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The Add Service interface. - * - * @version $Rev$ $Date$ - */ -public interface AddService { - - double add(double n1, double n2); - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/AddServiceImpl.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/AddServiceImpl.java deleted file mode 100644 index 61654ea811..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/AddServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.osoa.sca.annotations.EagerInit; -import org.osoa.sca.annotations.Scope; - -/** - * An implementation of the Add service - * - * @version $Rev$ $Date$ - */ -@Scope("COMPOSITE") -@EagerInit -public class AddServiceImpl implements AddService { - - public double add(double n1, double n2) { - return n1 + n2; - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorClient.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorClient.java deleted file mode 100644 index 73aa028084..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorClient.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.apache.tuscany.sca.core.spring.context.SCADomainContext; - -/** - * This client program shows how to create an SCA runtime, start it, locate the - * Calculator service and invoke it. - * - * @version $Rev$ $Date$ - */ -public class CalculatorClient { - public static void main(String[] args) throws Exception { - - SCADomainContext context = new SCADomainContext("org/apache/tuscany/core/spring/Calculator.composite"); - - CalculatorService calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent"); - - // Calculate - System.out.println("3 + 2=" + calculatorService.add(3, 2)); - System.out.println("3 - 2=" + calculatorService.subtract(3, 2)); - System.out.println("3 * 2=" + calculatorService.multiply(3, 2)); - System.out.println("3 / 2=" + calculatorService.divide(3, 2)); - - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorService.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorService.java deleted file mode 100644 index e0cf23dc17..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorService.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The Calculator service interface. - * - * @version $Rev$ $Date$ - */ -public interface CalculatorService { - - double add(double n1, double n2); - - double subtract(double n1, double n2); - - double multiply(double n1, double n2); - - double divide(double n1, double n2); - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java deleted file mode 100644 index c1fceb575d..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.osoa.sca.annotations.Reference; -import org.osoa.sca.annotations.Scope; - -/** - * An implementation of the Calculator service. - * - * @version $Rev$ $Date$ - */ -@Scope("COMPOSITE") -public class CalculatorServiceImpl implements CalculatorService { - - private AddService addService; - private SubtractService subtractService; - private MultiplyService multiplyService; - private DivideService divideService; - - @Reference - public void setAddService(AddService addService) { - this.addService = addService; - } - - @Reference - public void setSubtractService(SubtractService subtractService) { - this.subtractService = subtractService; - } - - @Reference - public void setDivideService(DivideService divideService) { - this.divideService = divideService; - } - - @Reference - public void setMultiplyService(MultiplyService multiplyService) { - this.multiplyService = multiplyService; - } - - public double add(double n1, double n2) { - return addService.add(n1, n2); - } - - public double subtract(double n1, double n2) { - return subtractService.subtract(n1, n2); - } - - public double multiply(double n1, double n2) { - return multiplyService.multiply(n1, n2); - } - - public double divide(double n1, double n2) { - return divideService.divide(n1, n2); - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/DivideService.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/DivideService.java deleted file mode 100644 index 7c69b10b25..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/DivideService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The Divide Service interface. - * - * @version $Rev$ $Date$ - */ -public interface DivideService { - - double divide(double n1, double n2); - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java deleted file mode 100644 index e1f35f99b5..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.osoa.sca.annotations.Scope; - -/** - * An implementation of the Divide service. - * - * @version $Rev$ $Date$ - */ -@Scope("COMPOSITE") -public class DivideServiceImpl implements DivideService { - - public double divide(double n1, double n2) { - return n1 / n2; - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/MultiplyService.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/MultiplyService.java deleted file mode 100644 index 686542c18e..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/MultiplyService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The Multiply Service interface. - * - * @version $Rev$ $Date$ - */ -public interface MultiplyService { - - double multiply(double n1, double n2); - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java deleted file mode 100644 index d621407908..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.osoa.sca.annotations.Scope; - -/** - * An implementation of the Multiply service. - * - * @version $Rev$ $Date$ - */ -@Scope("COMPOSITE") -public class MultiplyServiceImpl implements MultiplyService { - - public double multiply(double n1, double n2) { - return n1 * n2; - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java deleted file mode 100644 index e8e4a6f71b..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.apache.tuscany.sca.core.spring.context.SCADomainContext; - -/** - * This client program shows how to create an SCA runtime, start it, locate the - * Calculator service and invoke it. - * - * @version $Rev$ $Date$ - */ -public class NestedCalculatorClient { - public static void main(String[] args) throws Exception { - - SCADomainContext context = new SCADomainContext( - "org/apache/tuscany/core/spring/OuterCalculator.composite", - "org/apache/tuscany/core/spring/InnerCalculator.composite", - "org/apache/tuscany/core/spring/InnerOperations.composite"); - - CalculatorService calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent/CalculatorServiceComponent"); - - // Calculate - System.out.println("3 + 2=" + calculatorService.add(3, 2)); - System.out.println("3 - 2=" + calculatorService.subtract(3, 2)); - System.out.println("3 * 2=" + calculatorService.multiply(3, 2)); - System.out.println("3 / 2=" + calculatorService.divide(3, 2)); - - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/SubtractService.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/SubtractService.java deleted file mode 100644 index 30632688f9..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/SubtractService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The Subtract Service interface. - * - * @version $Rev$ $Date$ - */ -public interface SubtractService { - - double subtract(double n1, double n2); - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java b/branches/sca-equinox/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java deleted file mode 100644 index 4fed0a8c6a..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.osoa.sca.annotations.Scope; - -/** - * An implementation of the subtract service. - * - * @version $Rev$ $Date$ - */ -@Scope("COMPOSITE") -public class SubtractServiceImpl implements SubtractService { - - public double subtract(double n1, double n2) { - return n1 - n2; - } - -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java b/branches/sca-equinox/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java deleted file mode 100644 index 44b447cc64..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.spring; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.core.spring.context.SCADomainContext; - -import calculator.CalculatorService; - -/** - * This shows how to test the Calculator service component. - * - * @version $Rev$ $Date$ - */ -public class CalculatorTestCase extends TestCase { - - private SCADomainContext context; - private CalculatorService calculatorService; - - @Override - protected void setUp() throws Exception { - context = new SCADomainContext("org/apache/tuscany/sca/core/spring/Calculator.composite"); - - calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent"); - } - - @Override - protected void tearDown() throws Exception { - } - - public void testCalculator() throws Exception { - // Calculate - assertEquals(calculatorService.add(3, 2), 5.0); - assertEquals(calculatorService.subtract(3, 2), 1.0); - assertEquals(calculatorService.multiply(3, 2), 6.0); - assertEquals(calculatorService.divide(3, 2), 1.5); - - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java b/branches/sca-equinox/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java deleted file mode 100644 index baf73ac197..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.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 org.apache.tuscany.sca.core.spring; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.core.spring.context.SCADomainContext; - -import calculator.CalculatorService; - -/** - * This shows how to test the Calculator service component. - * - * @version $Rev$ $Date$ - */ -public class NestedCalculatorTestCaseFIXME extends TestCase { - - private SCADomainContext context; - private CalculatorService calculatorService; - - @Override - protected void setUp() throws Exception { - context = new SCADomainContext( - "org/apache/tuscany/sca/core/spring/OuterCalculator.composite", - "org/apache/tuscany/sca/core/spring/InnerCalculator.composite", - "org/apache/tuscany/sca/core/spring/InnerOperations.composite"); - - calculatorService = context.getService(CalculatorService.class, "CalculatorServiceComponent/InnerCalculatorServiceComponent"); - } - - @Override - protected void tearDown() throws Exception { - } - - public void testCalculator() throws Exception { - // Calculate - assertEquals(calculatorService.add(3, 2), 5.0); - assertEquals(calculatorService.subtract(3, 2), 1.0); - assertEquals(calculatorService.multiply(3, 2), 6.0); - assertEquals(calculatorService.divide(3, 2), 1.5); - - } -} diff --git a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite b/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite deleted file mode 100644 index 6d998ba035..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite +++ /dev/null @@ -1,52 +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://www.osoa.org/xmlns/sca/1.0" - xmlns:calc="http://sample.calculator" - name="calc:TestBeanCalculator"> - - <service name="CalculatorService" promote="CalculatorServiceComponent"> - <interface.java interface="calculator.CalculatorService"/> - </service> - - <component name="CalculatorServiceComponent"> - <implementation.java class="calculator.CalculatorServiceImpl"/> - <reference name="addService" target="AddServiceComponent"/> - <reference name="subtractService" target="SubtractServiceComponent"/> - <reference name="multiplyService" target="MultiplyServiceComponent"/> - <reference name="divideService" target="DivideServiceComponent"/> - </component> - - <component name="AddServiceComponent"> - <implementation.java class="calculator.AddServiceImpl"/> - </component> - - <component name="SubtractServiceComponent"> - <implementation.java class="calculator.SubtractServiceImpl"/> - </component> - - <component name="MultiplyServiceComponent"> - <implementation.java class="calculator.MultiplyServiceImpl"/> - </component> - - <component name="DivideServiceComponent"> - <implementation.java class="calculator.DivideServiceImpl"/> - </component> - -</composite> diff --git a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite b/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite deleted file mode 100644 index 8b043f2b4f..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite +++ /dev/null @@ -1,42 +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://www.osoa.org/xmlns/sca/1.0" - xmlns:calc="http://calc" - targetNamespace="http://calc" - name="InnerCalculator"> - - <service name="CalculatorService" promote="InnerCalculatorServiceComponent"> - <interface.java interface="calculator.CalculatorService"/> - </service> - - <component name="InnerCalculatorServiceComponent"> - <implementation.java class="calculator.CalculatorServiceImpl"/> - <reference name="addService"/> - <reference name="subtractService"/> - <reference name="multiplyService"/> - <reference name="divideService"/> - </component> - - <reference name="addService" promote="InnerCalculatorServiceComponent/addService"/> - <reference name="subtractService" promote="InnerCalculatorServiceComponent/subtractService"/> - <reference name="multiplyService" promote="InnerCalculatorServiceComponent/multiplyService"/> - <reference name="divideService" promote="InnerCalculatorServiceComponent/divideService"/> - -</composite> diff --git a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite b/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite deleted file mode 100644 index d7d1124050..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - xmlns:calc="http://calc" - targetNamespace="http://calc" - name="InnerOperations"> - - <service name="AddService" promote="AddServiceComponent"> - <interface.java interface="calculator.AddService"/> - </service> - - <service name="SubtractService" promote="SubtractServiceComponent"> - <interface.java interface="calculator.SubtractService"/> - </service> - - <service name="MultiplyService" promote="MultiplyServiceComponent"> - <interface.java interface="calculator.MultiplyService"/> - </service> - - <service name="DivideService" promote="DivideServiceComponent"> - <interface.java interface="calculator.DivideService"/> - </service> - - <component name="AddServiceComponent"> - <implementation.java class="calculator.AddServiceImpl"/> - </component> - - <component name="SubtractServiceComponent"> - <implementation.java class="calculator.SubtractServiceImpl"/> - </component> - - <component name="MultiplyServiceComponent"> - <implementation.java class="calculator.MultiplyServiceImpl"/> - </component> - - <component name="DivideServiceComponent"> - <implementation.java class="calculator.DivideServiceImpl"/> - </component> - -</composite> diff --git a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite b/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite deleted file mode 100644 index c2b6cced36..0000000000 --- a/branches/sca-equinox/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - xmlns:calc="http://calc" - targetNamespace="http://calc" - name="OuterCalculator"> - - <service name="CalculatorService" promote="CalculatorServiceComponent"> - <interface.java interface="calculator.CalculatorService"/> - </service> - - <component name="CalculatorServiceComponent"> - <implementation.composite name="calc:InnerCalculator"/> - <reference name="addService" target="OperationsServiceComponent/AddService"/> - <reference name="subtractService" target="OperationsServiceComponent/SubtractService"/> - <reference name="multiplyService" target="OperationsServiceComponent/MultiplyService"/> - <reference name="divideService" target="OperationsServiceComponent/DivideService"/> - </component> - - <component name="OperationsServiceComponent"> - <implementation.composite name="calc:InnerOperations"/> - </component> - -</composite> diff --git a/branches/sca-equinox/modules/databinding-job/LICENSE b/branches/sca-equinox/modules/databinding-job/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/databinding-job/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/databinding-job/META-INF/README b/branches/sca-equinox/modules/databinding-job/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/databinding-job/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/databinding-job/NOTICE b/branches/sca-equinox/modules/databinding-job/NOTICE deleted file mode 100644 index 94481d6cfa..0000000000 --- a/branches/sca-equinox/modules/databinding-job/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2007 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/databinding-job/pom.xml b/branches/sca-equinox/modules/databinding-job/pom.xml deleted file mode 100644 index fa16671342..0000000000 --- a/branches/sca-equinox/modules/databinding-job/pom.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-databinding-job</artifactId> - <name>Apache Tuscany SCA Data Binding for XML Jobs</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-databinding-axiom</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>javax.xml.stream</groupId> - <artifactId>stax-api</artifactId> - <version>1.0-2</version> - </dependency> - - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.2.2</version> - </dependency> - - <dependency> - <groupId>org.apache.ws.commons.axiom</groupId> - <artifactId>axiom-api</artifactId> - <exclusions> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - </exclusion> - </exclusions> - <version>1.2.5</version> - </dependency> - - <dependency> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - <version>2.8.1</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.apache.ws.commons.axiom</groupId> - <artifactId>axiom-impl</artifactId> - <version>1.2.5</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.1</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.1</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - </exclusions> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.databinding.job</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.databinding.job*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java deleted file mode 100644 index 98ca6c7429..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -public interface Job<T, E> { - public T compute(E v); - - public boolean eos(); - - public int getType(); - - public static int NULL_JOB = 0; - public static int REGULAR_JOB = 1; - public static int RESULT_JOB = 2; - // public boolean reusable(); -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java deleted file mode 100644 index 9752815640..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -import java.io.ByteArrayOutputStream; -import java.io.Externalizable; -import java.io.ObjectOutputStream; - -import javax.activation.DataHandler; -import javax.xml.namespace.QName; - -import org.apache.axiom.attachments.ByteArrayDataSource; -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.impl.XSDDataTypeConverter.Base64Binary; -import org.apache.tuscany.sca.databinding.axiom.AxiomHelper; - -@SuppressWarnings("unchecked") -public class Job2OMElement extends BaseTransformer<Job, OMElement> implements - PullTransformer<Job, OMElement> { - - @Override - protected Class getSourceType() { - return Job.class; - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - public OMElement transform(Job source, TransformationContext context) { - OMElement element = null; - - try { - // JobDataSource dataSource = new JobDataSource(); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ObjectOutputStream out = new ObjectOutputStream(bos); - out.writeObject(source); - out.close(); - byte[] bytes = bos.toByteArray(); - // ByteArrayDataSource ds = new ByteArrayDataSource(bytes); - OMFactory factory = OMAbstractFactory.getOMFactory(); - OMNamespace ns = AxiomHelper.createOMNamespace(factory, new QName( - "http://job")); - element = factory.createOMElement("jobreference", ns); - // OMText data = factory.createOMText(new DataHandler(ds), true); - // element.addChild(data); - element.setText(Base64Binary.encode(bytes)); - return element; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java deleted file mode 100644 index 0acea89ebf..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.databinding.job; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; - -/** - * DataBinding for Jobs - */ -public class JobDataBinding extends BaseDataBinding { - - public static final String NAME = Job.class.getName(); - public static final String[] ALIASES = new String[] {"job"}; - - public JobDataBinding() { - super(NAME, ALIASES, Job.class); - } - -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java deleted file mode 100644 index 40ee2ff010..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -import java.util.HashMap; - -public class JobDataMap implements java.io.Serializable { - private static final long serialVersionUID = -2602843967597362950L; - private HashMap<String, Object> data = new HashMap<String, Object>(); - - public JobDataMap() { - super(); - } - - public <T> void addJobData(String name, T t) { - data.put(name, t); - } - - public Object getJobDataObject(String name) { - if (data.containsKey(name)) { - return data.get(name); - } - return null; - } - - public Class<?> getJobDataClass(String name) { - if (data.containsKey(name)) { - return data.get(name).getClass(); - } - return null; - } - - public Class<?>[] getJobDataClasses() { - int siz = data.keySet().size(); - int i = 0; - Class<?>[] claz = new Class<?>[siz]; - for (Object e : data.values()) { - claz[i] = e.getClass(); - ++i; - } - return claz; - } - - public Object[] getJobDataObjects() { - int siz = data.keySet().size(); - Object[] objs = new Object[siz]; - int i = 0; - for (Object e : data.values()) { - objs[i] = e.getClass(); - ++i; - } - return objs; - } -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java deleted file mode 100644 index 623be7e2b5..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataSource.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -public class JobDataSource implements javax.activation.DataSource { - private ByteArrayOutputStream os; - - public JobDataSource() { - os = new ByteArrayOutputStream(); - } - - public String getContentType() { - return "application/octet-stream"; - } - - public InputStream getInputStream() throws IOException { - return new ByteArrayInputStream(os.toByteArray()); - } - - public String getName() { - return "jobreference"; - } - - public byte[] getBytes() { - return os.toByteArray(); - } - - public OutputStream getOutputStream() throws IOException { - return os; - } -}
\ No newline at end of file diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java deleted file mode 100644 index 8c98fd2e26..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver; - -public class JobExecutionContext implements java.io.Serializable { - private JobDataMap jobData; - - public JobDataMap getJobData() { - return jobData; - } - - public void storeJSONData(String jsonData) { - XStream xstream = new XStream(new JsonHierarchicalStreamDriver()); - jobData = (JobDataMap) xstream.fromXML(jsonData); - } - - public String getJSONData() { - XStream xstream = new XStream(new JsonHierarchicalStreamDriver()); - String jsonData = xstream.toXML(jobData); - return jsonData; - } - - public void setJobData(JobDataMap jdm) { - this.jobData = jdm; - } -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java deleted file mode 100644 index 057da6b67f..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -import java.io.ByteArrayInputStream; -import java.io.ObjectInputStream; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.impl.XSDDataTypeConverter.Base64Binary; - -/** - * Transformer to convert data from an OMElement to Job - */ -@SuppressWarnings("unchecked") -public class OMElement2Job extends BaseTransformer<OMElement, Job> implements - PullTransformer<OMElement, Job> { - - public Job transform(OMElement source, TransformationContext context) { - try { - - // OMText binaryNode = (OMText) source.getFirstOMChild(); - // DataHandler actualDH = (DataHandler) binaryNode.getDataHandler(); - // ByteArrayDataSource ds = - // (ByteArrayDataSource)actualDH.getDataSource(); - String value = (String) source.getText(); - ByteArrayInputStream bis = new ByteArrayInputStream(Base64Binary - .decode(value)); - ObjectInputStream ois = new ObjectInputStream(bis); - Object obj = ois.readObject(); - ois.close(); - Job aReference = (Job) obj; - return aReference; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return OMElement.class; - } - - @Override - public Class getTargetType() { - return Job.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java b/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java deleted file mode 100644 index 693e0f1af7..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.job; - -/** - * This an abstract class to represent a Job with a Context - * - */ -public abstract class RemoteJob<T> implements Job<T, JobExecutionContext>, - java.io.Serializable { - protected JobExecutionContext context = new JobExecutionContext(); - - public abstract T compute(JobExecutionContext v); - - public JobExecutionContext getContext() { - return context; - } - -} diff --git a/branches/sca-equinox/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/branches/sca-equinox/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index 7fb334e529..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding +++ /dev/null @@ -1,20 +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. - -# implementation classes for the databindings -org.apache.tuscany.sca.databinding.job.JobDataBinding;type=org.apache.tuscany.sca.databinding.job.Job,name=job - diff --git a/branches/sca-equinox/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/branches/sca-equinox/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index f42a526a48..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /dev/null @@ -1,18 +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. -org.apache.tuscany.sca.databinding.job.Job2OMElement;source=org.apache.tuscany.sca.databinding.job.Job,target=org.apache.axiom.om.OMElement,weight=10 -org.apache.tuscany.sca.databinding.job.OMElement2Job;source=org.apache.axiom.om.OMElement,target=org.apache.tuscany.sca.databinding.job.Job,weight=10 diff --git a/branches/sca-equinox/modules/databinding-job/src/test/resources/ipo.xml b/branches/sca-equinox/modules/databinding-job/src/test/resources/ipo.xml deleted file mode 100644 index df901d183d..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/test/resources/ipo.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.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. ---> -<ipo:purchaseOrder - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:ipo="http://www.example.com/IPO" - xsi:schemaLocation="http://www.example.com/IPO ipo.xsd" - orderDate="1999-12-01"> - - <shipTo exportCode="1" xsi:type="ipo:UKAddress"> - <name>Helen Zoe</name> - <street>47 Eden Street</street> - <city>Cambridge</city> - <postcode>CB1 1JR</postcode> - </shipTo> - - <billTo xsi:type="ipo:USAddress"> - <name>Robert Smith</name> - <street>8 Oak Avenue</street> - <city>Old Town</city> - <state>PA</state> - <zip>95819</zip> - </billTo> - - <items> - <item partNum="833-AA"> - <productName>Lapis necklace</productName> - <quantity>1</quantity> - <USPrice>99.95</USPrice> - <ipo:comment>Want this for the holidays</ipo:comment> - <shipDate>1999-12-05</shipDate> - </item> - </items> -</ipo:purchaseOrder> - diff --git a/branches/sca-equinox/modules/databinding-job/src/test/resources/ipo.xsd b/branches/sca-equinox/modules/databinding-job/src/test/resources/ipo.xsd deleted file mode 100644 index cce0cf1019..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/test/resources/ipo.xsd +++ /dev/null @@ -1,155 +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.
--->
-
-<!--
- * 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 targetNamespace="http://www.example.com/IPO"
- xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
-
- <annotation>
- <documentation xml:lang="en">
- International Purchase order schema for Example.com
- Copyright 2000 Example.com. All rights reserved.
- </documentation>
- </annotation>
-
-
- <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
-
- <element name="comment" type="string" />
-
- <complexType name="PurchaseOrderType">
- <sequence>
- <element name="shipTo" type="ipo:Address" />
- <element name="billTo" type="ipo:Address" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="items" type="ipo:Items" />
- </sequence>
- <attribute name="orderDate" type="date" />
- </complexType>
-
- <complexType name="Items">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="productName" type="string" />
- <element name="quantity">
- <simpleType>
- <restriction base="positiveInteger">
- <maxExclusive value="100" />
- </restriction>
- </simpleType>
- </element>
- <element name="USPrice" type="decimal" />
- <element ref="ipo:comment" minOccurs="0" />
- <element name="shipDate" type="date"
- minOccurs="0" />
- </sequence>
- <attribute name="partNum" type="ipo:SKU"
- use="required" />
- </complexType>
- </element>
- </sequence>
- </complexType>
-
- <simpleType name="SKU">
- <restriction base="string">
- <pattern value="\d{3}-[A-Z]{2}" />
- </restriction>
- </simpleType>
-
- <complexType name="Address">
- <sequence>
- <element name="name" type="string" />
- <element name="street" type="string" />
- <element name="city" type="string" />
- </sequence>
- </complexType>
-
- <complexType name="USAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="state" type="ipo:USState" />
- <element name="zip" type="positiveInteger" />
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UKAddress">
- <complexContent>
- <extension base="ipo:Address">
- <sequence>
- <element name="postcode" type="ipo:UKPostcode" />
- </sequence>
- <attribute name="exportCode" type="positiveInteger"
- fixed="1" />
- </extension>
- </complexContent>
- </complexType>
-
- <!-- other Address derivations for more countries -->
-
- <simpleType name="USState">
- <restriction base="string">
- <enumeration value="AK" />
- <enumeration value="AL" />
- <enumeration value="AR" />
- <enumeration value="CA" />
- <enumeration value="PA" />
- <!-- and so on ... -->
- </restriction>
- </simpleType>
-
- <simpleType name="Postcode">
- <restriction base="string">
- <length value="7" fixed="true" />
- </restriction>
- </simpleType>
-
-
- <simpleType name="UKPostcode">
- <restriction base="ipo:Postcode">
- <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
- </restriction>
- </simpleType>
-
-
-
-</schema>
-
diff --git a/branches/sca-equinox/modules/databinding-job/src/test/resources/order.wsdl b/branches/sca-equinox/modules/databinding-job/src/test/resources/order.wsdl deleted file mode 100644 index 913d9e4928..0000000000 --- a/branches/sca-equinox/modules/databinding-job/src/test/resources/order.wsdl +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.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. ---> -<definitions name="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl" - xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns="http://schemas.xmlsoap.org/wsdl/"> - - <types> - <schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:ipo="http://www.example.com/IPO"> - <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/> - <element name="checkOrderStatus"> - <complexType> - <sequence> - <element name="customerId" type="string" /> - <element name="order" type="ipo:PurchaseOrderType" /> - <element name="flag" type="int" /> - </sequence> - </complexType> - </element> - <element name="checkOrderStatusResponse"> - <complexType> - <sequence> - <element name="status" type="string" /> - </sequence> - </complexType> - </element> - <element name="note" type="string" /> - </schema> - </types> - - <message name="CheckOrderStatusInput1"> - <part name="body" element="xsd1:checkOrderStatus" /> - </message> - - <message name="CheckOrderStatusOutput1"> - <part name="body" element="xsd1:checkOrderStatusResponse" /> - </message> - - <message name="CheckOrderStatusInput2"> - <part name="p1" element="xsd1:checkOrderStatus" /> - <part name="p2" element="xsd1:note" /> - </message> - - <message name="CheckOrderStatusOutput2"> - <part name="p1" element="xsd1:checkOrderStatusResponse" /> - </message> - - <portType name="OrderPortType"> - <operation name="checkOrderStatus"> - <input message="tns:CheckOrderStatusInput1" /> - <output message="tns:CheckOrderStatusOutput1" /> - </operation> - <operation name="checkOrderStatus2"> - <input message="tns:CheckOrderStatusInput2" /> - <output message="tns:CheckOrderStatusOutput2" /> - </operation> - </portType> - -</definitions>
\ No newline at end of file diff --git a/branches/sca-equinox/modules/databinding-xstream/LICENSE b/branches/sca-equinox/modules/databinding-xstream/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/databinding-xstream/META-INF/README b/branches/sca-equinox/modules/databinding-xstream/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/databinding-xstream/NOTICE b/branches/sca-equinox/modules/databinding-xstream/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/databinding-xstream/pom.xml b/branches/sca-equinox/modules/databinding-xstream/pom.xml deleted file mode 100644 index 34faa5c8bb..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/pom.xml +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-databinding-xstream</artifactId> - <name>Apache Tuscany SCA Data Binding for XStream</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>javax.xml.stream</groupId> - <artifactId>stax-api</artifactId> - <version>1.0-2</version> - </dependency> - - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.3</version> - </dependency> - - <dependency> - <groupId>org.apache.ws.commons.axiom</groupId> - <artifactId>axiom-api</artifactId> - <exclusions> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - </exclusion> - </exclusions> - <version>1.2.5</version> - </dependency> - - <dependency> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - <version>2.8.1</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.apache.ws.commons.axiom</groupId> - <artifactId>axiom-impl</artifactId> - <version>1.2.5</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.1</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.codehaus.woodstox</groupId> - <artifactId>wstx-asl</artifactId> - <version>3.2.1</version> - <scope>runtime</scope> - <exclusions> - <exclusion> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - </exclusion> - </exclusions> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.databinding.xstream</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.databinding.xstream*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java deleted file mode 100644 index 4c57cfe06b..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.databinding.xstream; - -/** - * Wrapper for XObject - * @version $Rev$ $Date$ - */ -public interface MetaObject { - void setName(String name); - - String getName(); - - Class<?> getType(); - - String getID(); - - XObject getInstance(); - //byte[] getByteCode(); -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java deleted file mode 100644 index d223a4db23..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -import java.io.FileNotFoundException; -import java.io.IOException; - -/** - * Implementation of a wrapper for XObject. - * - * @version $Rev$ $Date$ - */ -public class MetaObjectImpl implements MetaObject { - private String obID; - private String name; - private XObject obInstance; - - //private byte[] bytecode = null; - - public MetaObjectImpl() { - this.obID = Utils.uniqueID(); - } - - public MetaObjectImpl(XObject x) { - //this.name = path; - this.obID = Utils.uniqueID(); - this.obInstance = x; - - try { - initMetaOb(this.obInstance.getClass()); - - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - private void initMetaOb(Class<?> class1) throws FileNotFoundException, IOException { - /* - File file = new File(cname); - DataInputStream cstream = new DataInputStream(new FileInputStream(file)); - bytecode = new byte[(int)file.length()]; - cstream.readFully(bytecode); - */ - name = class1.getName(); - - } - - public String getName() { - return this.name; - } - - public void setName(String name) { - this.name = name; - } - - public String getID() { - return obID; - } - - public Class<?> getType() { - - return this.obInstance.getClass(); - } - - public XObject getInstance() { - return this.obInstance; - } - /* - * TODO Add bytecode with Serialization - public byte[] getByteCode() { - return bytecode; - } - */ - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java deleted file mode 100644 index 2b7fa9d506..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomReader; - -/** - * DOM Node --> XStream transformer - * - * @version $Rev$ $Date$ - */ -public class Node2XObject extends BaseTransformer<Node, XObject> implements PullTransformer<Node, XObject> { - - public XObject transform(Node source, TransformationContext context) { - try { - DomReader in = null; - if (source instanceof Document) { - in = new DomReader((Document)source); - } else if (source instanceof Element) { - in = new DomReader((Element)source); - } - XStream xs = new XStream(); - return (XObject)xs.unmarshal(in); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class<Node> getSourceType() { - return Node.class; - } - - @Override - public Class<XObject> getTargetType() { - return XObject.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java deleted file mode 100644 index a465e92e65..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -import java.io.StringWriter; - -import javax.xml.stream.XMLStreamException; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; - -import com.thoughtworks.xstream.XStream; - -/** - * Job DataObject --> AXIOM OMElement transformer - * - * @version $Rev$ $Date$ - */ -public class OMElement2XObject extends BaseTransformer<OMElement, XObject> implements - PullTransformer<OMElement, XObject> { - - public XObject transform(OMElement source, TransformationContext context) { - - XStream xs = new XStream(); - xs.alias("xobject", MetaObjectImpl.class); - MetaObjectImpl mo; - try { - java.io.StringWriter writer = new StringWriter(); - source.serialize(writer); - String w = writer.toString(); - // FIXME: a better way to get eliminate param0 - w = w.replaceAll("param0", "xobject"); - w = w.replaceAll("xmlns=\"\"", ""); - mo = (MetaObjectImpl)xs.fromXML(w.trim()); - return mo.getInstance(); - } catch (XMLStreamException e) { - - e.printStackTrace(); - } - return null; - } - - @Override - public Class<OMElement> getSourceType() { - return OMElement.class; - } - - @Override - public Class<XObject> getTargetType() { - return XObject.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java deleted file mode 100644 index d819975910..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -import java.io.IOException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; - -/** - * Utility methods. - * - * @version $Rev$ $Date$ - */ -public class Utils { - public static String toBase64(byte[] array) { - String code = null; - code = new sun.misc.BASE64Encoder().encode(array); - return code; - } - - public static byte[] fromBase64(String bytecode) { - byte[] dec = null; - try { - dec = new sun.misc.BASE64Decoder().decodeBuffer(bytecode); - } catch (IOException e) { - e.printStackTrace(); - } - return dec; - } - - public static String uniqueID() { - try { - //Initialize SecureRandom - //This is a lengthy operation, to be done only upon - //initialization of the application - SecureRandom prng = SecureRandom.getInstance("SHA1PRNG"); - - //generate a random number - String randomNum = Integer.toString(prng.nextInt()); - - //get its digest - MessageDigest sha = MessageDigest.getInstance("SHA-1"); - byte[] result = sha.digest(randomNum.getBytes()); - return hexEncode(result); - } catch (NoSuchAlgorithmException ex) { - ex.printStackTrace(); - } - return null; - } - - private static String hexEncode(byte[] aInput) { - StringBuffer result = new StringBuffer(); - char[] digits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - for (int idx = 0; idx < aInput.length; ++idx) { - byte b = aInput[idx]; - result.append(digits[(b & 0xf0) >> 4]); - result.append(digits[b & 0x0f]); - } - return result.toString(); - } - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java deleted file mode 100644 index 21112efcf5..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -/** - * Marker interface for XStream Serializable objects - * - * @version $Rev$ $Date$ - */ -// FIXME: Why do we require a marker interface? -public interface XObject { -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java deleted file mode 100644 index 98e0e69f9b..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.impl.DOMHelper; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomWriter; - -/** - * XObject --> DOM Node transformer - * - * @version $Rev$ $Date$ - */ -public class XObject2Node extends BaseTransformer<XObject, Node> implements PullTransformer<XObject, Node> { - - public Node transform(XObject source, TransformationContext context) { - try { - MetaObject mj = new MetaObjectImpl(source); - Document root = DOMHelper.newDocument(); - DomWriter out = new DomWriter(DOMHelper.newDocument()); - XStream xs = new XStream(); - xs.alias("xobject", mj.getClass()); - xs.marshal(source, out); - DOMHelper.adjustElementName(context, root.getDocumentElement()); - return root; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class<XObject> getSourceType() { - return XObject.class; - } - - @Override - public Class<Node> getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java deleted file mode 100644 index ff4305491a..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.databinding.xstream; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import com.thoughtworks.xstream.XStream; - -/** - * XObject --> AXIOM OMElement transformer - * - * @version $Rev$ $Date$ - */ -public class XObject2OMElement extends BaseTransformer<XObject, OMElement> implements - PullTransformer<XObject, OMElement> { - - public OMElement transform(XObject source, TransformationContext context) { - MetaObject mj = new MetaObjectImpl(source); - OMElement element = null; - ByteArrayOutputStream out = new ByteArrayOutputStream(); - XStream xs = new XStream(); - xs.alias("xobject", mj.getClass()); - xs.toXML(mj, out); - /* TODO: Maybe a base64 conversion...? or not? - * ie. new ByteArrayInputStream(Utils.toBase64(out.toByteArray()).getBytes()) - */ - try { - // what's better this one: - StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(out.toByteArray())); - // or this one: - // StaAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(Utils.toBase64(out.toByteArray()).getBytes())) - element = builder.getDocumentElement(); - adjustElementName(context, element); - } catch (Exception e) { - throw new TransformationException(e); - } - return element; - - } - - private static void adjustElementName(TransformationContext context, OMElement element) { - if (context != null) { - DataType dataType = context.getTargetDataType(); - Object logical = dataType == null ? null : dataType.getLogical(); - if (!(logical instanceof XMLType)) { - return; - } - XMLType xmlType = (XMLType)logical; - if (xmlType.isElement() && !xmlType.getElementName().equals(element.getQName())) { - // FIXME:: Throw exception or switch to the new Element? - OMFactory factory = OMAbstractFactory.getOMFactory(); - QName name = xmlType.getElementName(); - OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix()); - element.setNamespace(namespace); - element.setLocalName(name.getLocalPart()); - } - } - } - - @Override - public Class<XObject> getSourceType() { - return XObject.class; - } - - @Override - public Class<OMElement> getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java b/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java deleted file mode 100644 index 6e5ac29423..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.databinding.xstream; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; - -/** - * DataBinding for Jobs - * - * @version $Rev$ $Date$ - */ -public class XObjectDataBinding extends BaseDataBinding { - - public static final String NAME = XObject.class.getName(); - public static final String[] ALIASES = new String[] {"xobject"}; - - public XObjectDataBinding() { - super(NAME, ALIASES, XObject.class); - } - -} diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/branches/sca-equinox/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index f501ef2dc6..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding +++ /dev/null @@ -1,20 +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.
-
-# implementation classes for the databindings
-org.apache.tuscany.sca.databinding.xstream.XObjectDataBinding;type=org.apache.tuscany.sca.databinding.xstream.XObject,name=xobject
-
diff --git a/branches/sca-equinox/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/branches/sca-equinox/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index a733ad7b7d..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /dev/null @@ -1,18 +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.
-org.apache.tuscany.sca.databinding.xstream.XObject2OMElement;source=org.apache.tuscany.sca.databinding.xstream.XObject,target=org.apache.axiom.om.OMElement,weight=10
-org.apache.tuscany.sca.databinding.xstream.OMElement2XObject;source=org.apache.axiom.om.OMElement,target=org.apache.tuscany.sca.databinding.xstream.XObject,weight=10
diff --git a/branches/sca-equinox/modules/databinding-xstream/src/test/resources/ipo.xml b/branches/sca-equinox/modules/databinding-xstream/src/test/resources/ipo.xml deleted file mode 100644 index 1699538d62..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/test/resources/ipo.xml +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.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. ---> -<ipo:purchaseOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ipo="http://www.example.com/IPO" - xsi:schemaLocation="http://www.example.com/IPO ipo.xsd" orderDate="1999-12-01"> - - <shipTo exportCode="1" xsi:type="ipo:UKAddress"> - <name>Helen Zoe</name> - <street>47 Eden Street</street> - <city>Cambridge</city> - <postcode>CB1 1JR</postcode> - </shipTo> - - <billTo xsi:type="ipo:USAddress"> - <name>Robert Smith</name> - <street>8 Oak Avenue</street> - <city>Old Town</city> - <state>PA</state> - <zip>95819</zip> - </billTo> - - <items> - <item partNum="833-AA"> - <productName>Lapis necklace</productName> - <quantity>1</quantity> - <USPrice>99.95</USPrice> - <ipo:comment>Want this for the holidays</ipo:comment> - <shipDate>1999-12-05</shipDate> - </item> - </items> -</ipo:purchaseOrder> - diff --git a/branches/sca-equinox/modules/databinding-xstream/src/test/resources/ipo.xsd b/branches/sca-equinox/modules/databinding-xstream/src/test/resources/ipo.xsd deleted file mode 100644 index aac7ded180..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/test/resources/ipo.xsd +++ /dev/null @@ -1,132 +0,0 @@ -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> - -<schema targetNamespace="http://www.example.com/IPO" xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:ipo="http://www.example.com/IPO"> - - <annotation> - <documentation xml:lang="en"> - International Purchase order schema for Example.com Copyright 2000 Example.com. All rights reserved. - </documentation> - </annotation> - - - <element name="purchaseOrder" type="ipo:PurchaseOrderType" /> - - <element name="comment" type="string" /> - - <complexType name="PurchaseOrderType"> - <sequence> - <element name="shipTo" type="ipo:Address" /> - <element name="billTo" type="ipo:Address" /> - <element ref="ipo:comment" minOccurs="0" /> - <element name="items" type="ipo:Items" /> - </sequence> - <attribute name="orderDate" type="date" /> - </complexType> - - <complexType name="Items"> - <sequence> - <element name="item" minOccurs="0" maxOccurs="unbounded"> - <complexType> - <sequence> - <element name="productName" type="string" /> - <element name="quantity"> - <simpleType> - <restriction base="positiveInteger"> - <maxExclusive value="100" /> - </restriction> - </simpleType> - </element> - <element name="USPrice" type="decimal" /> - <element ref="ipo:comment" minOccurs="0" /> - <element name="shipDate" type="date" minOccurs="0" /> - </sequence> - <attribute name="partNum" type="ipo:SKU" use="required" /> - </complexType> - </element> - </sequence> - </complexType> - - <simpleType name="SKU"> - <restriction base="string"> - <pattern value="\d{3}-[A-Z]{2}" /> - </restriction> - </simpleType> - - <complexType name="Address"> - <sequence> - <element name="name" type="string" /> - <element name="street" type="string" /> - <element name="city" type="string" /> - </sequence> - </complexType> - - <complexType name="USAddress"> - <complexContent> - <extension base="ipo:Address"> - <sequence> - <element name="state" type="ipo:USState" /> - <element name="zip" type="positiveInteger" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="UKAddress"> - <complexContent> - <extension base="ipo:Address"> - <sequence> - <element name="postcode" type="ipo:UKPostcode" /> - </sequence> - <attribute name="exportCode" type="positiveInteger" fixed="1" /> - </extension> - </complexContent> - </complexType> - - <!-- other Address derivations for more countries --> - - <simpleType name="USState"> - <restriction base="string"> - <enumeration value="AK" /> - <enumeration value="AL" /> - <enumeration value="AR" /> - <enumeration value="CA" /> - <enumeration value="PA" /> - <!-- and so on ... --> - </restriction> - </simpleType> - - <simpleType name="Postcode"> - <restriction base="string"> - <length value="7" fixed="true" /> - </restriction> - </simpleType> - - - <simpleType name="UKPostcode"> - <restriction base="ipo:Postcode"> - <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" /> - </restriction> - </simpleType> - - - -</schema> - diff --git a/branches/sca-equinox/modules/databinding-xstream/src/test/resources/order.wsdl b/branches/sca-equinox/modules/databinding-xstream/src/test/resources/order.wsdl deleted file mode 100644 index 65da5b602a..0000000000 --- a/branches/sca-equinox/modules/databinding-xstream/src/test/resources/order.wsdl +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.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.
--->
-<definitions name="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl"
- xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:ipo="http://www.example.com/IPO">
- <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd" />
- <element name="checkOrderStatus">
- <complexType>
- <sequence>
- <element name="customerId" type="string" />
- <element name="order" type="ipo:PurchaseOrderType" />
- <element name="flag" type="int" />
- </sequence>
- </complexType>
- </element>
- <element name="checkOrderStatusResponse">
- <complexType>
- <sequence>
- <element name="status" type="string" />
- </sequence>
- </complexType>
- </element>
- <element name="note" type="string" />
- </schema>
- </types>
-
- <message name="CheckOrderStatusInput1">
- <part name="body" element="xsd1:checkOrderStatus" />
- </message>
-
- <message name="CheckOrderStatusOutput1">
- <part name="body" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <message name="CheckOrderStatusInput2">
- <part name="p1" element="xsd1:checkOrderStatus" />
- <part name="p2" element="xsd1:note" />
- </message>
-
- <message name="CheckOrderStatusOutput2">
- <part name="p1" element="xsd1:checkOrderStatusResponse" />
- </message>
-
- <portType name="OrderPortType">
- <operation name="checkOrderStatus">
- <input message="tns:CheckOrderStatusInput1" />
- <output message="tns:CheckOrderStatusOutput1" />
- </operation>
- <operation name="checkOrderStatus2">
- <input message="tns:CheckOrderStatusInput2" />
- <output message="tns:CheckOrderStatusOutput2" />
- </operation>
- </portType>
-
-</definitions>
\ No newline at end of file diff --git a/branches/sca-equinox/modules/extensibility-osgi/LICENSE b/branches/sca-equinox/modules/extensibility-osgi/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/extensibility-osgi/META-INF/README b/branches/sca-equinox/modules/extensibility-osgi/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/extensibility-osgi/NOTICE b/branches/sca-equinox/modules/extensibility-osgi/NOTICE deleted file mode 100644 index 65c52d01c7..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/NOTICE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/extensibility-osgi/pom.xml b/branches/sca-equinox/modules/extensibility-osgi/pom.xml deleted file mode 100644 index 7667ca918f..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/pom.xml +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-extensibility-osgi</artifactId> - <name>Apache Tuscany SCA Extensibility for OSGi</name> - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-extensibility</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.core</artifactId> - <version>1.0.1</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.framework</artifactId> - <version>1.0.4</version> - <scope>test</scope> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.extensibility.osgi</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Bundle-Activator>org.apache.tuscany.sca.extensibility.osgi.OSGiServiceDiscoveryActivator</Bundle-Activator> - <!-- This bundle will be the gateway to all exported packages --> - <DynamicImport-Package>*</DynamicImport-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> -</project> diff --git a/branches/sca-equinox/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java b/branches/sca-equinox/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java deleted file mode 100644 index a536684b2e..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java +++ /dev/null @@ -1,359 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.extensibility.osgi; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.security.SecureClassLoader; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscoverer; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; - -/** - * The ServiceDiscoverer that find META-INF/services/... in installed bundles - */ -public class OSGiServiceDiscoverer implements ServiceDiscoverer { - private static final Logger logger = Logger.getLogger(OSGiServiceDiscoverer.class.getName()); - private BundleContext context; - private ClassLoader classLoader; - - public OSGiServiceDiscoverer(BundleContext context) { - this.context = context; - this.classLoader = new ClassLoaderImpl(); - } - - /** - * This class loader provides resource access to META-INF/services/... which is used by - * many frameworks. OSGi Import-Package and DynmaicImport-Package headers do not support - * split packages. Another option is to use Require-Bundle header. We can collect the list - * of bundles and add them as required bundles to a special gateway bundle. - */ - public class ClassLoaderImpl extends SecureClassLoader { - - public ClassLoaderImpl() { - super(OSGiServiceDiscoverer.class.getClassLoader()); - } - - /** - * Open a back-door to expose the META-INF/services resources - */ - @Override - protected URL findResource(String name) { - int index = name.lastIndexOf('/'); - if (index == -1) { - return null; - } - String path = name.substring(0, index); - if (path.startsWith("/")) { - path = path.substring(1); - } - - if (!path.startsWith("META-INF/services")) { - return null; - } - - for (Bundle bundle : context.getBundles()) { - URL url = bundle.getEntry(name); - if (url != null) { - return url; - } - } - - return null; - } - - /** - * Open a back-door to expose the META-INF/services resources - */ - @Override - protected Enumeration<URL> findResources(String name) throws IOException { - int index = name.lastIndexOf('/'); - if (index == -1) { - return null; - } - String path = name.substring(0, index); - String file = name.substring(index + 1); - if (path.startsWith("/")) { - path = path.substring(1); - } - - if (!path.startsWith("META-INF/services")) { - return null; - } - - Set<URL> urlSet = new HashSet<URL>(); - - for (Bundle bundle : context.getBundles()) { - Enumeration<URL> urls = bundle.findEntries(path, file, false); - if (urls != null) { - urlSet.addAll(Collections.list(urls)); - } - } - return Collections.enumeration(urlSet); - } - - } - - public static class ServiceDeclarationImpl implements ServiceDeclaration { - private Bundle bundle; - private URL url; - private String className; - private Class<?> javaClass; - private Map<String, String> attributes; - - public ServiceDeclarationImpl(Bundle bundle, URL url, String className, Map<String, String> attributes) { - super(); - this.bundle = bundle; - this.url = url; - this.className = className; - this.attributes = attributes; - } - - public Map<String, String> getAttributes() { - return attributes; - } - - public String getClassName() { - return className; - } - - public Class<?> loadClass() throws ClassNotFoundException { - if (className == null) { - return null; - } - if (javaClass == null) { - javaClass = loadClass(className); - } - return javaClass; - } - - public Class<?> loadClass(String className) throws ClassNotFoundException { - try { - return bundle.loadClass(className); - } catch (ClassNotFoundException e) { - logger.severe(e.getMessage() + ": " + OSGiServiceDiscoverer.toString(bundle)); - throw e; - } - } - - public URL getLocation() { - return url; - } - - public URL getResource(final String name) { - return AccessController.doPrivileged(new PrivilegedAction<URL>() { - public URL run() { - return bundle.getResource(name); - } - }); - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append("Bundle: ").append(OSGiServiceDiscoverer.toString(bundle)); - sb.append(" Resource: ").append(url); - sb.append(" Attributes: ").append(attributes); - return sb.toString(); - } - - } - - public static String toString(Bundle b) { - StringBuffer sb = new StringBuffer(); - sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName()); - int s = b.getState(); - if ((s & Bundle.UNINSTALLED) != 0) { - sb.append(" UNINSTALLED"); - } - if ((s & Bundle.INSTALLED) != 0) { - sb.append(" INSTALLED"); - } - if ((s & Bundle.RESOLVED) != 0) { - sb.append(" RESOLVED"); - } - if ((s & Bundle.STARTING) != 0) { - sb.append(" STARTING"); - } - if ((s & Bundle.STOPPING) != 0) { - sb.append(" STOPPING"); - } - if ((s & Bundle.ACTIVE) != 0) { - sb.append(" ACTIVE"); - } - return sb.toString(); - - } - - /** - * Parse a service declaration in the form class;attr=value,attr=value and - * return a map of attributes - * - * @param declaration - * @return a map of attributes - */ - protected static Map<String, String> parseServiceDeclaration(String declaration) { - Map<String, String> attributes = new HashMap<String, String>(); - int index = declaration.indexOf(';'); - if (index != -1) { - attributes.put("class", declaration.substring(0, index).trim()); - declaration = declaration.substring(index); - } else { - int j = declaration.indexOf('='); - if (j == -1) { - attributes.put("class", declaration.trim()); - return attributes; - } else { - declaration = ";" + declaration; - } - } - StringTokenizer tokens = new StringTokenizer(declaration); - for (; tokens.hasMoreTokens();) { - String key = tokens.nextToken("=").substring(1).trim(); - if (key == null) - break; - String value = tokens.nextToken(",").substring(1).trim(); - if (value == null) - break; - attributes.put(key, value); - } - return attributes; - } - - public BundleContext getBundleContext() { - return context; - } - - /** - * This class loader can be set as the thread context class loader for non-OSGi code - * @return - */ - public ClassLoader getContextClassLoader() { - return classLoader; - } - - @SuppressWarnings("unchecked") - public Set<ServiceDeclaration> discover(String serviceName, boolean firstOnly) { - boolean debug = logger.isLoggable(Level.FINE); - Set<ServiceDeclaration> descriptors = new HashSet<ServiceDeclaration>(); - - serviceName = "META-INF/services/" + serviceName; - - // int index = serviceName.lastIndexOf('/'); - // String path = serviceName.substring(0, index); - // String file = serviceName.substring(index + 1); - - // long start = System.currentTimeMillis(); - try { - for (Bundle bundle : context.getBundles()) { - // Enumeration<URL> urls = bundle.findEntries(path, file, false); // This is expensive - final URL url = bundle.getEntry(serviceName); - if (url == null) { - continue; - } - - if (debug) { - logger.fine("Reading service provider file: " + url.toExternalForm()); - } - try { - // Allow privileged access to open URL stream. Add FilePermission to added to security - // policy file. - InputStream is; - try { - is = AccessController.doPrivileged(new PrivilegedExceptionAction<InputStream>() { - public InputStream run() throws IOException { - return url.openStream(); - } - }); - } catch (PrivilegedActionException e) { - throw (IOException)e.getException(); - } - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(is)); - int count = 0; - while (true) { - String line = reader.readLine(); - if (line == null) - break; - line = line.trim(); - if (!line.startsWith("#") && !"".equals(line)) { - String reg = line.trim(); - if (debug) { - logger.fine("Registering service provider: " + reg); - } - - Map<String, String> attributes = parseServiceDeclaration(reg); - String className = attributes.get("class"); - if (className == null) { - // Add a unique class name to prevent equals() from returning true - className = "_class_" + count; - count++; - } - ServiceDeclarationImpl descriptor = - new ServiceDeclarationImpl(bundle, url, className, attributes); - descriptors.add(descriptor); - if (firstOnly) { - return descriptors; - } - } - } - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - // Ignore - } - } - } - } catch (IOException e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - } finally { -// long end = System.currentTimeMillis(); -// if (true) { -// logger.info("Duration: " + (end - start) + " ms"); -// } - } - return descriptors; - - } - -} diff --git a/branches/sca-equinox/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java b/branches/sca-equinox/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java deleted file mode 100644 index 208ef1a74f..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.extensibility.osgi; - -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; - -/** - * The Bundle Activator that creates the OSGi-based service discoverer - */ -public class OSGiServiceDiscoveryActivator implements BundleActivator { - private static BundleContext bundleContext; - - public void start(BundleContext context) throws Exception { - if (bundleContext == null) { - bundleContext = context; - OSGiServiceDiscoverer discoverer = new OSGiServiceDiscoverer(bundleContext); - ServiceDiscovery.getInstance().setServiceDiscoverer(discoverer); - } - } - - public void stop(BundleContext context) throws Exception { - bundleContext = null; - // ServiceDiscovery.setServiceDiscoverer(discoverer); - } - -} diff --git a/branches/sca-equinox/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java b/branches/sca-equinox/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java deleted file mode 100644 index aba7e62637..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.extensibility.osgi; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import junit.framework.Assert; - -import org.apache.felix.framework.Felix; -import org.apache.felix.framework.cache.BundleCache; -import org.apache.felix.framework.util.FelixConstants; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.Constants; - -/** - * - */ -public class OSGiServiceDiscovererTestCase { - private static Felix felix; - private static OSGiServiceDiscoverer discoverer; - private static Bundle testBundle; - - /** - * @throws java.lang.Exception - */ - @BeforeClass - public static void setUpBeforeClass() throws Exception { - // Create a configuration property map. - Map<String, String> configMap = new HashMap<String, String>(); - // Configure the Felix instance to be embedded. - configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true"); - // Add core OSGi packages to be exported from the class path - // via the system bundle. - configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, - "org.osgi.framework; version=1.3.0," + "org.osgi.service.packageadmin; version=1.2.0," - + "org.osgi.service.startlevel; version=1.0.0," - + "org.osgi.service.url; version=1.0.0"); - // Explicitly specify the directory to use for caching bundles. - configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "target/.felix"); - List<BundleActivator> list = new ArrayList<BundleActivator>(); - - // Now create an instance of the framework with - // our configuration properties and activator. - felix = new Felix(configMap, list); - - // Now start Felix instance. - felix.start(); - BundleContext context = felix.getBundleContext(); - InputStream is = OSGiServiceDiscovererTestCase.class.getResourceAsStream("/test-bundle.jar"); - testBundle = context.installBundle("test-bundle", is); - is.close(); - discoverer = new OSGiServiceDiscoverer(context); - } - - /** - * @throws java.lang.Exception - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - if (felix != null) { - // Uninstall the bundle to clean up the cache - testBundle.uninstall(); - felix.stop(); - } - } - - @Test - public void testDiscovery() { - Set<ServiceDeclaration> descriptors = - discoverer.discover("test.TestService", false); - Assert.assertEquals(1, descriptors.size()); - descriptors = discoverer.discover("notthere", false); - Assert.assertEquals(0, descriptors.size()); - } - - @Test - public void testDiscoveryFirst() { - Set<ServiceDeclaration> descriptors = - discoverer.discover("test.TestService", true); - Assert.assertEquals(1, descriptors.size()); - descriptors = discoverer.discover("notthere", true); - Assert.assertEquals(0, descriptors.size()); - } - - @Test - public void testClassLoader () throws IOException { - Enumeration<URL> resources = discoverer.getContextClassLoader().getResources("META-INF/services/test.TestService"); - List<URL> list = Collections.list(resources); - Assert.assertEquals(1, list.size()); - } -} diff --git a/branches/sca-equinox/modules/extensibility-osgi/src/test/resources/test-bundle.jar b/branches/sca-equinox/modules/extensibility-osgi/src/test/resources/test-bundle.jar Binary files differdeleted file mode 100644 index afee051f61..0000000000 --- a/branches/sca-equinox/modules/extensibility-osgi/src/test/resources/test-bundle.jar +++ /dev/null diff --git a/branches/sca-equinox/modules/host-osgi/LICENSE b/branches/sca-equinox/modules/host-osgi/LICENSE deleted file mode 100644 index 4b5ab74408..0000000000 --- a/branches/sca-equinox/modules/host-osgi/LICENSE +++ /dev/null @@ -1,251 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -=============================================================================================================== - -Apache Tuscany SCA for Java Subcomponents -=========================================: - -The Tuscany SCA for Java release includes a number of subcomponents with -separate copyright notices and license terms. Your use of the source -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -================================================================================================================= - -This module implementation-script temporarily includes one file under the following BSD license: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - - Neither the name of the Sun Microsystems, Inc. nor the names of - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -================================================================================================================= diff --git a/branches/sca-equinox/modules/host-osgi/META-INF/README b/branches/sca-equinox/modules/host-osgi/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/host-osgi/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/host-osgi/NOTICE b/branches/sca-equinox/modules/host-osgi/NOTICE deleted file mode 100644 index a3c65715e5..0000000000 --- a/branches/sca-equinox/modules/host-osgi/NOTICE +++ /dev/null @@ -1,17 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -Unless otherwise indicated, all distribution made available by the Apache Software Foundation -is provided to you under the terms and conditions of the Apache License Version 2.0 ("AL"). -A copy of the AL is provided with this distribution as the LICENSE file present in the -root directory, and is also available at http://www.apache.org/licenses/. - -This product also includes software under the BSD license -(see the LICENSE file contained in this distribution), with -the following copyright: - -Copyright (c) 2006, Sun Microsystems, Inc. -All rights reserved. diff --git a/branches/sca-equinox/modules/host-osgi/pom.xml b/branches/sca-equinox/modules/host-osgi/pom.xml deleted file mode 100644 index f68a96c57c..0000000000 --- a/branches/sca-equinox/modules/host-osgi/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-host-osgi</artifactId> - <name>Apache Tuscany Host for OSGi</name> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.easymock</groupId> - <artifactId>easymock</artifactId> - <version>2.2</version> - <scope>test</scope> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.host.osgi</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.host.osgi*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-equinox/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index 8bab603184..0000000000 --- a/branches/sca-equinox/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,18 +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.
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.host.osgi.XxxxModuleActivator
diff --git a/branches/sca-equinox/modules/implementation-jee/LICENSE b/branches/sca-equinox/modules/implementation-jee/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/implementation-jee/META-INF/README b/branches/sca-equinox/modules/implementation-jee/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/implementation-jee/NOTICE b/branches/sca-equinox/modules/implementation-jee/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/implementation-jee/pom.xml b/branches/sca-equinox/modules/implementation-jee/pom.xml deleted file mode 100644 index 9ea51f936f..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/pom.xml +++ /dev/null @@ -1,84 +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. ---> - -<!-- $Rev$ $Date$ --> - -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-implementation-jee</artifactId> - <name>Apache Tuscany SCA JEE Implementation Model</name> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.jee</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.implementation.jee*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java b/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java deleted file mode 100644 index 90b71223b4..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.jee; - -import org.apache.tuscany.sca.assembly.Implementation; - -/** - * The model representing a JEE implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -public interface JEEImplementation extends Implementation { - - /** - * Returns the archive. - * - * @return the archive - */ - String getArchive(); - - /** - * Sets the archive. - * - * @param archive - */ - void setArchive(String archive); -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java b/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java deleted file mode 100644 index 331c53a596..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.jee; - -/** - * Factory for the JEE implementation model. - * - * @version $Rev$ $Date$ - */ -public interface JEEImplementationFactory { - - /** - * Creates a new JEE implementation. - * - * @return a new JEE implementation - */ - JEEImplementation createJEEImplementation(); - -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java b/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java deleted file mode 100644 index b82571dc58..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.jee.impl; - -import org.apache.tuscany.sca.implementation.jee.JEEImplementation; -import org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory; - -/** - * Factory for the JEE implementation model. - * - * @version $Rev$ $Date$ - */ -public class JEEImplementationFactoryImpl implements JEEImplementationFactory { - - public JEEImplementationFactoryImpl() { - } - - public JEEImplementation createJEEImplementation() { - return new JEEImplementationImpl(); - } -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java b/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java deleted file mode 100644 index 8492befda5..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.jee.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.implementation.jee.JEEImplementation; - -/** - * The model representing a JEE implementation in an SCA assembly model. - * - * @version $Rev$ $Date$ - */ -class JEEImplementationImpl implements JEEImplementation { - - private List<Property> properties = new ArrayList<Property>(); - private List<Service> services = new ArrayList<Service>(); - private List<Reference> references = new ArrayList<Reference>(); - private String uri; - private boolean unresolved; - - private String archive; - - /** - * Constructs a new JEE implementation. - */ - JEEImplementationImpl() { - } - - public ConstrainingType getConstrainingType() { - // The JEE implementation does not support constrainingTypes - return null; - } - - public List<Property> getProperties() { - return properties; - } - - public List<Service> getServices() { - return services; - } - - public List<Reference> getReferences() { - return references; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - // The JEE implementation does not support constrainingTypes - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public String getArchive() { - return archive; - } - - public void setArchive(String archive) { - this.archive = archive; - } -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java b/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java deleted file mode 100644 index 984cd1a5fa..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.jee.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.sca.implementation.jee.JEEImplementation; -import org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * Implements a StAX artifact processor for JEE implementations. - * - * @version $Rev$ $Date$ - */ -public class JEEImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<JEEImplementation> { - private static final QName IMPLEMENTATION_JEE = new QName(Constants.SCA10_NS, "implementation.jee"); - - private AssemblyFactory assemblyFactory; - private JEEImplementationFactory implementationFactory; - private Monitor monitor; - - public JEEImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.implementationFactory = modelFactories.getFactory(JEEImplementationFactory.class); - this.monitor = monitor; - } - - public QName getArtifactType() { - // Returns the QName of the XML element processed by this processor - return IMPLEMENTATION_JEE; - } - - public Class<JEEImplementation> getModelType() { - // Returns the type of model processed by this processor - return JEEImplementation.class; - } - - public JEEImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - - // Read an <implementation.jee> element - JEEImplementation implementation = implementationFactory.createJEEImplementation(); - implementation.setUnresolved(true); - - // Read the archive attribute - String archive = getString(reader, "archive"); - if (archive != null) { - implementation.setArchive(archive); - - // Set the URI of the component type - implementation.setURI(archive); - } - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && IMPLEMENTATION_JEE.equals(reader.getName())) { - break; - } - } - - return implementation; - } - - public void resolve(JEEImplementation implementation, ModelResolver resolver) throws ContributionResolveException { - // Resolve the component type - String uri = implementation.getURI(); - if (uri != null) { - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setURI(uri + ".componentType"); - componentType = resolver.resolveModel(ComponentType.class, componentType); - if (!componentType.isUnresolved()) { - // Initialize the implementation's services, references and properties - implementation.getServices().addAll(componentType.getServices()); - implementation.getReferences().addAll(componentType.getReferences()); - implementation.getProperties().addAll(componentType.getProperties()); - } - } - implementation.setUnresolved(false); - } - - public void write(JEEImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write <implementation.jee> - writeStart(writer, IMPLEMENTATION_JEE.getNamespaceURI(), IMPLEMENTATION_JEE.getLocalPart(), - new XAttr("archive", implementation.getArchive())); - - writeEnd(writer); - } -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-equinox/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 06b5f2198b..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,21 +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$ - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.implementation.jee.xml.JEEImplementationProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#implementation.jee,model=org.apache.tuscany.sca.implementation.jee.JEEImplementation,factory=org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory diff --git a/branches/sca-equinox/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory b/branches/sca-equinox/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory deleted file mode 100644 index dcdfb7dfb5..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory +++ /dev/null @@ -1,21 +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$ - -# Implementation class for model factory -org.apache.tuscany.sca.implementation.jee.impl.JEEImplementationFactoryImpl diff --git a/branches/sca-equinox/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java b/branches/sca-equinox/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java deleted file mode 100644 index 221d077a33..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.jee.xml; - -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.implementation.jee.JEEImplementation; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * Test reading JEE implementations. - * - * @version $Rev$ $Date$ - */ -public class ReadTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor<Object> staxProcessor; - private CompositeBuilder compositeBuilder; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null); - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("TestJEE.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - - compositeBuilder.build(composite); - - assertTrue(((JEEImplementation) composite.getComponents().get(0).getImplementation()).getArchive().equals("myarchive.ear")); - } - -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java b/branches/sca-equinox/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java deleted file mode 100644 index 78849cd22f..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.jee.xml; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; - -/** - * Test reading/write JEE implementations. - * - * @version $Rev$ $Date$ - */ -public class WriteTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private StAXArtifactProcessor<Object> staxProcessor; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - outputFactory = XMLOutputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null); - } - - public void testReadWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("TestJEE.composite"); - Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is)); - assertNotNull(composite); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos)); - - assertTrue(bos.toString().contains("archive=\"myarchive.ear\"")); - - } - -} diff --git a/branches/sca-equinox/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite b/branches/sca-equinox/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite deleted file mode 100644 index ac85b888c4..0000000000 --- a/branches/sca-equinox/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.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. ---> - -<!-- $Rev$ $Date$ --> - -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://sample/jee" - xmlns:sc="http://sample/composite" - name="TestJEE"> - - <component name="TestJEE"> - <implementation.jee archive="myarchive.ear"/> - </component> -</composite> diff --git a/branches/sca-equinox/modules/implementation-notification/LICENSE b/branches/sca-equinox/modules/implementation-notification/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/implementation-notification/META-INF/README b/branches/sca-equinox/modules/implementation-notification/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/implementation-notification/NOTICE b/branches/sca-equinox/modules/implementation-notification/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/implementation-notification/pom.xml b/branches/sca-equinox/modules/implementation-notification/pom.xml deleted file mode 100644 index 505db519c5..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/pom.xml +++ /dev/null @@ -1,110 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-implementation-notification</artifactId>
- <name>Apache Tuscany SCA Notification Implementation Extension</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.notification</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.notification*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java deleted file mode 100644 index 3f79ca71e5..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.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 org.apache.tuscany.sca.implementation.notification;
-
-
-/**
- * A default factory for the Notification implementation model.
- *
- * @version $Rev$ $Date$
- */
-public class DefaultNotificationImplementationFactory implements NotificationImplementationFactory {
-
- public NotificationImplementationImpl createNotificationImplementation() {
- return new NotificationImplementationImpl();
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java deleted file mode 100644 index 6941a0b5f2..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java +++ /dev/null @@ -1,100 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import java.util.Map;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ImmutableMessage implements Message {
-
- public <T> T getBody() {
- return null;
- }
-
- public EndpointReference getFrom() {
- return null;
- }
-
- public Object getMessageID() {
- return null;
- }
-
- public EndpointReference getTo() {
- return null;
- }
-
- public RuntimeWire getWire() {
- return null;
- }
-
- public boolean isFault() {
- return false;
- }
-
- public <T> void setBody(T arg0) {
- throw new UnsupportedOperationException();
- }
-
- public <T> void setFaultBody(T arg0) {
- throw new UnsupportedOperationException();
- }
-
- public void setFrom(EndpointReference arg0) {
- throw new UnsupportedOperationException();
- }
-
- public void setMessageID(Object arg0) {
- throw new UnsupportedOperationException();
- }
-
- public void setTo(EndpointReference arg0) {
- throw new UnsupportedOperationException();
- }
-
- public Operation getOperation() {
- return null;
- }
-
- public void setOperation(Operation op) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @see org.apache.tuscany.sca.invocation.Message#getReplyTo()
- */
- public EndpointReference getReplyTo() {
- return null;
- }
-
- public Map<String, Object> getQoSContext() {
- return null;
- }
-
- public Map<String, Object> getHeader() {
- return null;
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java deleted file mode 100644 index a2e35c5cb6..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java +++ /dev/null @@ -1,112 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * Turns invoke into remote message fan-out
- *
- * @version $Rev$ $Date$
- */
-public class NotificationComponentInvoker implements Invoker {
-
- private static final Message RESPONSE = new ImmutableMessage();
- private List<InvocationChain> subscriberInvocationChains;
- private Operation operation;
- private RuntimeComponent component;
-
- public NotificationComponentInvoker(Operation operation, RuntimeComponent component) {
- this.subscriberInvocationChains = null;
- this.operation = operation;
- this.component = component;
- }
-
- public Message invoke(Message msg) {
- addSubscriberInvocationChains();
-
- // REVIEW Should this be done in separate thread(s)?
- // REVIEW Should separate copies of message be used?
- Object msgBody = msg.getBody();
-
- for (InvocationChain subscriberInvocationChain : subscriberInvocationChains) {
- Invoker chainInvoker = subscriberInvocationChain.getHeadInvoker();
- msg.setBody(msgBody);
- chainInvoker.invoke(msg);
- }
-
- return RESPONSE;
- }
-
- private void addSubscriberInvocationChains() {
- if (subscriberInvocationChains == null) {
- subscriberInvocationChains = new ArrayList<InvocationChain>();
- for (ComponentReference reference : component.getReferences()) {
- if (reference.getName().indexOf("$self$") >= 0) {
- continue;
- }
- RuntimeComponentReference rtCompRef = null;
- if (reference instanceof RuntimeComponentReference) {
- rtCompRef = (RuntimeComponentReference)reference;
- }
- else {
- throw new RuntimeException("Need a runtime component reference");
- }
- for(RuntimeWire wire : rtCompRef.getRuntimeWires()) {
- // This is much less efficient now !!
- List<InvocationChain> chains = wire.getInvocationChains();
- InvocationChain chain = getInvocationChain(chains, operation);
- subscriberInvocationChains.add(chain);
- }
- }
- }
- }
-
- private InvocationChain getInvocationChain(List<InvocationChain> chains, Operation operation) {
- InvocationChain chain = null;
- for (InvocationChain ch : chains) {
- if (ch.getTargetOperation().equals(operation)) {
- chain = ch;
- break;
- }
- }
- if (chain == null) {
- for (InvocationChain ch : chains) {
- if (ch.getTargetOperation().getName().equals(operation.getName())) {
- chain = ch;
- break;
- }
- }
- if (chain == null) {
- throw new RuntimeException("Can't find a compatible chain");
- }
- }
- return chain;
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java deleted file mode 100644 index cea7038e9c..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java +++ /dev/null @@ -1,27 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface NotificationImplementationFactory {
-
- NotificationImplementationImpl createNotificationImplementation();
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java deleted file mode 100644 index 594bec75b5..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java +++ /dev/null @@ -1,96 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.impl.ImplementationImpl;
-
-
-/**
- * Model object for a Notification implementation.
- *
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationImpl extends ImplementationImpl implements Implementation {
-
- private String componentTypeName;
- private String implementationType;
- private ComponentType componentType;
-
-
- public NotificationImplementationImpl() {
- // Without this, the loader's resolve is not called
- setUnresolved(true);
- }
-
- public String getComponentTypeName() {
- return componentTypeName;
- }
-
- public void setComponentTypeName(String componentTypeName) {
- this.componentTypeName = componentTypeName;
- }
-
- public String getImplementationType() {
- return implementationType;
- }
-
- public void setImplementationType(String implementationType) {
- this.implementationType = implementationType;
- }
-
- public ComponentType getComponentType() {
- return componentType;
- }
-
- public void setComponentType(ComponentType componentType) {
- this.componentType = componentType;
- }
-
- @Override
- public List<Service> getServices() {
- return componentType.getServices();
- }
-
- @Override
- public List<Reference> getReferences() {
- return componentType.getReferences();
- }
-
- @Override
- public int hashCode() {
- return String.valueOf(getComponentTypeName()).hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
- else if (obj instanceof NotificationImplementationImpl &&
- getComponentTypeName().equals(((NotificationImplementationImpl)obj).getComponentTypeName()))
- return true;
- else
- return false;
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java deleted file mode 100644 index c8b55c7caa..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java +++ /dev/null @@ -1,99 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-
-/**
- * Loader for handling Notification <implementation.notification> elements.
- *
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationProcessor implements StAXArtifactProcessor<NotificationImplementationImpl> {
-
- protected static final QName IMPLEMENTATION_NOTIFICATION =
- new QName(Constants.SCA10_TUSCANY_NS, "implementation.notification");
-
- private NotificationImplementationFactory implementationFactory;
-
- public NotificationImplementationProcessor(NotificationImplementationFactory implementationFactory) {
- this.implementationFactory = implementationFactory;
- }
-
- public QName getArtifactType() {
- return IMPLEMENTATION_NOTIFICATION;
- }
-
- public Class<NotificationImplementationImpl> getModelType() {
- return NotificationImplementationImpl.class;
- }
-
- public NotificationImplementationImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- assert IMPLEMENTATION_NOTIFICATION.equals(reader.getName());
- String componentTypeName = reader.getAttributeValue(null, "name");
- String implementationType = reader.getAttributeValue(null, "type");
-
- NotificationImplementationImpl implementation = implementationFactory.createNotificationImplementation();
- implementation.setComponentTypeName(componentTypeName);
- implementation.setImplementationType(implementationType);
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_NOTIFICATION.equals(reader.getName())) {
- break;
- }
- }
-
- ComponentType componentType = new DefaultAssemblyFactory().createComponentType();
- componentType.setURI(componentTypeName + ".componentType");
- componentType.setUnresolved(true);
- implementation.setComponentType(componentType);
-
- return implementation;
- }
-
- public void resolve(NotificationImplementationImpl impl, ModelResolver resolver) throws ContributionResolveException {
- ComponentType componentType = resolver.resolveModel(ComponentType.class, impl.getComponentType());
-
- if (componentType.isUnresolved()) {
- throw new ContributionResolveException("ComponentType still unresolved");
- }
- impl.setComponentType(componentType);
- impl.setUnresolved(false);
- }
-
- public void write(NotificationImplementationImpl model, XMLStreamWriter outputSource)
- throws ContributionWriteException, XMLStreamException {
-
- //FIXME Implement this method
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java deleted file mode 100644 index e9ea71c1d5..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.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 org.apache.tuscany.sca.implementation.notification;
-
-import org.apache.tuscany.sca.assembly.ComponentService;
-import org.apache.tuscany.sca.interfacedef.InterfaceContract;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationProvider implements ImplementationProvider {
-
- private RuntimeComponent component;
-
- /**
- * Constructs a new Notification implementation provider.
- */
- public NotificationImplementationProvider(RuntimeComponent component, NotificationImplementationImpl implementation) {
- this.component = component;
- }
-
- public Invoker createInvoker(RuntimeComponentService service, Operation operation) {
- NotificationComponentInvoker invoker = new NotificationComponentInvoker(operation, component);
- return invoker;
- }
-
- public boolean supportsOneWayInvocation() {
- return false;
- }
-
- public void start() {
- for (ComponentService service : component.getServices()) {
- if (service.getService() != null) {
- InterfaceContract interfaceContract = service.getService().getInterfaceContract();
- if (interfaceContract instanceof WSDLInterfaceContract) {
- interfaceContract.getInterface().resetDataBinding("org.apache.axiom.om.OMElement");
- }
- }
- }
- }
-
- public void stop() {
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java deleted file mode 100644 index 80785e36e7..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationImplementationProviderFactory implements ImplementationProviderFactory<NotificationImplementationImpl> {
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component,
- NotificationImplementationImpl implementation) {
- return new NotificationImplementationProvider(component, implementation);
- }
-
- public Class<NotificationImplementationImpl> getModelType() {
- return NotificationImplementationImpl.class;
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java b/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java deleted file mode 100644 index 2795619208..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java +++ /dev/null @@ -1,49 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.ModuleActivator;
-import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
-
-/**
- * @version $Rev$ $Date$
- */
-public class NotificationModuleActivator implements ModuleActivator {
-
- private NotificationImplementationProcessor implementationLoader;
-
- public void start(ExtensionPointRegistry registry) {
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-
- implementationLoader = new NotificationImplementationProcessor(new DefaultNotificationImplementationFactory());
- processors.addArtifactProcessor(implementationLoader);
-
- ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class);
- providerFactories.addProviderFactory(new NotificationImplementationProviderFactory());
- }
-
- public void stop(ExtensionPointRegistry registry) {
- StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-
- processors.removeArtifactProcessor(implementationLoader);
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-equinox/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index f8f6975395..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the ExtensionActivator
-org.apache.tuscany.sca.implementation.notification.NotificationModuleActivator
diff --git a/branches/sca-equinox/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java b/branches/sca-equinox/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java deleted file mode 100644 index f9a20edccd..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java +++ /dev/null @@ -1,136 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.ComponentReference;
-import org.apache.tuscany.sca.assembly.SCABinding;
-import org.apache.tuscany.sca.binding.sca.impl.SCABindingFactoryImpl;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Interceptor;
-import org.apache.tuscany.sca.invocation.InvocationChain;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-import org.easymock.EasyMock;
-
-/**
- *
- * @version $Rev$ $Date$
- *
- */
-public class NotificationComponentTestCase extends TestCase {
-
- public void testLocalNotificationComponent() throws Exception {
- try {
- Operation operation = EasyMock.createNiceMock(Operation.class);
- EasyMock.replay(operation);
-
- InvocationChain sub1Chain = EasyMock.createNiceMock(InvocationChain.class);
- EasyMock.expect(sub1Chain.getTargetOperation()).andReturn(operation);
- EasyMock.expect(sub1Chain.getHeadInvoker()).andReturn(new MockInterceptor());
- EasyMock.replay(sub1Chain);
- List<InvocationChain> sub1Chains = new ArrayList<InvocationChain>();
- sub1Chains.add(sub1Chain);
- SCABinding b1 = new SCABindingFactoryImpl().createSCABinding();
- EndpointReference epr1 = EasyMock.createNiceMock(EndpointReference.class);
- EasyMock.expect(epr1.getURI()).andReturn("wire1Target");
- EasyMock.expect(epr1.getBinding()).andReturn(b1);
- EasyMock.replay(epr1);
- RuntimeWire sub1Wire = EasyMock.createNiceMock(RuntimeWire.class);
- EasyMock.expect(sub1Wire.getInvocationChains()).andReturn(sub1Chains);
- EasyMock.expect(sub1Wire.getTarget()).andReturn(epr1).anyTimes();
- EasyMock.replay(sub1Wire);
- ArrayList<RuntimeWire> rtWires1 = new ArrayList<RuntimeWire>();
- rtWires1.add(sub1Wire);
- RuntimeComponentReference rtCompRef1 = EasyMock.createNiceMock(RuntimeComponentReference.class);
- EasyMock.expect(rtCompRef1.getName()).andReturn("sub1Reference");
- EasyMock.expect(rtCompRef1.getRuntimeWires()).andReturn(rtWires1);
- EasyMock.replay(rtCompRef1);
-
- InvocationChain sub2Chain = EasyMock.createNiceMock(InvocationChain.class);
- EasyMock.expect(sub2Chain.getTargetOperation()).andReturn(operation);
- EasyMock.expect(sub2Chain.getHeadInvoker()).andReturn(new MockInterceptor());
- EasyMock.replay(sub2Chain);
- List<InvocationChain> sub2Chains = new ArrayList<InvocationChain>();
- sub2Chains.add(sub2Chain);
- SCABinding b2 = new SCABindingFactoryImpl().createSCABinding();
- EndpointReference epr2 = EasyMock.createNiceMock(EndpointReference.class);
- EasyMock.expect(epr2.getURI()).andReturn("wire2Target");
- EasyMock.expect(epr2.getBinding()).andReturn(b2);
- EasyMock.replay(epr2);
- RuntimeWire sub2Wire = EasyMock.createNiceMock(RuntimeWire.class);
- EasyMock.expect(sub2Wire.getInvocationChains()).andReturn(sub2Chains);
- EasyMock.expect(sub2Wire.getTarget()).andReturn(epr2).anyTimes();
- EasyMock.replay(sub2Wire);
- ArrayList<RuntimeWire> rtWires2 = new ArrayList<RuntimeWire>();
- rtWires2.add(sub2Wire);
- RuntimeComponentReference rtCompRef2 = EasyMock.createNiceMock(RuntimeComponentReference.class);
- EasyMock.expect(rtCompRef2.getName()).andReturn("sub2Reference");
- EasyMock.expect(rtCompRef2.getRuntimeWires()).andReturn(rtWires2);
- EasyMock.replay(rtCompRef2);
-
- ArrayList<ComponentReference> references = new ArrayList<ComponentReference>();
- references.add(rtCompRef1);
- references.add(rtCompRef2);
- RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class);
- EasyMock.expect(component.getName()).andReturn("LocalNotificationComponentTest");
- EasyMock.expect(component.getReferences()).andReturn(references);
- EasyMock.replay(component);
-
- Invoker localNotificationInvoker = new NotificationComponentInvoker(operation, component);
-
- Message msg = EasyMock.createNiceMock(Message.class);
- EasyMock.expect(msg.getBody()).andReturn("msg").times(3); // once per sub int + once in notif target invoker
- EasyMock.replay(msg);
- localNotificationInvoker.invoke(msg);
- EasyMock.verify(msg);
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-
- class MockInterceptor implements Interceptor {
-
- public Message invoke(Message msg) {
- Assert.assertEquals("msg", msg.getBody());
- return msg;
- }
-
- public void setNext(Invoker next) {
- throw new AssertionError();
- }
-
- public Interceptor getNext() {
- throw new AssertionError();
- }
-
- public boolean isOptimizable() {
- throw new AssertionError();
- }
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java b/branches/sca-equinox/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java deleted file mode 100644 index 89cbd3ec48..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java +++ /dev/null @@ -1,56 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.notification;
-
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.easymock.EasyMock;
-
-/**
- *
- * @version $Rev$ $Date$
- *
- */
-public class NotificationImplementationLoaderTestCase extends TestCase {
-
- public void testRead() throws Exception {
- try {
- NotificationImplementationProcessor implementationLoader =
- new NotificationImplementationProcessor(new DefaultNotificationImplementationFactory());
-
- XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
- EasyMock.expect(reader.getName()).andReturn(NotificationImplementationProcessor.IMPLEMENTATION_NOTIFICATION).times(2);
- EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("TrafficAdvisoryNotificationTestCase");
- EasyMock.expect(reader.getAttributeValue(null, "type")).andReturn(null);
- EasyMock.expect(reader.hasNext()).andReturn(true);
- EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
- EasyMock.replay(reader);
-
- Implementation impl = implementationLoader.read(reader);
- Assert.assertNotNull(impl);
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType b/branches/sca-equinox/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType deleted file mode 100644 index 1fd952a0a8..0000000000 --- a/branches/sca-equinox/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType +++ /dev/null @@ -1,30 +0,0 @@ -<?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.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service name="TrafficAdvisoryNotificationService">
- <interface.java interface="org.apache.tuscany.sca.implementation.notification.TrafficAdvisory"/>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.java interface="org.apache.tuscany.sca.implementation.notification.TrafficAdvisory"/>
- </reference>
-</componentType>
diff --git a/branches/sca-equinox/modules/implementation-openjpa/LICENSE b/branches/sca-equinox/modules/implementation-openjpa/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/implementation-openjpa/META-INF/README b/branches/sca-equinox/modules/implementation-openjpa/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/implementation-openjpa/NOTICE b/branches/sca-equinox/modules/implementation-openjpa/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/implementation-openjpa/README b/branches/sca-equinox/modules/implementation-openjpa/README deleted file mode 100644 index ff6ee6a8f4..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/README +++ /dev/null @@ -1,33 +0,0 @@ -Tuscany implementation OpenJpa -=============================== -Persistence technology is a very part of enterprise level application system. Tuscany has provided -SDO implementation and a non standard but useful DAS infrastructure. -But Tuscany also considered much existed software resource has used popular technologies as -hibernate and jpa. -Hibernate has license problem so an implementation based on it can not be hosted by Apache. -This implementation is developed on the bases of Tuscany¡¯s robust extensible architecture and of -course the jpa implementation project: Apache OpenJPA. - -This module is under the process of more improvement: - -For the time being, user of this module could configure a component as did by the *.composite file -in this module. The component is infact a proxy of a JPA top api: - javax.persitence.EntityManager -User of this module could use all the method provided by this interface. - -An difference is: OpenJPA could work with 2PC only if there is JNDI context and -TransactionManager registered in the JNDI. This module modified much to work with -policy-transaction module. - -For the time being, the Transaction boundary is located around one invocation of the EntityManager. But in the future, these boundary will move up to an component who references the EntityManager, that will be the righteous way for SCA developers! - -The data base working in this module is now Derby, it is for the ease of test running. MySQL -could also work with this module, but it need database deployment in before. Not all types of database could work with this module, such as HSql, it did not provided a XA DataSource implementation up to now. - -There are much powerful features provided by openjpa, such as table auto generation, it is now also working in this module. - -User could get start from looking at what is done by: -??org.apache.tuscany.sca.implementation.openjpa.ImplJpaTestCase -??and -??openjpa.composite -When running the testcase, a RuntimeException stack trace(from inside openjpa api) will get printed on your screen, it is just ok, because of a trying of duplication primary key insertion, and it causes transaction rolling back. diff --git a/branches/sca-equinox/modules/implementation-openjpa/pom.xml b/branches/sca-equinox/modules/implementation-openjpa/pom.xml deleted file mode 100644 index ff5acd4e2c..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/pom.xml +++ /dev/null @@ -1,132 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-implementation-jpa</artifactId> - <name>Apache Tuscany SCA OpenJPA Implementation Extension</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-assembly</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-interface</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-policy-transaction</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - </dependency> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - <version>10.3.1.4</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jpa_3.0_spec</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>1.0.0</version> - </dependency> - </dependencies> - - <build> - <finalName>${artifactId}</finalName> - - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.openjpa</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.implementation.openjpa*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java deleted file mode 100644 index c1ed6b4e58..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -import java.util.Properties; - -import org.apache.openjpa.persistence.PersistenceUnitInfoImpl; -import org.apache.tuscany.sca.assembly.Implementation; - -public interface JPAImplementation extends Implementation { - - void setPersistenceUnitInfoImpl(PersistenceUnitInfoImpl buii); - - PersistenceUnitInfoImpl getPersistenceUnitInfoImpl(); - - void setDataSourceMeta(Properties p); - - Properties getDataSourceMeta(); -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java deleted file mode 100644 index a5812b26e4..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -public interface JPAImplementationFactory { - JPAImplementation createOpenJpaImplementation(); -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java deleted file mode 100644 index 7ddd30047a..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -import java.util.Properties; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.openjpa.persistence.PersistenceUnitInfoImpl; -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; -import org.apache.tuscany.sca.implementation.openjpa.impl.JPAImplementationFactoryImpl; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; - -public class JPAImplementationProcessor implements StAXArtifactProcessor<JPAImplementation> { - private final QName QNAME = new QName(Constants.SCA10_TUSCANY_NS, "implementation.jpa"); - private QName DS = new QName(Constants.SCA10_TUSCANY_NS, "datasource"); - - private JPAImplementationFactory jpaFactory; - private Log log = LogFactory.getLog(this.getClass()); - private StAXArtifactProcessor<PersistenceUnitInfoImpl> puiiProcessor; - - public JPAImplementationProcessor(ModelFactoryExtensionPoint modelFactories) { - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - JavaInterfaceFactory javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - - this.jpaFactory = new JPAImplementationFactoryImpl(assemblyFactory, javaFactory); - this.puiiProcessor = new PersistenceUnitInfoImplProcessor(modelFactories); - } - - public Class<JPAImplementation> getModelType() { - return JPAImplementation.class; - } - - public QName getArtifactType() { - return QNAME; - } - - public JPAImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - assert QNAME.equals(reader.getName()); - JPAImplementation implementation = jpaFactory.createOpenJpaImplementation(); - - implementation.setPersistenceUnitInfoImpl(puiiProcessor.read(reader)); - Properties dsmeta = new Properties(); - do { - int event = reader.next(); - if (event == XMLStreamConstants.START_ELEMENT) { - if (!reader.getName().equals(DS)) { - dsmeta.setProperty(reader.getName().getLocalPart(), reader.getElementText()); - } - } else if (event == XMLStreamConstants.END_ELEMENT && reader.getName().equals(DS)) { - implementation.setDataSourceMeta(dsmeta); - break; - } - } while (true); - - return implementation; - - } - - public void write(JPAImplementation model, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - // TODO Auto-generated method stub - - } - - public void resolve(JPAImplementation model, ModelResolver resolver) throws ContributionResolveException { - - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java deleted file mode 100644 index d6e8276f25..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.openjpa.persistence.PersistenceUnitInfoImpl; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; - -public class PersistenceUnitInfoImplProcessor implements StAXArtifactProcessor<PersistenceUnitInfoImpl> { - private QName P_U = new QName(Constants.SCA10_TUSCANY_NS, "persistence-unit"); - private QName BrokerFactory = new QName(Constants.SCA10_TUSCANY_NS, "jpa.BrokerFactory"); - private QName CLASS = new QName(Constants.SCA10_TUSCANY_NS, "class"); - private QName TRAN_MD = new QName(Constants.SCA10_TUSCANY_NS, "jpa.TransactionMode"); - private QName LOG = new QName(Constants.SCA10_TUSCANY_NS, "jpa.Log"); - private QName SYNCHRON = new QName(Constants.SCA10_TUSCANY_NS, "jpa.jdbc.SynchronizeMappings"); - - public PersistenceUnitInfoImplProcessor(ModelFactoryExtensionPoint modelFactories) { - - } - - public QName getArtifactType() { - // TODO Auto-generated method stub - return null; - } - - - public PersistenceUnitInfoImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - - PersistenceUnitInfoImpl _info = new PersistenceUnitInfoImpl(); - - while (true) { - int event = reader.next(); - switch (event) { - - case XMLStreamConstants.START_ELEMENT: - QName qn = reader.getName(); - /* - * if (qn.equals(BrokerFactory)) { - * _info.setProperty("openjpa.BrokerFactory", reader - * .getElementText()); } - */ - if (qn.equals(CLASS)) { - _info.addManagedClassName(reader.getElementText()); - - } else if (qn.equals(P_U)) { - _info.setPersistenceUnitName(reader.getAttributeValue(null, "name")); - } else { - _info.setProperty(qn.getLocalPart(), reader.getElementText()); - } /* - * else if (qn.equals(LOG)) { - * _info.setProperty("openjpa.Log", - * reader.getElementText()); } else if - * (qn.equals(SYNCHRON)) { - * _info.setProperty("openjpa.jdbc.SynchronizeMappings", - * reader.getElementText()); } - */ - break; - case XMLStreamConstants.END_ELEMENT: - if (reader.getName().equals(P_U)) - return _info; - } - } - } - - public void write(PersistenceUnitInfoImpl model, XMLStreamWriter writer) throws ContributionWriteException, - XMLStreamException { - // TODO Auto-generated method stub - - } - - public Class<PersistenceUnitInfoImpl> getModelType() { - // TODO Auto-generated method stub - return null; - } - - public void resolve(PersistenceUnitInfoImpl model, ModelResolver resolver) throws ContributionResolveException { - // TODO Auto-generated method stub - - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java deleted file mode 100644 index c4b14a1a90..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -import javax.sql.XAConnection; -import javax.transaction.TransactionManager; - -import org.apache.derby.jdbc.*; -import org.apache.openjpa.conf.OpenJPAConfiguration; -import org.apache.openjpa.kernel.AbstractBrokerFactory; -import org.apache.openjpa.kernel.StoreManager; -import org.apache.openjpa.lib.conf.ConfigurationProvider; -import java.util.*; -import org.apache.commons.logging.*; -import org.apache.openjpa.jdbc.meta.MappingTool; -import org.apache.openjpa.jdbc.conf.*; -import org.apache.openjpa.meta.*; - -public class TuscanyBrokerFactory extends AbstractBrokerFactory { - private Log log = LogFactory.getLog(this.getClass()); - protected TuscanyBrokerFactory(OpenJPAConfiguration conf) { - super(conf); - if (buildSchema != null && buildSchema.equals("buildSchema")) { - MappingTool tool = new MappingTool((JDBCConfiguration) conf, - (String) buildSchema, false); - Collection classes = meta.loadPersistentTypes(false, this - .getClass().getClassLoader()); - for (Iterator itr = classes.iterator(); itr.hasNext();) { - tool.run((Class) itr.next()); - } - log - .info("creating database and tables accroding to class mappings..."); - tool.record(); - } - } - - private XAConnection xaconn; - - @Override - protected StoreManager newStoreManager() { - try { - if (xaconn == null) { - if (cp.getProperties().get("dbtype").equals("Derby")) { - EmbeddedXADataSource xads = new EmbeddedXADataSource(); - xads.setDatabaseName((String)cp.getProperties().get("dbname")); - - xaconn = xads.getXAConnection(); - } - - System.out.println("------------TuscanyBrokerFactory.newStoreManager...."); - - } - return new TuscanyStoreManager(xaconn); - - } catch (Exception ex) { - ex.printStackTrace(); - throw new RuntimeException(ex); - } - } - - private static TransactionManager tm; - private static ConfigurationProvider cp; - private static Object buildSchema; - private static MetaDataRepository meta; - - public static TuscanyBrokerFactory newInstance(ConfigurationProvider _cp) { - tm = (TransactionManager)_cp.getProperties().get("TransactionManager"); - EmbeddedDataSource ds2 = null; - if (_cp.getProperties().get("dbtype").equals("Derby")) { - ds2 = new EmbeddedDataSource(); - ds2.setDatabaseName((String) _cp.getProperties().get("dbname")); - ds2.setCreateDatabase((String) _cp.getProperties().get("dbcreate")); - } - TuscanyJDBCConfigurationImpl conf = new TuscanyJDBCConfigurationImpl(tm, ds2); - _cp.setInto(conf); - buildSchema = _cp.getProperties().get( - "openjpa.jdbc.SynchronizeMappings"); - - meta = conf.getMetaDataRepositoryInstance(); - cp = _cp; - return new TuscanyBrokerFactory(conf); - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java deleted file mode 100644 index f5972142de..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -import javax.transaction.TransactionManager; - -import org.apache.openjpa.ee.ManagedRuntime; -import org.apache.openjpa.kernel.BrokerImpl; - -public class TuscanyBrokerImpl extends BrokerImpl { - private TransactionManager tm; - - public TuscanyBrokerImpl(TransactionManager tm) { - this.tm = tm; - } - - public ManagedRuntime getManagedRuntime() { - return new TuscanyManagerRuntime(tm); - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java deleted file mode 100644 index 820121824a..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.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 org.apache.tuscany.sca.implementation.openjpa; - -import javax.transaction.TransactionManager; - -import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl; -import org.apache.openjpa.jdbc.sql.DBDictionary; -import org.apache.openjpa.jdbc.sql.DerbyDictionary; -import org.apache.openjpa.kernel.BrokerImpl; -import org.apache.openjpa.lib.conf.Configurations; -import javax.sql.*; -import org.apache.openjpa.ee.*; -import org.apache.openjpa.kernel.*; - -public class TuscanyJDBCConfigurationImpl extends JDBCConfigurationImpl { - private TransactionManager tm; - - public TuscanyJDBCConfigurationImpl(TransactionManager tm,DataSource _ds) { - this.tm = tm; - ds2 = _ds; - } - public ManagedRuntime getManagedRuntimeInstance() { - return new TuscanyManagerRuntime(tm); - } - - public Object getConnectionFactory() { - return null; - } - - public DBDictionary getDBDictionaryInstance() { - DerbyDictionary dd = new DerbyDictionary(); - Configurations.configureInstance(dd, this, "", ""); - return dd; - } - private DataSource ds2; - @Override - public DataSource getDataSource2(StoreContext ctx) { - - return ds2; - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java deleted file mode 100644 index 2fb35f83a1..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; -import javax.transaction.SystemException; -import javax.transaction.TransactionManager; - -import org.apache.openjpa.ee.ManagedRuntime; - -public class TuscanyManagerRuntime implements ManagedRuntime{ - public TuscanyManagerRuntime(TransactionManager tm){ - this.tm = tm; - } - public Throwable getRollbackCause() throws Exception { - // TODO Auto-generated method stub - return null; - } - - public Object getTransactionKey() throws Exception, SystemException { - // TODO Auto-generated method stub - return "Geng"; - } - private TransactionManager tm; - public TransactionManager getTransactionManager() throws Exception { - - - return tm; - } - - public void setRollbackOnly(Throwable cause) throws Exception { - // TODO Auto-generated method stub - - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java deleted file mode 100644 index 441ba666d7..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa; - -import java.sql.Connection; -import java.sql.SQLException; - -import javax.sql.XAConnection; - -import org.apache.openjpa.jdbc.kernel.JDBCStoreManager; - -public class TuscanyStoreManager extends JDBCStoreManager { - private XAConnection xaconn; - - public TuscanyStoreManager(XAConnection xaconn) { - this.xaconn = xaconn; - } - - protected _RefCountConnection connectInternal() throws SQLException { - Connection conn = xaconn.getConnection(); - // conn.setAutoCommit(false); - _RefCountConnection rc = new _RefCountConnection(conn); - return rc; - } - - class _RefCountConnection extends RefCountConnection { - public _RefCountConnection(Connection conn) { - - super(conn); - } - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java deleted file mode 100644 index 2a7d1abd70..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.implementation.openjpa.*; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; - -public class JPAImplementationFactoryImpl implements JPAImplementationFactory { - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaFactory; - - public JPAImplementationFactoryImpl(AssemblyFactory aF, JavaInterfaceFactory javaIF) { - this.assemblyFactory = aF; - this.javaFactory = javaIF; - } - - public JPAImplementation createOpenJpaImplementation() { - return new JPAImplementationImpl(assemblyFactory, javaFactory); - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java deleted file mode 100644 index 055ecd4a4d..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa.impl; - -import java.util.Collections; -import java.util.List; -import java.util.Properties; - -import javax.persistence.EntityManager; - -import org.apache.openjpa.persistence.PersistenceUnitInfoImpl; -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.implementation.openjpa.JPAImplementation; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; - -public class JPAImplementationImpl implements JPAImplementation { - private Service jpaService; - private PersistenceUnitInfoImpl puii; - private Properties dsmeta; - - public void setPersistenceUnitInfoImpl(PersistenceUnitInfoImpl puii) { - this.puii = puii; - } - - public PersistenceUnitInfoImpl getPersistenceUnitInfoImpl() { - return this.puii; - } - - public void setDataSourceMeta(Properties p) { - dsmeta = p; - } - - public Properties getDataSourceMeta() { - return dsmeta; - } - - JPAImplementationImpl(AssemblyFactory assemblyFactory, JavaInterfaceFactory javaFactory) { - - jpaService = assemblyFactory.createService(); - jpaService.setName("EntityManager"); - JavaInterface javaInterface; - try { - javaInterface = javaFactory.createJavaInterface(EntityManager.class); - } catch (InvalidInterfaceException e) { - throw new IllegalArgumentException(e); - } - JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract(); - interfaceContract.setInterface(javaInterface); - jpaService.setInterfaceContract(interfaceContract); - } - - public boolean isUnresolved() { - // TODO Auto-generated method stub - return false; - } - - public void setUnresolved(boolean unresolved) { - // TODO Auto-generated method stub - - } - - public ConstrainingType getConstrainingType() { - // TODO Auto-generated method stub - return null; - } - - public List<Property> getProperties() { - // TODO Auto-generated method stub - return Collections.emptyList(); - } - - public List<Reference> getReferences() { - return Collections.emptyList(); - } - - public List<Service> getServices() { - return Collections.singletonList(jpaService); - } - - public String getURI() { - // TODO Auto-generated method stub - return null; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - // TODO Auto-generated method stub - - } - - public void setURI(String uri) { - // TODO Auto-generated method stub - - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java deleted file mode 100644 index fbff09341c..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa.provider; - -import java.util.HashMap; -import java.util.Map; - -import javax.persistence.EntityManagerFactory; -import javax.transaction.TransactionManager; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.openjpa.kernel.Bootstrap; -import org.apache.openjpa.kernel.BrokerFactory; -import org.apache.openjpa.persistence.JPAFacadeHelper; -import org.apache.openjpa.persistence.PersistenceUnitInfoImpl; -import org.apache.openjpa.persistence.PersistenceProductDerivation.ConfigurationProviderImpl; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.implementation.openjpa.JPAImplementation; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -public class JPAImplementationProvider implements ImplementationProvider { - private RuntimeComponent component; - private JPAImplementation implementation; - private EntityManagerFactory emf; - private TransactionManager tm; - - public JPAImplementationProvider(RuntimeComponent component, - JPAImplementation implementation, - ExtensionPointRegistry extensionPoints) { - this.component = component; - this.implementation = implementation; - tm = - (TransactionManager)extensionPoints.getExtensionPoint(org.apache.geronimo.transaction.manager.XAWork.class); - try { - // tm.begin(); - } catch (Exception ex) { - ex.printStackTrace(); - } - initEntityManager(); - } - - private void initEntityManager() { - Map map = new HashMap(); - map.put("TransactionManager", tm); - PersistenceUnitInfoImpl _info = implementation.getPersistenceUnitInfoImpl(); - _info.fromUserProperties(map); - ConfigurationProviderImpl cp = new ConfigurationProviderImpl(); - cp.addProperties(_info.toOpenJPAProperties()); - cp.addProperties(implementation.getDataSourceMeta()); - - BrokerFactory factory = Bootstrap.newBrokerFactory(cp, null); - - emf = JPAFacadeHelper.toEntityManagerFactory(factory); - - } - - private Log log = LogFactory.getLog(this.getClass()); - - public Invoker createInvoker(RuntimeComponentService service, Operation operation) { - - return new JPAInvoker(operation, emf, tm); - } - - public void start() { - // TODO Auto-generated method stub - - } - - public void stop() { - // TODO Auto-generated method stub - - } - - public boolean supportsOneWayInvocation() { - // TODO Auto-generated method stub - return false; - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java deleted file mode 100644 index 11a92c5064..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa.provider; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.implementation.openjpa.JPAImplementation; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -public class JPAImplementationProviderFactory implements ImplementationProviderFactory<JPAImplementation> { - private ExtensionPointRegistry eP; - - public JPAImplementationProviderFactory(ExtensionPointRegistry extensionPoints) { - eP = extensionPoints; - } - - public ImplementationProvider createImplementationProvider(RuntimeComponent component, - JPAImplementation implementation) { - return new JPAImplementationProvider(component, implementation, eP); - } - - public Class<JPAImplementation> getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java b/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java deleted file mode 100644 index 8b74209d3e..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.openjpa.provider; - -import java.lang.reflect.Method; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.transaction.TransactionManager; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; - -public class JPAInvoker implements Invoker { - private Operation operation; - private TransactionManager tm; - - public JPAInvoker(Operation operation, EntityManagerFactory emf, TransactionManager tm) { - this.operation = operation; - this.tm = tm; - this.emf = emf; - } - - private Log log = LogFactory.getLog(this.getClass()); - private EntityManagerFactory emf; - - public Message invoke(Message msg) { - try { - tm.begin(); - Method method = JavaInterfaceUtil.findMethod(EntityManager.class, operation); - Object r = method.invoke(emf.createEntityManager(), (Object[])msg.getBody()); - tm.commit(); - log.info(method); - msg.setBody(r); - return msg; - } catch (Exception ex) { - throw new RuntimeException(ex); - - } - } - -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 3f8e373c88..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,19 +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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.implementation.openjpa.JPAImplementationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#implementation.jpa,model=org.apache.tuscany.sca.implementation.openjpa.JPAImplementation
\ No newline at end of file diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory b/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory deleted file mode 100644 index 13067543c9..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory +++ /dev/null @@ -1,18 +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.
-
-org.apache.tuscany.sca.implementation.openjpa.impl.JPAImplementationFactoryImpl
\ No newline at end of file diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory deleted file mode 100644 index fb62ff853b..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the implementation extension
-org.apache.tuscany.sca.implementation.openjpa.provider.JPAImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.openjpa.JPAImplementation
\ No newline at end of file diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java b/branches/sca-equinox/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java deleted file mode 100644 index 900fab3242..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.implementation.openjpa; - -import junit.framework.*; -import org.apache.tuscany.sca.host.embedded.*; -import org.apache.commons.logging.*; -import sample.*; -import javax.persistence.*; -import java.util.*; - -public class ImplJpaTestCase extends TestCase { - private EntityManager em; - private Log log = LogFactory.getLog(this.getClass()); - private SCADomain domain; - - public void setUp() { - domain = SCADomain.newInstance("openjpa.composite"); - em = domain.getService(EntityManager.class, "OpenJPAServiceComponent"); - - } - - public void testAccess() { - Abc a = new Abc(); - int i = new Random().nextInt(); - a.setId(i); - em.persist(a); - log.info(em.find(Abc.class, i)); - Query q = em.createQuery("select a from Abc a"); - q.setMaxResults(5); - log.info("There are " + q.getResultList().size() + " Abc in the database now"); - } - - public void testRollback() { - try { - Abc a = new Abc(); - int i = new Random().nextInt(); - a.setId(i); - em.persist(a); - Abc a2 = new Abc(); - a2.setId(i); - em.persist(a2); - - } catch (RuntimeException ex) { - log.info("An expected exception occured, Tuscany is rolling back..."); - } - } - - public void tearDown() { - em.close(); - domain.close(); - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/Abc.java b/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/Abc.java deleted file mode 100644 index 0f8e9e4391..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/Abc.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; -import javax.persistence.*; -@Entity -public class Abc { - private int id; - @Id - public int getId(){ - return id; - } - public void setId(int i){ - id = i; - } - public String toString(){ - return "My Id is "+id; - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/Message.java b/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/Message.java deleted file mode 100644 index da4fd1f3fc..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/Message.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; - -import java.util.*; -import javax.persistence.*; - - -/** - * A very simple persistent entity that holds a "message", has a - * "created" field that is initialized to the time at which the - * object was created, and an id field that is initialized to the - * current time. - */ -@Entity -public class Message { - @Id - private long id = System.currentTimeMillis(); - - @Basic - private String message; - - @Basic - private Date created = new Date(); - - public Message() { - } - - public Message(String msg) { - message = msg; - } - - public void setId(long val) { - id = val; - } - - public long getId() { - return id; - } - - public void setMessage(String msg) { - message = msg; - } - - public String getMessage() { - return message; - } - - public void setCreated(Date date) { - created = date; - } - - public Date getCreated() { - return created; - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/MyObject.java b/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/MyObject.java deleted file mode 100644 index d3b1baf182..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/test/java/sample/MyObject.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 sample; - -import java.io.*; -import javax.persistence.*; -@Entity -public class MyObject implements Serializable{ - private int id; - @Id - public int getId(){ - return id; - } - public void setId(int i){ - id =i; - } -} diff --git a/branches/sca-equinox/modules/implementation-openjpa/src/test/resources/openjpa.composite b/branches/sca-equinox/modules/implementation-openjpa/src/test/resources/openjpa.composite deleted file mode 100644 index 1c1b6976bd..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/src/test/resources/openjpa.composite +++ /dev/null @@ -1,44 +0,0 @@ -<?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. ---> - -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" - targetNamespace="http://sample/openjpa" name="impl-jpa"> - - <component name="OpenJPAServiceComponent"> - <tuscany:implementation.jpa> - <tuscany:persistence-unit name="hellojpa"> - <tuscany:openjpa.BrokerFactory>org.apache.tuscany.sca.implementation.openjpa.TuscanyBrokerFactory</tuscany:openjpa.BrokerFactory> - <tuscany:openjpa.TransactionMode>managed</tuscany:openjpa.TransactionMode> - <tuscany:openjpa.Log>DefaultLevel=WARN,SQL=TRACE</tuscany:openjpa.Log> - <tuscany:openjpa.jdbc.SynchronizeMappings>buildSchema</tuscany:openjpa.jdbc.SynchronizeMappings> - - <tuscany:class>sample.Abc</tuscany:class> - <tuscany:class>sample.Message</tuscany:class> - </tuscany:persistence-unit> - <tuscany:datasource> - <dbtype>Derby</dbtype> - <dbname>test</dbname> - <dbcreate>create</dbcreate> - </tuscany:datasource> - </tuscany:implementation.jpa> - </component> - -</composite> diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/db.lck b/branches/sca-equinox/modules/implementation-openjpa/test/db.lck Binary files differdeleted file mode 100644 index ad9dc5455d..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/db.lck +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/log/log.ctrl b/branches/sca-equinox/modules/implementation-openjpa/test/log/log.ctrl Binary files differdeleted file mode 100644 index 9ce366fcb9..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/log/log.ctrl +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/log/log1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/log/log1.dat Binary files differdeleted file mode 100644 index cc35dfe190..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/log/log1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/log/logmirror.ctrl b/branches/sca-equinox/modules/implementation-openjpa/test/log/logmirror.ctrl Binary files differdeleted file mode 100644 index 9ce366fcb9..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/log/logmirror.ctrl +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c10.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c10.dat Binary files differdeleted file mode 100644 index 7a0801a048..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c10.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c101.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c101.dat Binary files differdeleted file mode 100644 index bf3e68815c..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c101.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c111.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c111.dat Binary files differdeleted file mode 100644 index 1e0cedeb01..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c111.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c121.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c121.dat Binary files differdeleted file mode 100644 index c8dfb77f24..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c121.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c130.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c130.dat Binary files differdeleted file mode 100644 index 2b7138c98d..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c130.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c141.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c141.dat Binary files differdeleted file mode 100644 index 52d555910b..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c141.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c150.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c150.dat Binary files differdeleted file mode 100644 index 29e11535cb..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c150.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c161.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c161.dat Binary files differdeleted file mode 100644 index 4cb160cf7c..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c161.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c171.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c171.dat Binary files differdeleted file mode 100644 index 0a335bfa96..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c171.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c180.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c180.dat Binary files differdeleted file mode 100644 index 30fc7aa23b..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c180.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c191.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c191.dat Binary files differdeleted file mode 100644 index b2d149a0f3..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c191.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1a1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1a1.dat Binary files differdeleted file mode 100644 index a0153570e1..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1a1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1b1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1b1.dat Binary files differdeleted file mode 100644 index 396dc810ae..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1b1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1c0.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1c0.dat Binary files differdeleted file mode 100644 index 359525a31a..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1c0.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1d1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1d1.dat Binary files differdeleted file mode 100644 index 9f257df932..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1d1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1e0.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1e0.dat Binary files differdeleted file mode 100644 index e43e52fb7f..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1e0.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1f1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1f1.dat Binary files differdeleted file mode 100644 index 7e6ee3b1e0..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c1f1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c20.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c20.dat Binary files differdeleted file mode 100644 index 0aa098f1ca..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c20.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c200.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c200.dat Binary files differdeleted file mode 100644 index cae919d022..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c200.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c211.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c211.dat Binary files differdeleted file mode 100644 index c7e311b00e..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c211.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c221.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c221.dat Binary files differdeleted file mode 100644 index 28e89367ce..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c221.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c230.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c230.dat Binary files differdeleted file mode 100644 index 528295a863..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c230.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c241.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c241.dat Binary files differdeleted file mode 100644 index 5c8f825ad8..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c241.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c251.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c251.dat Binary files differdeleted file mode 100644 index d3d6adf4fb..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c251.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c260.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c260.dat Binary files differdeleted file mode 100644 index 8d7333df7d..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c260.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c271.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c271.dat Binary files differdeleted file mode 100644 index af722f7d73..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c271.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c281.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c281.dat Binary files differdeleted file mode 100644 index 3972983c2e..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c281.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c290.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c290.dat Binary files differdeleted file mode 100644 index 31577b8124..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c290.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2a1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2a1.dat Binary files differdeleted file mode 100644 index 0f700d13a7..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2a1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2b1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2b1.dat Binary files differdeleted file mode 100644 index 1d6382fb3d..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2b1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2c1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2c1.dat Binary files differdeleted file mode 100644 index 3bc60d886b..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2c1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2d0.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2d0.dat Binary files differdeleted file mode 100644 index c542d3c91c..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2d0.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2e1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2e1.dat Binary files differdeleted file mode 100644 index 16abd20b5f..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2e1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2f0.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2f0.dat Binary files differdeleted file mode 100644 index eb26be5932..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c2f0.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c300.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c300.dat Binary files differdeleted file mode 100644 index cb474d9335..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c300.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c31.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c31.dat Binary files differdeleted file mode 100644 index ce609b1bb3..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c31.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c311.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c311.dat Binary files differdeleted file mode 100644 index 5ad39aaab4..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c311.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c320.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c320.dat Binary files differdeleted file mode 100644 index 1aacbe9fac..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c320.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c331.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c331.dat Binary files differdeleted file mode 100644 index bb7a47c150..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c331.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c41.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c41.dat Binary files differdeleted file mode 100644 index 3c730d1420..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c41.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c51.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c51.dat Binary files differdeleted file mode 100644 index 9c861dbc56..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c51.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c60.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c60.dat Binary files differdeleted file mode 100644 index 8165cc700e..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c60.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c71.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c71.dat Binary files differdeleted file mode 100644 index 1696647e11..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c71.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c81.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c81.dat Binary files differdeleted file mode 100644 index cfe999e650..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c81.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c90.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c90.dat Binary files differdeleted file mode 100644 index 0bfa562d41..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/c90.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/ca1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/ca1.dat Binary files differdeleted file mode 100644 index 188373cb62..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/ca1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cb1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cb1.dat Binary files differdeleted file mode 100644 index ced876c84f..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cb1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cc0.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cc0.dat Binary files differdeleted file mode 100644 index 5126021a83..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cc0.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cd1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cd1.dat Binary files differdeleted file mode 100644 index 2e135b64ab..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cd1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/ce1.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/ce1.dat Binary files differdeleted file mode 100644 index 076423c10a..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/ce1.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cf0.dat b/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cf0.dat Binary files differdeleted file mode 100644 index 1a9a838ddf..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/seg0/cf0.dat +++ /dev/null diff --git a/branches/sca-equinox/modules/implementation-openjpa/test/service.properties b/branches/sca-equinox/modules/implementation-openjpa/test/service.properties deleted file mode 100644 index ae366e6ef7..0000000000 --- a/branches/sca-equinox/modules/implementation-openjpa/test/service.properties +++ /dev/null @@ -1,22 +0,0 @@ -#D:\Projects\openjpa\openjpa\test -# ******************************************************************** -# *** Please do NOT edit this file. *** -# *** CHANGING THE CONTENT OF THIS FILE MAY CAUSE DATA CORRUPTION. *** -# ******************************************************************** -#Thu Nov 08 16:44:42 CST 2007 -SysschemasIndex2Identifier=225 -SyscolumnsIdentifier=144 -SysconglomeratesIndex1Identifier=49 -SysconglomeratesIdentifier=32 -SyscolumnsIndex2Identifier=177 -SysschemasIndex1Identifier=209 -SysconglomeratesIndex3Identifier=81 -SystablesIndex2Identifier=129 -SyscolumnsIndex1Identifier=161 -derby.serviceProtocol=org.apache.derby.database.Database -SysschemasIdentifier=192 -derby.storage.propertiesId=16 -SysconglomeratesIndex2Identifier=65 -derby.serviceLocale=zh_CN -SystablesIdentifier=96 -SystablesIndex1Identifier=113 diff --git a/branches/sca-equinox/modules/implementation-web-runtime/LICENSE b/branches/sca-equinox/modules/implementation-web-runtime/LICENSE deleted file mode 100644 index 6b0b1270ff..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/LICENSE +++ /dev/null @@ -1,203 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/branches/sca-equinox/modules/implementation-web-runtime/META-INF/README b/branches/sca-equinox/modules/implementation-web-runtime/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/implementation-web-runtime/NOTICE b/branches/sca-equinox/modules/implementation-web-runtime/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/implementation-web-runtime/pom.xml b/branches/sca-equinox/modules/implementation-web-runtime/pom.xml deleted file mode 100644 index ba296fefcd..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/pom.xml +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-implementation-web-runtime</artifactId> - <name>Apache Tuscany SCA implementation.web Extension</name> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-web</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jsp_2.1_spec</artifactId> - <version>1.0</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.easymock</groupId> - <artifactId>easymock</artifactId> - <version>2.2</version> - <scope>test</scope> - </dependency> - - </dependencies> - - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.web.runtime</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.implementation.web.runtime*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java deleted file mode 100644 index bf33f7ad9e..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.web; - -import java.io.IOException; -import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Servlet that handles the GET request for the componentContext.js script - * - * The script is generated by calling ScriptProcessors to output the code - * for the SCA references, properties etc. - */ -public class ComponentContextServlet extends HttpServlet { - private static final long serialVersionUID = 1L; - - protected static final String HEADER = "/** --- Apache Tuscany componentContext.js --- */\n"; - protected static final String FOOTER = "/** --- Apache Tuscany componentContext.js EOF --- */\n"; - - public static final String COMPONENT_CONTEXT_SCRIPT_URI = "org.apache.tuscany.sca.componentContext.js"; - - protected transient Map<String, Object> attributes = new HashMap<String, Object>(); - protected transient ServletContext servletContext; - private transient List<ContextScriptProcessor> contextScriptProcessors = new ArrayList<ContextScriptProcessor>(); - - public ComponentContextServlet() { - contextScriptProcessors.add(new JSONRPCScripProcessor()); - } - - @Override - public void init(ServletConfig servletConfig) throws ServletException { - this.servletContext = servletConfig.getServletContext(); - if (attributes.size() > 0) { - for (String name : attributes.keySet()) { - servletContext.setAttribute(name, attributes.get(name)); - } - } - } - - @Override - public void doGet(HttpServletRequest req, HttpServletResponse response) throws IOException { - response.setContentType("text/plain;charset=utf-8"); - PrintWriter out = response.getWriter(); - - out.write(HEADER); - - doScriptInit(req, response); - - doScriptReferences(req, response); - - out.write(FOOTER); - - out.flush(); - out.close(); - } - - /** - * Calls each ContextScriptProcessor once to insert any required initilization code into componentContext.js - */ - protected void doScriptInit(HttpServletRequest req, HttpServletResponse response) throws IOException, UnsupportedEncodingException { - - PrintWriter out = response.getWriter(); - - out.println("if (SCA == undefined) var SCA = new Object();"); - out.println("if (SCA.componentContext == undefined) {"); - out.println(" SCA.componentContext = new Object();"); - out.println(" SCA.componentContext.serviceNames = [];"); - out.println(" SCA.componentContext.serviceProxys = [];"); - out.println(" SCA.componentContext.getService = function(serviceName){"); - out.println(" var i = SCA.componentContext.serviceNames.indexOf(serviceName);"); - out.println(" return SCA.componentContext.serviceProxys[i];"); - out.println(" };"); - out.println(" if (componentContext == undefined) var componentContext = SCA.componentContext;"); - out.println("}"); - - for (ContextScriptProcessor csp : contextScriptProcessors) { - csp.scriptInit(req, response); - } - } - - /** - * Calls each ContextScriptProcessor for each SCA reference to insert code for the reference into componentContext.js - */ - protected void doScriptReferences(HttpServletRequest req, HttpServletResponse response) throws IOException, UnsupportedEncodingException { - - PrintWriter out = response.getWriter(); - - out.write("// SCA References\n"); - - RuntimeComponent component = (RuntimeComponent)servletContext.getAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent"); - - for (ComponentReference cr : component.getReferences()) { - String ref = "// SCA Reference " + cr.getName() + "\n"; - out.write(ref); - for (ContextScriptProcessor csp : contextScriptProcessors) { - csp.scriptReference(cr, req, response); - } - } - - out.write("\n// SCA References end.\n"); - } - - /** - * Calls each ContextScriptProcessor for each SCA property to insert code for the property into componentContext.js - */ - protected void doScriptProperties(HttpServletRequest req, HttpServletResponse response) throws IOException, UnsupportedEncodingException { - // TODO: support properties - } - - /** - * Set an attribute on the ServletContext - */ - public void setAttribute(String name, Object value) { - if (servletContext != null) { - servletContext.setAttribute(name, value); - } else { - attributes.put(name, value); - } - } - - public void addContextScriptProcessor(ContextScriptProcessor csp) { - contextScriptProcessors.add(csp); - } -} diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java deleted file mode 100644 index 02c99debb0..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.web; - -import java.io.IOException; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.tuscany.sca.assembly.ComponentReference; - -public interface ContextScriptProcessor { - void scriptInit(HttpServletRequest req, HttpServletResponse response) throws IOException; - void scriptReference(ComponentReference cr, HttpServletRequest req, HttpServletResponse response) throws IOException; -} diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java deleted file mode 100644 index 6d3f590309..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.web; - - -public interface ContextScriptProcessorExtensionPoint { - - void addContextScriptProcessor(ContextScriptProcessor csp); - -} diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java deleted file mode 100644 index 89b951e7d2..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.implementation.web; - -import java.util.ArrayList; -import java.util.List; - - -public class DefaultContextScriptProcessorExtensionPoint implements ContextScriptProcessorExtensionPoint { - - protected ComponentContextServlet componentContextServlet; - protected List<ContextScriptProcessor> tempCSPHolder = new ArrayList<ContextScriptProcessor>(); - - public DefaultContextScriptProcessorExtensionPoint() { - } - - public void addContextScriptProcessor(ContextScriptProcessor csp) { - if (componentContextServlet != null) { - componentContextServlet.addContextScriptProcessor(csp); - } else { - tempCSPHolder.add(csp); - } - } - - public void setComponentContextServlet(ComponentContextServlet servlet) { - componentContextServlet = servlet; - if (tempCSPHolder.size() > 0) { - for (ContextScriptProcessor csp : tempCSPHolder) { - componentContextServlet.addContextScriptProcessor(csp); - } - } - } - -} diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java deleted file mode 100644 index e4ec0d71f9..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java +++ /dev/null @@ -1,57 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.implementation.web;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.tuscany.sca.assembly.Binding;
-import org.apache.tuscany.sca.assembly.ComponentReference;
-
-public class JSONRPCScripProcessor implements ContextScriptProcessor {
-
- public void scriptInit(HttpServletRequest req, HttpServletResponse response) throws IOException {
- PrintWriter out = response.getWriter();
- InputStream is = getClass().getClassLoader().getResourceAsStream("jsonrpc.js");
- if (is != null) {
- int i;
- while ((i = is.read()) != -1) {
- out.write(i);
- }
- }
-
- out.println();
- }
-
- public void scriptReference(ComponentReference cr, HttpServletRequest req, HttpServletResponse response) throws IOException {
- for (Binding b : cr.getBindings()) {
- if ("org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding".equals(b.getClass().getName())) {
- PrintWriter out = response.getWriter();
- out.println("SCA.componentContext.serviceNames.push('" + cr.getName() + "');");
- out.println("SCA.componentContext.serviceProxys.push(new JSONRpcClient('" + cr.getReference().getTargets().get(0).getName() + "').Service);");
- }
- }
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java deleted file mode 100644 index 59afe23fa4..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java +++ /dev/null @@ -1,77 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.implementation.web.runtime;
-
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.osoa.sca.CallableReference;
-import org.osoa.sca.ComponentContext;
-import org.osoa.sca.RequestContext;
-import org.osoa.sca.ServiceReference;
-
-/**
- * Proxy ComponentContext wrappering a RuntimeComponent as the
- * RuntimeComponent ComponentContext has not been created till later
- */
-public class ComponentContextProxy implements ComponentContext {
-
- protected RuntimeComponent runtimeComponent;
-
- public ComponentContextProxy(RuntimeComponent runtimeComponent) {
- this.runtimeComponent = runtimeComponent;
- }
-
- protected ComponentContext getComponentContext() {
- return runtimeComponent.getComponentContext();
- }
-
- @SuppressWarnings("unchecked")
- public <B, R extends CallableReference<B>> R cast(B arg0) throws IllegalArgumentException {
- return (R) getComponentContext().cast(arg0);
- }
-
- public <B> ServiceReference<B> createSelfReference(Class<B> arg0) {
- return getComponentContext().createSelfReference(arg0);
- }
-
- public <B> ServiceReference<B> createSelfReference(Class<B> arg0, String arg1) {
- return getComponentContext().createSelfReference(arg0, arg1);
- }
-
- public <B> B getProperty(Class<B> arg0, String arg1) {
- return getComponentContext().getProperty(arg0, arg1);
- }
-
- public RequestContext getRequestContext() {
- return getComponentContext().getRequestContext();
- }
-
- public <B> B getService(Class<B> arg0, String arg1) {
- return getComponentContext().getService(arg0, arg1);
- }
-
- public <B> ServiceReference<B> getServiceReference(Class<B> arg0, String arg1) {
- return getComponentContext().getServiceReference(arg0, arg1);
- }
-
- public String getURI() {
- return getComponentContext().getURI();
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java b/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java deleted file mode 100644 index 2518ba5381..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java +++ /dev/null @@ -1,78 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.web.runtime;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.host.http.ServletHost;
-import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.ComponentContextServlet;
-import org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.DefaultContextScriptProcessorExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.provider.ImplementationProvider;
-import org.apache.tuscany.sca.provider.ImplementationProviderFactory;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-public class WebImplementationProviderFactory implements ImplementationProviderFactory<WebImplementation> {
-
- private ServletHost servletHost;
- private ComponentContextServlet contextServlet;
-
- public WebImplementationProviderFactory(ExtensionPointRegistry extensionPoints) {
- ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
- List<ServletHost> hosts = servletHosts.getServletHosts();
- if (!hosts.isEmpty()) {
- this.servletHost = hosts.get(0);
- }
-
- contextServlet = new ComponentContextServlet();
-
- DefaultContextScriptProcessorExtensionPoint dcspep = (DefaultContextScriptProcessorExtensionPoint)extensionPoints.getExtensionPoint(ContextScriptProcessorExtensionPoint.class);
- dcspep.setComponentContextServlet(contextServlet);
- }
-
- public ImplementationProvider createImplementationProvider(RuntimeComponent component, WebImplementation implementation) {
-
- servletHost.addServletMapping("org.osoa.sca.componentContext.js", contextServlet);
- contextServlet.setAttribute("org.osoa.sca.ComponentContext", new ComponentContextProxy(component));
- contextServlet.setAttribute("org.apache.tuscany.sca.implementation.web.RuntimeComponent", component);
-
- return new ImplementationProvider() {
- public Invoker createInvoker(RuntimeComponentService arg0, Operation arg1) {
- throw new UnsupportedOperationException("Components using implementation.web have no services");
- }
- public void start() {
- }
- public void stop() {
- }
- public boolean supportsOneWayInvocation() {
- return false;
- }
- };
- }
-
- public Class<WebImplementation> getModelType() {
- return WebImplementation.class;
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld b/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld deleted file mode 100644 index 4807ba517a..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version = '1.0' encoding = 'ISO-8859-1'?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- -->
-
-<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd">
-
-<taglib version="2.1">
-
- <tlib-version>1.0</tlib-version>
- <short-name>SCA-JSP</short-name>
- <uri>http://www.osog.org/sca/sca.tld</uri>
- <description>A tag library for integrating sca components with jsp</description>
-
- <tag>
-
- <name>reference</name>
-
- <tag-class>org.apache.tuscany.sca.implementation.web.taglib.ReferenceTag</tag-class>
- <tei-class>org.apache.tuscany.sca.implementation.web.taglib.ReferenceTEI</tei-class>
-
- <attribute>
- <name>name</name>
- <required>true</required>
- <type>java.lang.String</type>
- </attribute>
-
- <attribute>
- <name>type</name>
- <required>true</required>
- <type>java.lang.String</type>
- </attribute>
-
- <attribute>
- <name>scope</name>
- <required>false</required>
- <type>java.lang.Integer</type>
- </attribute>
-
- <body-content>empty</body-content>
-
- </tag>
-
-</taglib>
diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint b/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint deleted file mode 100644 index 960ae30552..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint +++ /dev/null @@ -1,19 +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.
-# Implementation class for the ModuleActivator
-org.apache.tuscany.sca.implementation.web.DefaultContextScriptProcessorExtensionPoint
-
diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory b/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory deleted file mode 100644 index 9b769c9b10..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the implementation extension
-org.apache.tuscany.sca.implementation.web.runtime.WebImplementationProviderFactory;model=org.apache.tuscany.sca.implementation.web.WebImplementation
diff --git a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/jsonrpc.js b/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/jsonrpc.js deleted file mode 100644 index 8eb477c2e5..0000000000 --- a/branches/sca-equinox/modules/implementation-web-runtime/src/main/resources/jsonrpc.js +++ /dev/null @@ -1,493 +0,0 @@ -/*
- * JSON-RPC JavaScript client
- *
- * $Id: jsonrpc.js,v 1.36.2.3 2006/03/08 15:09:37 mclark Exp $
- *
- * Copyright (c) 2003-2004 Jan-Klaas Kollhof
- * Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd
- *
- * This code is based on Jan-Klaas' JavaScript o lait library (jsolait).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-/*
- * Modifications for Apache Tuscany:
- * - JSONRpcClient_createMethod changed so callback is last arg
- */
-
-/* escape a character */
-
-escapeJSONChar =
-function escapeJSONChar(c)
-{
- if(c == "\"" || c == "\\") return "\\" + c;
- else if (c == "\b") return "\\b";
- else if (c == "\f") return "\\f";
- else if (c == "\n") return "\\n";
- else if (c == "\r") return "\\r";
- else if (c == "\t") return "\\t";
- var hex = c.charCodeAt(0).toString(16);
- if(hex.length == 1) return "\\u000" + hex;
- else if(hex.length == 2) return "\\u00" + hex;
- else if(hex.length == 3) return "\\u0" + hex;
- else return "\\u" + hex;
-};
-
-
-/* encode a string into JSON format */
-
-escapeJSONString =
-function escapeJSONString(s)
-{
- /* The following should suffice but Safari's regex is b0rken
- (doesn't support callback substitutions)
- return "\"" + s.replace(/([^\u0020-\u007f]|[\\\"])/g,
- escapeJSONChar) + "\"";
- */
-
- /* Rather inefficient way to do it */
- var parts = s.split("");
- for(var i=0; i < parts.length; i++) {
- var c =parts[i];
- if(c == '"' ||
- c == '\\' ||
- c.charCodeAt(0) < 32 ||
- c.charCodeAt(0) >= 128)
- parts[i] = escapeJSONChar(parts[i]);
- }
- return "\"" + parts.join("") + "\"";
-};
-
-
-/* Marshall objects to JSON format */
-
-toJSON = function toJSON(o)
-{
- if(o == null) {
- return "null";
- } else if(o.constructor == String) {
- return escapeJSONString(o);
- } else if(o.constructor == Number) {
- return o.toString();
- } else if(o.constructor == Boolean) {
- return o.toString();
- } else if(o.constructor == Date) {
- return '{javaClass: "java.util.Date", time: ' + o.valueOf() +'}';
- } else if(o.constructor == Array) {
- var v = [];
- for(var i = 0; i < o.length; i++) v.push(toJSON(o[i]));
- return "[" + v.join(", ") + "]";
- } else {
- var v = [];
- for(attr in o) {
- if(o[attr] == null) v.push("\"" + attr + "\": null");
- else if(typeof o[attr] == "function"); /* skip */
- else v.push(escapeJSONString(attr) + ": " + toJSON(o[attr]));
- }
- return "{" + v.join(", ") + "}";
- }
-};
-
-
-/* JSONRpcClient constructor */
-
-JSONRpcClient =
-function JSONRpcClient_ctor(serverURL, user, pass, objectID)
-{
- this.serverURL = serverURL;
- this.user = user;
- this.pass = pass;
- this.objectID = objectID;
-
- /* Add standard methods */
- if(this.objectID) {
- this._addMethods(["listMethods"]);
- var req = this._makeRequest("listMethods", []);
- } else {
- this._addMethods(["system.listMethods"]);
- var req = this._makeRequest("system.listMethods", []);
- }
- var m = this._sendRequest(req);
- this._addMethods(m);
-};
-
-
-/* JSONRpcCLient.Exception */
-
-JSONRpcClient.Exception =
-function JSONRpcClient_Exception_ctor(code, message, javaStack)
-{
- this.code = code;
- var name;
- if(javaStack) {
- this.javaStack = javaStack;
- var m = javaStack.match(/^([^:]*)/);
- if(m) name = m[0];
- }
- if(name) this.name = name;
- else this.name = "JSONRpcClientException";
- this.message = message;
-};
-
-JSONRpcClient.Exception.CODE_REMOTE_EXCEPTION = 490;
-JSONRpcClient.Exception.CODE_ERR_CLIENT = 550;
-JSONRpcClient.Exception.CODE_ERR_PARSE = 590;
-JSONRpcClient.Exception.CODE_ERR_NOMETHOD = 591;
-JSONRpcClient.Exception.CODE_ERR_UNMARSHALL = 592;
-JSONRpcClient.Exception.CODE_ERR_MARSHALL = 593;
-
-JSONRpcClient.Exception.prototype = new Error();
-
-JSONRpcClient.Exception.prototype.toString =
-function JSONRpcClient_Exception_toString(code, msg)
-{
- return this.name + ": " + this.message;
-};
-
-
-/* Default top level exception handler */
-
-JSONRpcClient.default_ex_handler =
-function JSONRpcClient_default_ex_handler(e) { alert(e); };
-
-
-/* Client settable variables */
-
-JSONRpcClient.toplevel_ex_handler = JSONRpcClient.default_ex_handler;
-JSONRpcClient.profile_async = false;
-JSONRpcClient.max_req_active = 1;
-JSONRpcClient.requestId = 1;
-
-
-/* JSONRpcClient implementation */
-
-JSONRpcClient.prototype._createMethod =
-function JSONRpcClient_createMethod(methodName)
-{
- var fn=function()
- {
- var args = [];
- var callback = null;
- for(var i=0;i<arguments.length;i++) args.push(arguments[i]);
-
-/* TUSCANY change callback to be last arg instead of first to match binding.ajax
- if(typeof args[0] == "function") callback = args.shift();
-*/
- if(typeof args[arguments.length-1] == "function") callback = args.pop();
-
- var req = fn.client._makeRequest.call(fn.client, fn.methodName,
- args, callback);
- if(callback == null) {
- return fn.client._sendRequest.call(fn.client, req);
- } else {
- JSONRpcClient.async_requests.push(req);
- JSONRpcClient.kick_async();
- return req.requestId;
- }
- };
- fn.client = this;
- fn.methodName = methodName;
- return fn;
-};
-
-JSONRpcClient.prototype._addMethods =
-function JSONRpcClient_addMethods(methodNames)
-{
- for(var i=0; i<methodNames.length; i++) {
- var obj = this;
- var names = methodNames[i].split(".");
- for(var n=0; n<names.length-1; n++) {
- var name = names[n];
- if(obj[name]) {
- obj = obj[name];
- } else {
- obj[name] = new Object();
- obj = obj[name];
- }
- }
- var name = names[names.length-1];
- if(!obj[name]) {
- var method = this._createMethod(methodNames[i]);
- obj[name] = method;
- }
- }
-};
-
-JSONRpcClient._getCharsetFromHeaders =
-function JSONRpcClient_getCharsetFromHeaders(http)
-{
- try {
- var contentType = http.getResponseHeader("Content-type");
- var parts = contentType.split(/\s*;\s*/);
- for(var i =0; i < parts.length; i++) {
- if(parts[i].substring(0, 8) == "charset=")
- return parts[i].substring(8, parts[i].length);
- }
- } catch (e) {}
- return "UTF-8"; /* default */
-};
-
-/* Async queue globals */
-JSONRpcClient.async_requests = [];
-JSONRpcClient.async_inflight = {};
-JSONRpcClient.async_responses = [];
-JSONRpcClient.async_timeout = null;
-JSONRpcClient.num_req_active = 0;
-
-JSONRpcClient._async_handler =
-function JSONRpcClient_async_handler()
-{
- JSONRpcClient.async_timeout = null;
-
- while(JSONRpcClient.async_responses.length > 0) {
- var res = JSONRpcClient.async_responses.shift();
- if(res.canceled) continue;
- if(res.profile) res.profile.dispatch = new Date();
- try {
- res.cb(res.result, res.ex, res.profile);
- } catch(e) {
- JSONRpcClient.toplevel_ex_handler(e);
- }
- }
-
- while(JSONRpcClient.async_requests.length > 0 &&
- JSONRpcClient.num_req_active < JSONRpcClient.max_req_active) {
- var req = JSONRpcClient.async_requests.shift();
- if(req.canceled) continue;
- req.client._sendRequest.call(req.client, req);
- }
-};
-
-JSONRpcClient.kick_async =
-function JSONRpcClient_kick_async()
-{
- if(JSONRpcClient.async_timeout == null)
- JSONRpcClient.async_timeout =
- setTimeout(JSONRpcClient._async_handler, 0);
-};
-
-JSONRpcClient.cancelRequest =
-function JSONRpcClient_cancelRequest(requestId)
-{
- /* If it is in flight then mark it as canceled in the inflight map
- and the XMLHttpRequest callback will discard the reply. */
- if(JSONRpcClient.async_inflight[requestId]) {
- JSONRpcClient.async_inflight[requestId].canceled = true;
- return true;
- }
-
- /* If its not in flight yet then we can just mark it as canceled in
- the the request queue and it will get discarded before being sent. */
- for(var i in JSONRpcClient.async_requests) {
- if(JSONRpcClient.async_requests[i].requestId == requestId) {
- JSONRpcClient.async_requests[i].canceled = true;
- return true;
- }
- }
-
- /* It may have returned from the network and be waiting for its callback
- to be dispatched, so mark it as canceled in the response queue
- and the response will get discarded before calling the callback. */
- for(var i in JSONRpcClient.async_responses) {
- if(JSONRpcClient.async_responses[i].requestId == requestId) {
- JSONRpcClient.async_responses[i].canceled = true;
- return true;
- }
- }
-
- return false;
-};
-
-JSONRpcClient.prototype._makeRequest =
-function JSONRpcClient_makeRequest(methodName, args, cb)
-{
- var req = {};
- req.client = this;
- req.requestId = JSONRpcClient.requestId++;
-
- var obj = {};
- obj.id = req.requestId;
- if (this.objectID)
- obj.method = ".obj#" + this.objectID + "." + methodName;
- else
- obj.method = methodName;
- obj.params = args;
-
- if (cb) req.cb = cb;
- if (JSONRpcClient.profile_async)
- req.profile = { "submit": new Date() };
- req.data = toJSON(obj);
-
- return req;
-};
-
-JSONRpcClient.prototype._sendRequest =
-function JSONRpcClient_sendRequest(req)
-{
- if(req.profile) req.profile.start = new Date();
-
- /* Get free http object from the pool */
- var http = JSONRpcClient.poolGetHTTPRequest();
- JSONRpcClient.num_req_active++;
-
- /* Send the request */
- if (typeof(this.user) == "undefined") {
- http.open("POST", this.serverURL, (req.cb != null));
- } else {
- http.open("POST", this.serverURL, (req.cb != null), this.user, this.pass);
- }
-
- /* setRequestHeader is missing in Opera 8 Beta */
- try { http.setRequestHeader("Content-type", "text/plain"); } catch(e) {}
-
- /* Construct call back if we have one */
- if(req.cb) {
- var self = this;
- http.onreadystatechange = function() {
- if(http.readyState == 4) {
- http.onreadystatechange = function () {};
- var res = { "cb": req.cb, "result": null, "ex": null};
- if (req.profile) {
- res.profile = req.profile;
- res.profile.end = new Date();
- }
- try { res.result = self._handleResponse(http); }
- catch(e) { res.ex = e; }
- if(!JSONRpcClient.async_inflight[req.requestId].canceled)
- JSONRpcClient.async_responses.push(res);
- delete JSONRpcClient.async_inflight[req.requestId];
- JSONRpcClient.kick_async();
- }
- };
- } else {
- http.onreadystatechange = function() {};
- }
-
- JSONRpcClient.async_inflight[req.requestId] = req;
-
- try {
- http.send(req.data);
- } catch(e) {
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
- throw new JSONRpcClient.Exception
- (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");
- }
-
- if(!req.cb) return this._handleResponse(http);
-};
-
-JSONRpcClient.prototype._handleResponse =
-function JSONRpcClient_handleResponse(http)
-{
- /* Get the charset */
- if(!this.charset) {
- this.charset = JSONRpcClient._getCharsetFromHeaders(http);
- }
-
- /* Get request results */
- var status, statusText, data;
- try {
- status = http.status;
- statusText = http.statusText;
- data = http.responseText;
- } catch(e) {
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
- JSONRpcClient.kick_async();
- throw new JSONRpcClient.Exception
- (JSONRpcClient.Exception.CODE_ERR_CLIENT, "Connection failed");
- }
-
- /* Return http object to the pool; */
- JSONRpcClient.poolReturnHTTPRequest(http);
- JSONRpcClient.num_req_active--;
-
- /* Unmarshall the response */
- if(status != 200) {
- throw new JSONRpcClient.Exception(status, statusText);
- }
- var obj;
- try {
- eval("obj = " + data);
- } catch(e) {
- throw new JSONRpcClient.Exception(550, "error parsing result");
- }
- if(obj.error)
- throw new JSONRpcClient.Exception(obj.error.code, obj.error.msg,
- obj.error.trace);
- var res = obj.result;
-
- /* Handle CallableProxy */
- if(res && res.objectID && res.JSONRPCType == "CallableReference")
- return new JSONRpcClient(this.serverURL, this.user,
- this.pass, res.objectID);
-
- return res;
-};
-
-
-/* XMLHttpRequest wrapper code */
-
-/* XMLHttpRequest pool globals */
-JSONRpcClient.http_spare = [];
-JSONRpcClient.http_max_spare = 8;
-
-JSONRpcClient.poolGetHTTPRequest =
-function JSONRpcClient_pool_getHTTPRequest()
-{
- if(JSONRpcClient.http_spare.length > 0) {
- return JSONRpcClient.http_spare.pop();
- }
- return JSONRpcClient.getHTTPRequest();
-};
-
-JSONRpcClient.poolReturnHTTPRequest =
-function JSONRpcClient_poolReturnHTTPRequest(http)
-{
- if(JSONRpcClient.http_spare.length >= JSONRpcClient.http_max_spare)
- delete http;
- else
- JSONRpcClient.http_spare.push(http);
-};
-
-JSONRpcClient.msxmlNames = [ "MSXML2.XMLHTTP.5.0",
- "MSXML2.XMLHTTP.4.0",
- "MSXML2.XMLHTTP.3.0",
- "MSXML2.XMLHTTP",
- "Microsoft.XMLHTTP" ];
-
-JSONRpcClient.getHTTPRequest =
-function JSONRpcClient_getHTTPRequest()
-{
- /* Mozilla XMLHttpRequest */
- try {
- JSONRpcClient.httpObjectName = "XMLHttpRequest";
- return new XMLHttpRequest();
- } catch(e) {}
-
- /* Microsoft MSXML ActiveX */
- for (var i=0;i < JSONRpcClient.msxmlNames.length; i++) {
- try {
- JSONRpcClient.httpObjectName = JSONRpcClient.msxmlNames[i];
- return new ActiveXObject(JSONRpcClient.msxmlNames[i]);
- } catch (e) {}
- }
-
- /* None found */
- JSONRpcClient.httpObjectName = null;
- throw new JSONRpcClient.Exception(0, "Can't create XMLHttpRequest object");
-};
-
diff --git a/branches/sca-equinox/modules/implementation-web/LICENSE b/branches/sca-equinox/modules/implementation-web/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/implementation-web/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/implementation-web/META-INF/README b/branches/sca-equinox/modules/implementation-web/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/implementation-web/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/implementation-web/NOTICE b/branches/sca-equinox/modules/implementation-web/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/implementation-web/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/implementation-web/pom.xml b/branches/sca-equinox/modules/implementation-web/pom.xml deleted file mode 100644 index 8bb8546f26..0000000000 --- a/branches/sca-equinox/modules/implementation-web/pom.xml +++ /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.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-implementation-web</artifactId>
- <name>Apache Tuscany SCA Web Implementation Model</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-Version>${tuscany.version}</Bundle-Version>
- <Bundle-SymbolicName>org.apache.tuscany.sca.implementation.web</Bundle-SymbolicName>
- <Bundle-Description>${pom.name}</Bundle-Description>
- <Export-Package>org.apache.tuscany.sca.implementation.web*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java b/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java deleted file mode 100644 index 86af3d7204..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.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 org.apache.tuscany.sca.implementation.web;
-
-import org.apache.tuscany.sca.assembly.Implementation;
-
-
-
-/**
- * The model representing an Web implementation in an SCA assembly model.
- */
-public interface WebImplementation extends Implementation {
-
- /**
- * Returns the webapp URI.
- * @return the webapp URI
- */
- String getWebURI();
-
- /**
- * Sets the Webapp URI.
- * @param uri the webapp URI
- */
- void setWebURI(String webappURI);
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java b/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java deleted file mode 100644 index 0cb80de03e..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java +++ /dev/null @@ -1,34 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.implementation.web;
-
-
-/**
- * Factory for the Web implementation model.
- */
-public interface WebImplementationFactory {
-
- /**
- * Creates a new Web implementation.
- * @return a new Web implementation
- */
- WebImplementation createWebImplementation();
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java b/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java deleted file mode 100644 index 744fefc39b..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.implementation.web.impl;
-
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.implementation.web.WebImplementationFactory;
-
-/**
- * Factory for the Web implementation model.
- */
-public class WebImplementationFactoryImpl implements WebImplementationFactory {
-
- public WebImplementationFactoryImpl() {
- }
-
- public WebImplementation createWebImplementation() {
- return new WebImplementationImpl();
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java b/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java deleted file mode 100644 index e64069cec1..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java +++ /dev/null @@ -1,135 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.web.impl;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.tuscany.sca.assembly.ConstrainingType;
-import org.apache.tuscany.sca.assembly.builder.ComponentPreProcessor;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Property;
-import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-
-
-/**
- * The model representing an Web implementation in an SCA assembly model.
- */
-class WebImplementationImpl implements WebImplementation, ComponentPreProcessor {
-
- private List<Property> properties = new ArrayList<Property>();
- private List<Reference> references = new ArrayList<Reference>();
- private String uri;
- private boolean unresolved;
-
- private String webURI;
-
- /**
- * Constructs a new Web implementation.
- */
- WebImplementationImpl() {
- }
-
- public ConstrainingType getConstrainingType() {
- // The Web implementation does not support constrainingTypes
- return null;
- }
-
- public List<Property> getProperties() {
- return properties;
- }
-
- public List<Service> getServices() {
- // The Web implementation does not offer services
- return Collections.emptyList();
- }
-
- public List<Reference> getReferences() {
- return references;
- }
-
- public void setConstrainingType(ConstrainingType constrainingType) {
- // The Web implementation does not support constrainingTypes
- }
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public boolean isUnresolved() {
- return unresolved;
- }
-
- public void setUnresolved(boolean unresolved) {
- this.unresolved = unresolved;
- }
-
- public String getWebURI() {
- return webURI;
- }
-
- public void setWebURI(String webURI) {
- this.webURI = webURI;
- }
-
- /**
- * Use preProcess to add any references dynamically
- * TODO: also support introspection and handle WEB-INF/web.componentType (spec line 503)
- */
- public void preProcess(Component component) {
- if (!(component instanceof RuntimeComponent)) {
- return;
- }
- RuntimeComponent rtc = (RuntimeComponent) component;
-
- for (Reference reference : rtc.getReferences()) {
- if (getReference(reference.getName()) == null) {
- getReferences().add(createReference(reference));
- }
- }
- }
-
- protected Reference getReference(String name) {
- for (Reference reference : getReferences()) {
- if (reference.getName().equals(name)) {
- return reference;
- }
- }
- return null;
- }
-
- protected Reference createReference(Reference reference) {
- Reference newReference;
- try {
- newReference = (Reference)reference.clone();
- } catch (CloneNotSupportedException e) {
- throw new AssertionError(e); // should not ever happen
- }
- return newReference;
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java b/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java deleted file mode 100644 index d4a0ab7ef1..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java +++ /dev/null @@ -1,121 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.web.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.xml.Constants;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.contribution.service.ContributionReadException;
-import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.implementation.web.WebImplementationFactory;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-
-/**
- * Implements a StAX artifact processor for Web implementations.
- */
-public class WebImplementationProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<WebImplementation> {
- private static final QName IMPLEMENTATION_WEB = new QName(Constants.SCA10_NS, "implementation.web");
-
- private AssemblyFactory assemblyFactory;
- private WebImplementationFactory implementationFactory;
- private Monitor monitor;
-
- public WebImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) {
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.implementationFactory = modelFactories.getFactory(WebImplementationFactory.class);
- this.monitor = monitor;
- }
-
- public QName getArtifactType() {
- // Returns the QName of the XML element processed by this processor
- return IMPLEMENTATION_WEB;
- }
-
- public Class<WebImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return WebImplementation.class;
- }
-
- public WebImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
-
- // Read an <implementation.web> element
- WebImplementation implementation = implementationFactory.createWebImplementation();
- implementation.setUnresolved(true);
-
- // Read the webapp uri attribute
- String webURI = getString(reader, "web-uri");
- if (webURI != null) {
- implementation.setWebURI(webURI);
-
- // Set the URI of the component type
- implementation.setURI(webURI);
- }
-
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_WEB.equals(reader.getName())) {
- break;
- }
- }
-
- return implementation;
- }
-
- public void resolve(WebImplementation implementation, ModelResolver resolver) throws ContributionResolveException {
-
- // Resolve the component type
- String uri = implementation.getURI();
- if (uri != null) {
- ComponentType componentType = assemblyFactory.createComponentType();
- componentType.setURI(uri + ".componentType");
- componentType = resolver.resolveModel(ComponentType.class, componentType);
- if (!componentType.isUnresolved()) {
-
- // Initialize the implementation's services, references and properties
- implementation.getServices().addAll(componentType.getServices());
- implementation.getReferences().addAll(componentType.getReferences());
- implementation.getProperties().addAll(componentType.getProperties());
- }
- }
- implementation.setUnresolved(false);
- }
-
- public void write(WebImplementation implementation, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- // Write <implementation.web>
- writeStart(writer, IMPLEMENTATION_WEB.getNamespaceURI(), IMPLEMENTATION_WEB.getLocalPart(),
- new XAttr("web-uri", implementation.getWebURI()));
-
- writeEnd(writer);
- }
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/branches/sca-equinox/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 3f1e888e16..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,19 +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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.implementation.web.xml.WebImplementationProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#implementation.web,model=org.apache.tuscany.sca.implementation.web.WebImplementation,factory=org.apache.tuscany.sca.implementation.web.WebImplementationFactory diff --git a/branches/sca-equinox/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory b/branches/sca-equinox/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory deleted file mode 100644 index d54fe9fcee..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory +++ /dev/null @@ -1,19 +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. - -# Implementation class for model factory -org.apache.tuscany.sca.implementation.web.impl.WebImplementationFactoryImpl diff --git a/branches/sca-equinox/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java b/branches/sca-equinox/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java deleted file mode 100644 index 10a7df7ae5..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java +++ /dev/null @@ -1,81 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.implementation.web.xml;
-
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
-import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
-import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-import org.apache.tuscany.sca.core.UtilityExtensionPoint;
-import org.apache.tuscany.sca.implementation.web.WebImplementation;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
-
-/**
- * Test reading Web implementations.
- */
-public class ReadTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
- private CompositeBuilder compositeBuilder;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null);
-
- ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
- AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class);
- UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class);
- InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class);
- IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
- compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null);
- }
-
- public void testReadComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestWeb.composite");
- XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- Composite composite = (Composite) staxProcessor.read(reader);
- assertNotNull(composite);
-
- compositeBuilder.build(composite);
-
- assertTrue(((WebImplementation) composite.getComponents().get(0).getImplementation()).getWebURI().equals("MyWebapp"));
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java b/branches/sca-equinox/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java deleted file mode 100644 index 723672270d..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java +++ /dev/null @@ -1,66 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.implementation.web.xml;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
-
-/**
- * Test reading/write Web implementations.
- */
-public class WriteTestCase extends TestCase {
-
- private XMLInputFactory inputFactory;
- private XMLOutputFactory outputFactory;
- private StAXArtifactProcessor<Object> staxProcessor;
-
- @Override
- public void setUp() throws Exception {
- DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry();
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints);
- staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null);
- }
-
- public void testReadWriteComposite() throws Exception {
- InputStream is = getClass().getResourceAsStream("TestWeb.composite");
- Composite composite = (Composite) staxProcessor.read(inputFactory.createXMLStreamReader(is));
- assertNotNull(composite);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos));
-
- assertTrue(bos.toString().contains("web-uri=\"MyWebapp\""));
-
- }
-
-}
diff --git a/branches/sca-equinox/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite b/branches/sca-equinox/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite deleted file mode 100644 index 181de3772b..0000000000 --- a/branches/sca-equinox/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample/web"
- xmlns:sc="http://sample/composite"
- name="TestWeb">
-
- <component name="TestWeb">
- <implementation.web web-uri="MyWebapp"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/modules/node-launcher-osgi/LICENSE b/branches/sca-equinox/modules/node-launcher-osgi/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-
-
diff --git a/branches/sca-equinox/modules/node-launcher-osgi/META-INF/README b/branches/sca-equinox/modules/node-launcher-osgi/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/node-launcher-osgi/NOTICE b/branches/sca-equinox/modules/node-launcher-osgi/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/node-launcher-osgi/pom.xml b/branches/sca-equinox/modules/node-launcher-osgi/pom.xml deleted file mode 100644 index d5754530c9..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/pom.xml +++ /dev/null @@ -1,151 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>tuscany-node-launcher-osgi</artifactId> - <name>Apache Tuscany SCA Node OSGi Launcher</name> - - <dependencies> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> <!-- To be compatible with Jetty 6 --> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.core</artifactId> - <version>1.0.1</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.framework</artifactId> - <version>1.0.4</version> - <scope>compile</scope> - <exclusions> - <exclusion> - <groupId>org.apache.felix</groupId> - <artifactId>javax.servlet</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-node-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-extensibility-osgi</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution-osgi</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-domain-manager</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-http-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>test</scope> - </dependency> - - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <version>2.0</version> - <executions> - <execution> - <id>copy-dependencies</id> - <phase>process-test-resources</phase> - <goals> - <goal>copy-dependencies</goal> - </goals> - <configuration> - <includeScope>test</includeScope> - <outputDirectory>${project.build.directory}/tuscany/modules</outputDirectory> - <overWriteReleases>true</overWriteReleases> - <overWriteSnapshots>true</overWriteSnapshots> - <excludeArtifactIds></excludeArtifactIds> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <mainClass>org.apache.tuscany.sca.node.osgi.launcher.NodeMain</mainClass> - </manifest> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.node.launcher.osgi</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.node.osgi.launcher*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java deleted file mode 100644 index 0214d5185f..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.node.osgi.launcher; - -/** - * Represents an SCA contribution uri + location. - * - * @version $Rev$ $Date$ - */ -public final class Contribution { - private String uri; - private String location; - - /** - * Constructs a new SCA contribution. - * - * @param uri - * @param location - */ - public Contribution(String uri, String location) { - this.uri = uri; - this.location = location; - } - - public String getURI() { - return uri; - } - - public String getLocation() { - return location; - } -}
\ No newline at end of file diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java deleted file mode 100644 index f94c43bd52..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import static org.apache.tuscany.sca.node.osgi.launcher.NodeLauncherUtil.domainManager; - -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * Simple launcher for the SCA domain manager. - * - * @version $Rev$ $Date$ - */ -public class DomainManagerLauncher { - - private static final Logger logger = Logger.getLogger(DomainManagerLauncher.class.getName()); - - /** - * Constructs a new DomainManagerLauncher. - */ - private DomainManagerLauncher() { - } - - /** - * Returns a new launcher instance. - * - * @return a new launcher instance - */ - public static DomainManagerLauncher newInstance() { - return new DomainManagerLauncher(); - } - - /** - * Creates a new DomainManager. - * - * @return a new DomainManager - * @throws LauncherException - */ - public <T> T createDomainManager() throws LauncherException { - return (T)domainManager("."); - } - - /** - * Creates a new DomainManager. - * - * @param rootDirectory the domain's root configuration directory - * - * @return a new DomainManager - * @throws LauncherException - */ - public <T> T createDomainManager(String rootDirectory) throws LauncherException { - return (T)domainManager(rootDirectory); - } - - public static void main(String[] args) throws Exception { - logger.info("Apache Tuscany SCA Domain Manager starting..."); - - // Create a domain manager - DomainManagerLauncher launcher = newInstance(); - OSGiHost host = NodeLauncherUtil.startOSGi(); - try { - - Object domainManager = launcher.createDomainManager(); - - // Start the domain manager - try { - domainManager.getClass().getMethod("start").invoke(domainManager); - } catch (Exception e) { - logger.log(Level.SEVERE, "SCA Domain Manager could not be started", e); - throw e; - } - logger.info("SCA Domain Manager started."); - - logger.info("Press enter to shutdown."); - try { - System.in.read(); - } catch (IOException e) { - } - - // Stop the domain manager - try { - domainManager.getClass().getMethod("stop").invoke(domainManager); - } catch (Exception e) { - logger.log(Level.SEVERE, "SCA Domain Manager could not be stopped", e); - throw e; - } - } finally { - NodeLauncherUtil.stopOSGi(host); - } - } -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java deleted file mode 100644 index 5e4a0ed338..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.felix.framework.Felix; -import org.apache.felix.framework.cache.BundleCache; -import org.apache.felix.framework.util.FelixConstants; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; -import org.osgi.framework.Constants; - -/** - * - */ -public class FelixOSGiHost implements OSGiHost { - - private Felix felix; - private LauncherBundleActivator activator; - //private ClassLoader tccl; - - private final static String systemPackages = - "org.osgi.framework; version=1.3.0," + "org.osgi.service.packageadmin; version=1.2.0, " - + "org.osgi.service.startlevel; version=1.0.0, " - + "org.osgi.service.url; version=1.0.0, " - + "org.osgi.util.tracker; version=1.3.2, " - + "javax.xml, " - + "javax.xml.datatype, " - + "javax.xml.namespace, " - + "javax.xml.parsers, " - + "javax.xml.transform, " - + "javax.xml.transform.dom, " - + "javax.xml.transform.sax, " - + "javax.xml.transform.stream, " - + "javax.xml.validation, " - + "javax.xml.xpath, " - // Force the classes to be imported from the system bundle - // + "javax.xml.stream, " - // + "javax.xml.stream.util, " - + "javax.sql," - + "org.w3c.dom, " - + "org.xml.sax, " - + "org.xml.sax.ext, " - + "org.xml.sax.helpers, " - + "javax.security.auth, " - + "javax.security.cert, " - + "javax.security.auth.login, " - + "javax.security.auth.callback, " - + "javax.naming, " - + "javax.naming.spi, " - + "javax.naming.directory, " - + "javax.management, " - + "javax.imageio, " - + "sun.misc, " - + "javax.net, " - + "javax.net.ssl, " - + "javax.crypto, " - + "javax.rmi, " - + "javax.transaction, " - + "javax.transaction.xa"; - - public LauncherBundleActivator getActivator() { - if (activator == null) { - activator = new LauncherBundleActivator(); - } - return activator; - } - - public void setActivator(LauncherBundleActivator activator) { - this.activator = activator; - } - - public BundleContext start() { - try { - startup(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - BundleContext bundleContext = felix.getBundleContext(); - return bundleContext; - } - - public void stop() { - try { - shutdown(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - - private void startup() throws BundleException { - if (felix != null) { - throw new IllegalStateException("Felix is already running."); - } - - // Create a configuration property map. - Map<String, String> configMap = new HashMap<String, String>(); - // Configure the Felix instance to be embedded. - configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true"); - // Add core OSGi packages to be exported from the class path - // via the system bundle. - configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, systemPackages); - // Explicitly specify the directory to use for caching bundles. - configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "target/.felix"); - List<BundleActivator> list = new ArrayList<BundleActivator>(); - - list.add(getActivator()); - - // Now create an instance of the framework with - // our configuration properties and activator. - felix = new Felix(configMap, list); - - // Now start Felix instance. - felix.start(); - - //tccl = Thread.currentThread().getContextClassLoader(); - //Thread.currentThread().setContextClassLoader(getContextClassLoader(felix.getBundleContext())); - - } - - private ClassLoader getContextClassLoader(BundleContext bundleContext) { - for (Bundle b : bundleContext.getBundles()) { - if ("org.apache.tuscany.sca.extensibility.osgi".equals(b.getSymbolicName())) { - try { - b.start(); - Class<?> discovererClass = b.loadClass("org.apache.tuscany.sca.extensibility.ServiceDiscovery"); - Method getInstance = discovererClass.getMethod("getInstance"); - Object instance = getInstance.invoke(null); - Method getter = discovererClass.getMethod("getServiceDiscoverer"); - Object discoverer = getter.invoke(instance); - - Method getCL = discoverer.getClass().getMethod("getContextClassLoader"); - ClassLoader cl = (ClassLoader)getCL.invoke(discoverer); - return cl; - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - } - return null; - } - - private void shutdown() throws BundleException { - if (felix != null) { - felix.stopAndWait(); - } - //Thread.currentThread().setContextClassLoader(tccl); - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java deleted file mode 100644 index 38c7093a16..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java +++ /dev/null @@ -1,348 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FilenameFilter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.logging.Logger; - -/** - * - */ -public class JarFileFinder { - /** - * A file name filter used to filter JAR files. - */ - static class StandAloneJARFileNameFilter implements FilenameFilter { - - public boolean accept(File dir, String name) { - name = name.toLowerCase(); - - // Exclude tuscany-sca-all and tuscany-sca-manifest as they duplicate - // code in the individual runtime module JARs - if (name.startsWith("tuscany-sca-all")) { - return false; - } - if (name.startsWith("tuscany-sca-manifest")) { - return false; - } - - // Filter out the Tomcat and Webapp hosts - if (name.startsWith("tuscany-host-tomcat") || name.startsWith("tuscany-host-webapp")) { - //FIXME This is temporary - return false; - } - - // Include JAR and MAR files - if (name.endsWith(".jar")) { - return true; - } - if (name.endsWith(".mar")) { - return true; - } - return false; - } - } - - /** - * A file name filter used to filter JAR files. - */ - static class WebAppJARFileNameFilter extends StandAloneJARFileNameFilter { - - public boolean accept(File dir, String name) { - if (!super.accept(dir, name)) { - return false; - } - name = name.toLowerCase(); - - // Exclude servlet-api JARs - if (name.startsWith("servlet-api")) { - return false; - } - - // Exclude the Tomcat and Jetty hosts - if (name.startsWith("tuscany-host-tomcat") || name.startsWith("tuscany-host-jetty")) { - //FIXME This is temporary - return false; - } - - return true; - } - } - - private static final Logger logger = Logger.getLogger(JarFileFinder.class.getName()); - - static final String TUSCANY_HOME = "TUSCANY_HOME"; - private static final String TUSCANY_PATH = "TUSCANY_PATH"; - - /** - * Collect JAR files in the given directory - * @param directory - * @param urls - * @param filter - * @throws MalformedURLException - */ - private static void collectJARFiles(File directory, List<URL> urls, FilenameFilter filter) - throws MalformedURLException { - String[] files = directory.list(filter); - if (files != null) { - URL directoryURL = new URL(directory.toURI().toString() + "/"); - int count = 0; - for (String file : files) { - URL url = new URL(directoryURL, file); - urls.add(url); - count++; - } - if (count != 0) { - logger.fine("Runtime classpath: " + count - + " JAR" - + (count > 1 ? "s" : "") - + " from " - + directory.toString()); - } - } - } - - /** - * Collect JAR files under the given directory. - * - * @param directory - * @param jarDirectoryURLs - * @param jarURLs - * @param filter - * @throws MalformedURLException - */ - private static void collectJARFiles(String directory, - Set<URL> jarDirectoryURLs, - List<URL> jarURLs, - FilenameFilter filter) throws MalformedURLException { - File directoryFile = new File(directory); - URL directoryURL = directoryFile.toURI().toURL(); - if (!jarDirectoryURLs.contains(directoryURL) && directoryFile.exists()) { - - // Collect files under $TUSCANY_HOME - jarDirectoryURLs.add(directoryURL); - collectJARFiles(directoryFile, jarURLs, filter); - - // Collect files under $TUSCANY_HOME/modules - File modulesDirectory = new File(directoryFile, "modules"); - URL modulesDirectoryURL = modulesDirectory.toURI().toURL(); - if (!jarDirectoryURLs.contains(modulesDirectoryURL) && modulesDirectory.exists()) { - jarDirectoryURLs.add(modulesDirectoryURL); - collectJARFiles(modulesDirectory, jarURLs, filter); - } - - // Collect files under $TUSCANY_HOME/lib - File libDirectory = new File(directoryFile, "lib"); - URL libDirectoryURL = libDirectory.toURI().toURL(); - if (!jarDirectoryURLs.contains(libDirectoryURL) && libDirectory.exists()) { - jarDirectoryURLs.add(libDirectoryURL); - collectJARFiles(libDirectory, jarURLs, filter); - } - } - } - - /** - * Returns a ClassLoader for the Tuscany runtime JARs. - * - * @param parentClassLoader - * @param filter - * - * @return - */ - public static List<URL> findJarFiles(File root, FilenameFilter filter) throws FileNotFoundException, - URISyntaxException, MalformedURLException { - - // Build list of runtime JARs - Set<URL> jarDirectoryURLs = new HashSet<URL>(); - List<URL> jarURLs = new ArrayList<URL>(); - - URL url = null; - if (root != null) { - url = root.toURI().toURL(); - } else { - // First determine the path to the launcher class - String resource = JarFileFinder.class.getName().replace('.', '/') + ".class"; - url = JarFileFinder.class.getClassLoader().getResource(resource); - if (url == null) { - throw new FileNotFoundException(resource); - } - - url = getContainer(url, resource); - } - URI uri = url.toURI(); - - // If the launcher class is in a JAR, add all runtime JARs from directory containing - // that JAR (e.g. the Tuscany modules directory) as well as the ../modules and - // ../lib directories - if (url != null && "file".equals(url.getProtocol())) { - - File file = new File(uri); - if (file.exists()) { - File jarDirectory = file.getParentFile(); - if (jarDirectory != null && jarDirectory.exists()) { - - // Collect JAR files from the directory containing the input JAR - // (e.g. the Tuscany modules directory) - URL jarDirectoryURL = jarDirectory.toURI().toURL(); - jarDirectoryURLs.add(jarDirectoryURL); - collectJARFiles(jarDirectory, jarURLs, filter); - - File homeDirectory = jarDirectory.getParentFile(); - if (homeDirectory != null && homeDirectory.exists()) { - - // Collect JARs from the ../modules directory - File modulesDirectory = new File(homeDirectory, "modules"); - URL modulesDirectoryURL = modulesDirectory.toURI().toURL(); - if (!jarDirectoryURLs.contains(modulesDirectoryURL) && modulesDirectory.exists()) { - jarDirectoryURLs.add(modulesDirectoryURL); - collectJARFiles(modulesDirectory, jarURLs, filter); - } - - // Collect JARs from the ../lib directory - File libDirectory = new File(homeDirectory, "lib"); - URL libDirectoryURL = libDirectory.toURI().toURL(); - if (!jarDirectoryURLs.contains(libDirectoryURL) && libDirectory.exists()) { - jarDirectoryURLs.add(libDirectoryURL); - collectJARFiles(libDirectory, jarURLs, filter); - } - } - } - } - } - - // Look for a TUSCANY_HOME system property or environment variable - // Add all the JARs found under $TUSCANY_HOME, $TUSCANY_HOME/modules - // and $TUSCANY_HOME/lib - String home = getProperty(TUSCANY_HOME); - if (home != null && home.length() != 0) { - logger.fine(TUSCANY_HOME + ": " + home); - collectJARFiles(home, jarDirectoryURLs, jarURLs, filter); - } - - // Look for a TUSCANY_PATH system property or environment variable - // Add all the JARs found under $TUSCANY_PATH, $TUSCANY_PATH/modules - // and $TUSCANY_PATH/lib - String ext = getProperty(TUSCANY_PATH); - if (ext != null && ext.length() != 0) { - logger.fine(TUSCANY_PATH + ": " + ext); - String separator = getProperty("path.separator"); - for (StringTokenizer tokens = new StringTokenizer(ext, separator); tokens.hasMoreTokens();) { - collectJARFiles(tokens.nextToken(), jarDirectoryURLs, jarURLs, filter); - } - } - - return jarURLs; - - } - - static String getProperty(final String prop) { - return AccessController.doPrivileged(new PrivilegedAction<String>() { - public String run() { - String value = System.getProperty(prop); - if (value == null || value.length() == 0) { - return System.getenv(prop); - } else { - return value; - } - } - }); - } - - private static File toFile(URL url) { - if (url == null || !url.getProtocol().equals("file")) { - return null; - } else { - String filename = url.getFile().replace('/', File.separatorChar); - int pos = 0; - while ((pos = filename.indexOf('%', pos)) >= 0) { - if (pos + 2 < filename.length()) { - String hexStr = filename.substring(pos + 1, pos + 3); - char ch = (char)Integer.parseInt(hexStr, 16); - filename = filename.substring(0, pos) + ch + filename.substring(pos + 3); - } - } - return new File(filename); - } - } - - private static URL getContainer(URL resourceURL, String resourceName) { - URL root = null; - // "jar:file://....../something.jar!/a/b/c/app.composite" - try { - String url = resourceURL.toExternalForm(); - String protocol = resourceURL.getProtocol(); - if ("file".equals(protocol)) { - // directory contribution - if (url.endsWith("/" + resourceName)) { - final String location = url.substring(0, url.length() - resourceName.length() - 1); - // workaround from evil URL/URI form Maven - // contributionURL = FileHelper.toFile(new URL(location)).toURI().toURL(); - // Allow privileged access to open URL stream. Add FilePermission to added to - // security policy file. - try { - root = AccessController.doPrivileged(new PrivilegedExceptionAction<URL>() { - public URL run() throws IOException { - return toFile(new URL(location)).toURI().toURL(); - } - }); - } catch (PrivilegedActionException e) { - throw (MalformedURLException)e.getException(); - } - } - - } else if ("jar".equals(protocol)) { - // jar contribution - String location = url.substring(4, url.lastIndexOf("!/")); - // workaround for evil URL/URI from Maven - root = toFile(new URL(location)).toURI().toURL(); - - } else if ("wsjar".equals(protocol)) { - // See https://issues.apache.org/jira/browse/TUSCANY-2219 - // wsjar contribution - String location = url.substring(6, url.lastIndexOf("!/")); - // workaround for evil url/uri from maven - root = toFile(new URL(location)).toURI().toURL(); - - } else if (protocol != null && (protocol.equals("bundle") || protocol.equals("bundleresource"))) { - root = new URL(resourceURL.getProtocol(), resourceURL.getHost(), resourceURL.getPort(), "/"); - } - } catch (MalformedURLException mfe) { - throw new IllegalArgumentException(mfe); - } - return root; - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java deleted file mode 100644 index 13af11238e..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java +++ /dev/null @@ -1,457 +0,0 @@ -package org.apache.tuscany.sca.node.osgi.launcher; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URI; -import java.net.URL; -import java.security.CodeSource; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.jar.Attributes; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; -import java.util.jar.JarOutputStream; -import java.util.jar.Manifest; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.zip.ZipEntry; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleEvent; -import org.osgi.framework.BundleListener; -import org.osgi.framework.Constants; - -/** - * Bundle activator which installs Tuscany modules and 3rd party jars into an OSGi runtime. - * - */ -public class LauncherBundleActivator implements BundleActivator, Constants, BundleListener { - private static Logger logger = Logger.getLogger(LauncherBundleActivator.class.getName()); - private static final String[] immutableJars = {"bcprov"}; - - private BundleContext bundleContext; - private List<Bundle> tuscanyBundles = new ArrayList<Bundle>(); - - private List<URL> jarFiles; - - public LauncherBundleActivator() { - super(); - } - - public LauncherBundleActivator(List<URL> jarFiles) { - super(); - this.jarFiles = jarFiles; - } - - public static String toString(Bundle b, boolean verbose) { - StringBuffer sb = new StringBuffer(); - sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName()); - int s = b.getState(); - if ((s & Bundle.UNINSTALLED) != 0) { - sb.append(" UNINSTALLED"); - } - if ((s & Bundle.INSTALLED) != 0) { - sb.append(" INSTALLED"); - } - if ((s & Bundle.RESOLVED) != 0) { - sb.append(" RESOLVED"); - } - if ((s & Bundle.STARTING) != 0) { - sb.append(" STARTING"); - } - if ((s & Bundle.STOPPING) != 0) { - sb.append(" STOPPING"); - } - if ((s & Bundle.ACTIVE) != 0) { - sb.append(" ACTIVE"); - } - - if (verbose) { - sb.append(" ").append(b.getLocation()); - sb.append(" ").append(b.getHeaders()); - } - return sb.toString(); - } - - public void start(BundleContext bundleContext) throws Exception { - this.bundleContext = bundleContext; - this.bundleContext.addBundleListener(this); - installTuscany(bundleContext); - - for (Bundle b : bundleContext.getBundles()) { - try { - if ("org.apache.tuscany.sca.contribution.osgi".equals(b.getSymbolicName())) { - b.start(); - logger.info(toString(b, false) + " " + b.getState()); - break; - } - } catch (Exception e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - } - - public void stop(BundleContext bundleContext) throws Exception { - /* - for (Bundle bundle : tuscanyBundles) { - try { - bundle.stop(); - } catch (Exception e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - */ - - for (Bundle bundle : tuscanyBundles) { - try { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Uninstalling bundle: " + toString(bundle, false)); - } - bundle.uninstall(); - } catch (Exception e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - this.bundleContext.removeBundleListener(this); - tuscanyBundles.clear(); - this.bundleContext = null; - } - - public void installTuscany(BundleContext bundleContext) { - long start = System.currentTimeMillis(); - - try { - - // FIXME: SDO bundles dont have the correct dependencies - System.setProperty("commonj.sdo.impl.HelperProvider", "org.apache.tuscany.sdo.helper.HelperProviderImpl"); - List<URL> urls = jarFiles; - if (urls == null) { - File tuscanyInstallDir = findTuscanyInstallDir(bundleContext.getBundle()); - - urls = JarFileFinder.findJarFiles(tuscanyInstallDir, new JarFileFinder.StandAloneJARFileNameFilter()); - } - - for (URL url : urls) { - File file = new File(url.toURI()); - if (file.getName().startsWith("org.apache.felix.") || file.getName().startsWith("org.osgi.")) { - continue; - } - try { - Bundle bundle = createAndInstallBundle(bundleContext, url); - } catch (Exception e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - - long end = System.currentTimeMillis(); - logger.info("Tuscany bundles are installed in " + (end - start) + " ms."); - - } catch (Exception e) { - e.printStackTrace(); - } - } - - private File findTuscanyInstallDir(Bundle bundle) throws IOException { - String tuscanyDirName = JarFileFinder.getProperty(JarFileFinder.TUSCANY_HOME); - if (tuscanyDirName != null) { - File tuscanyInstallDir = new File(tuscanyDirName); - if (tuscanyInstallDir.exists() && tuscanyInstallDir.isDirectory()) - return tuscanyInstallDir; - } - - String location = bundle.getLocation(); - - if (location != null && location.startsWith("file:")) { - File file = new File(URI.create(location)); - File tuscanyInstallDir = file.getParentFile(); - if (tuscanyInstallDir.exists() && tuscanyInstallDir.isDirectory()) - return tuscanyInstallDir; - } - if (this.getClass().getProtectionDomain() != null) { - CodeSource codeSource = this.getClass().getProtectionDomain().getCodeSource(); - if (codeSource != null) { - try { - File tuscanyInstallDir = new File(codeSource.getLocation().toURI()); - if (tuscanyInstallDir.exists() && tuscanyInstallDir.isDirectory()) - return tuscanyInstallDir; - } catch (Exception e) { - // ignore - } - } - } - return null; - } - - public Bundle createAndInstallBundle(BundleContext bundleContext, URL bundleFile) throws Exception { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Installing bundle: " + bundleFile); - } - long start = System.currentTimeMillis(); - - Manifest manifest = readManifest(bundleFile); - boolean isOSGiBundle = manifest != null && manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME) != null; - - if (!isOSGiBundle) { - manifest = updateBundleManifest(bundleFile, manifest); - } - - String symbolicName = manifest.getMainAttributes().getValue(BUNDLE_SYMBOLICNAME); - String version = manifest.getMainAttributes().getValue(BUNDLE_VERSION); - Bundle bundle = findBundle(bundleContext, symbolicName, version); - if (bundle != null) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Bundle is already installed: " + symbolicName); - } - return bundle; - } - - String bundleLocation = bundleFile.toString(); - InputStream inStream = null; - if (!isOSGiBundle) { - // We need to repackage the bundle - ByteArrayOutputStream out = new ByteArrayOutputStream(); - JarOutputStream jarOut = new JarOutputStream(out, manifest); - - String classpath = manifest.getMainAttributes().getValue("Bundle-ClassPath"); - boolean embedded = classpath != null && !classpath.trim().equals("."); - if (embedded) { - addFileToJar(bundleFile, jarOut); - } else { - copyJar(bundleFile, jarOut); - } - - jarOut.close(); - inStream = new ByteArrayInputStream(out.toByteArray()); - } else { - // The file itself is already a bundle - inStream = bundleFile.openStream(); - } - - try { - bundle = bundleContext.installBundle(bundleLocation, inStream); - if (logger.isLoggable(Level.FINE)) { - logger.fine("Bundle installed in " + (System.currentTimeMillis() - start) + " ms: " + bundleLocation); - } - tuscanyBundles.add(bundle); - return bundle; - } finally { - inStream.close(); - } - - } - - private Bundle findBundle(BundleContext bundleContext, String symbolicName, String version) { - Bundle[] bundles = bundleContext.getBundles(); - if (version == null) { - version = "0.0.0"; - } - for (Bundle b : bundles) { - String v = (String)b.getHeaders().get(BUNDLE_VERSION); - if (v == null) { - v = "0.0.0"; - } - if (b.getSymbolicName().equals(symbolicName) && (version.equals("0.0.0") || v.equals(version))) { - return b; - } - } - return null; - } - - private String getFileName(URL url) { - String name = url.getPath(); - int index = name.lastIndexOf('/'); - return name.substring(index + 1); - } - - private void addFileToJar(URL file, JarOutputStream jarOut) throws IOException { - JarEntry ze = new JarEntry(getFileName(file)); - jarOut.putNextEntry(ze); - InputStream inStream = file.openStream(); - copy(inStream, jarOut); - inStream.close(); - } - - private void copy(InputStream in, OutputStream out) throws IOException { - byte[] readBuf = new byte[4096]; - int bytesRead; - while ((bytesRead = in.read(readBuf)) > 0) { - out.write(readBuf, 0, bytesRead); - } - } - - private void copyJar(URL in, JarOutputStream jarOut) throws IOException { - JarInputStream jarIn = new JarInputStream(in.openStream()); - ZipEntry ze; - while ((ze = jarIn.getNextEntry()) != null) { - // Skip the MANIFEST.MF - if (ze.getName().equals("META-INF/MANIFEST.MF")) - continue; - jarOut.putNextEntry(ze); - copy(jarIn, jarOut); - } - jarIn.close(); - } - - private Manifest readManifest(URL jarFile) throws IOException { - JarInputStream jar = new JarInputStream(jarFile.openStream()); - // Read the Manifest from the jar file - Manifest manifest = jar.getManifest(); - jar.close(); - - if (manifest == null) { - // Create a new one if no Manifest is found - manifest = new Manifest(); - } - return manifest; - } - - private Manifest updateBundleManifest(URL jarFile, Manifest manifest) throws Exception { - - // Check if we have an associated .mf file - String name = jarFile.toString(); - int index = name.lastIndexOf('.'); - if (index != -1) { - URL mf = new URL(name.substring(0, index) + ".mf"); - try { - InputStream in = mf.openStream(); - manifest.read(in); - in.close(); - } catch (IOException e) { - // Ignore - } - } - - String jarFileName = getFileName(jarFile); - boolean isImmutableJar = false; - for (String immutableJar : immutableJars) { - if (jarFileName.startsWith(immutableJar)) { - isImmutableJar = true; - break; - } - } - - Attributes attributes = manifest.getMainAttributes(); - if (attributes.getValue(BUNDLE_SYMBOLICNAME) == null) { - String bundleSymbolicName = jarFileName; - if (bundleSymbolicName.endsWith(".jar")) { - bundleSymbolicName = bundleSymbolicName.substring(0, bundleSymbolicName.length() - 4); - } - attributes.putValue(BUNDLE_SYMBOLICNAME, bundleSymbolicName); - } else { - // Assume the jar is already a bundle - return null; - } - - if (attributes.getValue("Manifest-Version") == null) { - attributes.putValue("Manifest-Version", "1.0"); - } - - if (attributes.getValue(BUNDLE_MANIFESTVERSION) == null) { - attributes.putValue(BUNDLE_MANIFESTVERSION, "2"); - } - - if (isImmutableJar && attributes.getValue(BUNDLE_CLASSPATH) == null) { - attributes.putValue(BUNDLE_CLASSPATH, ".," + jarFileName); - } - - JarInputStream jar = new JarInputStream(jarFile.openStream()); - HashSet<String> packages = getPackagesInJar(jarFileName, jar); - jar.close(); - String version = getJarVersion(jarFileName); - - // attributes.remove(new Attributes.Name("Require-Bundle")); - // attributes.remove(new Attributes.Name("Import-Package")); - - if (attributes.getValue(BUNDLE_VERSION) == null) { - attributes.putValue(BUNDLE_VERSION, version); - } - // Existing export statements in bundles may contain versions, so they should be used as is - // SDO exports are not sufficient, and should be changed - if (attributes.getValue(EXPORT_PACKAGE) == null || jarFileName.startsWith("tuscany-sdo-impl")) { - String pkgs = packagesToString(packages, version); - if (pkgs.length() > 0) { - attributes.putValue(EXPORT_PACKAGE, pkgs); - attributes.putValue(IMPORT_PACKAGE, packagesToString(packages, null)); - } - // attributes.putValue("Import-Package", packagesToString(packages, null)); - } - - attributes.putValue(DYNAMICIMPORT_PACKAGE, "*"); - return manifest; - } - - private HashSet<String> getPackagesInJar(String bundleName, JarInputStream jar) throws Exception { - HashSet<String> packages = new HashSet<String>(); - ZipEntry entry; - while ((entry = jar.getNextEntry()) != null) { - String entryName = entry.getName(); - if (!entry.isDirectory() && entryName != null && entryName.length() > 0 && !entryName.startsWith(".") - // && !entryName.startsWith("META-INF") - && entryName.lastIndexOf("/") > 0) { - String pkg = entryName.substring(0, entryName.lastIndexOf("/")).replace('/', '.'); - packages.add(pkg); - - } - } - // FIXME: Split package - if (bundleName.startsWith("axis2-adb")) { - packages.remove("org.apache.axis2.util"); - } else if (bundleName.startsWith("axis2-codegen")) { - packages.remove("org.apache.axis2.wsdl"); - packages.remove("org.apache.axis2.wsdl.util"); - } else if (bundleName.startsWith("bsf-all")) { - packages.remove("org.mozilla.javascript"); - } - - return packages; - } - - private String packagesToString(HashSet<String> packages, String version) { - - StringBuilder pkgBuf = new StringBuilder(); - for (String pkg : packages) { - if (pkgBuf.length() > 0) { - pkgBuf.append(','); - } - pkgBuf.append(pkg); - if (version != null && !pkg.startsWith("META-INF.")) { - pkgBuf.append(";version=\""); - pkgBuf.append(version); - pkgBuf.append('\"'); - } - } - return pkgBuf.toString(); - } - - private String getJarVersion(String bundleName) { - Pattern pattern = Pattern.compile("-([0-9.]+)"); - Matcher matcher = pattern.matcher(bundleName); - String version = "1.0.0"; - if (matcher.find()) { - version = matcher.group(); - if (version.endsWith(".")) { - version = version.substring(1, version.length() - 1); - } else { - version = version.substring(1); - } - } - return version; - } - - public BundleContext getBundleContext() { - return bundleContext; - } - - public void bundleChanged(BundleEvent event) { - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java deleted file mode 100644 index bf17222e34..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.node.osgi.launcher; - - -/** - * Denotes an error launching an SCA domain manager or node. - * - * @version $Rev$ $Date$ - */ -public class LauncherException extends Exception { - private static final long serialVersionUID = 4581189418849190567L; - - public LauncherException() { - super(); - } - - /** - * @param message - * @param cause - */ - public LauncherException(String message, Throwable cause) { - super(message, cause); - } - - /** - * @param message - */ - public LauncherException(String message) { - super(message); - } - - /** - * @param cause - */ - public LauncherException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java deleted file mode 100644 index f0e4e9da70..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import static org.apache.tuscany.sca.node.osgi.launcher.NodeLauncherUtil.nodeDaemon; - -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * A launcher for the SCA Node daemon. - * - * @version $Rev$ $Date$ - */ -public class NodeDaemonLauncher { - - private static final Logger logger = Logger.getLogger(NodeDaemonLauncher.class.getName()); - - /** - * Constructs a new node daemon launcher. - */ - private NodeDaemonLauncher() { - } - - /** - * Returns a new launcher instance. - * - * @return a new launcher instance - */ - public static NodeDaemonLauncher newInstance() { - return new NodeDaemonLauncher(); - } - - /** - * Creates a new node daemon. - * - * @param - * @return a new node daemon - * @throws LauncherException - */ - public <T> T createNodeDaemon() throws LauncherException { - return (T)nodeDaemon(); - } - - public static void main(String[] args) throws Exception { - logger.info("Apache Tuscany SCA Node Daemon starting..."); - - // Create a node daemon - NodeDaemonLauncher launcher = newInstance(); - OSGiHost host = NodeLauncherUtil.startOSGi(); - - try { - Object daemon = launcher.createNodeDaemon(); - - // Start the node daemon - try { - daemon.getClass().getMethod("start").invoke(daemon); - } catch (Exception e) { - logger.log(Level.SEVERE, "SCA Node Daemon could not be started", e); - throw e; - } - logger.info("SCA Node Daemon started."); - - logger.info("Press enter to shutdown."); - try { - System.in.read(); - } catch (IOException e) { - } - - // Stop the node daemon - try { - daemon.getClass().getMethod("stop").invoke(daemon); - } catch (Exception e) { - logger.log(Level.SEVERE, "SCA Node Daemon could not be stopped", e); - throw e; - } - } finally { - NodeLauncherUtil.stopOSGi(host); - } - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java deleted file mode 100644 index ea487c384b..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import static org.apache.tuscany.sca.node.osgi.launcher.NodeLauncherUtil.node; - -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * A launcher for SCA nodes. - * - * @version $Rev$ $Date$ - */ -public class NodeLauncher { - - static final Logger logger = Logger.getLogger(NodeLauncher.class.getName()); - - /** - * Constructs a new node launcher. - */ - private NodeLauncher() { - } - - /** - * Returns a new launcher instance. - * - * @return a new launcher instance - */ - public static NodeLauncher newInstance() { - return new NodeLauncher(); - } - - /** - * Creates a new SCA node from the configuration URL - * - * @param configurationURL the URL of the node configuration which is the ATOM feed - * that contains the URI of the composite and a collection of URLs for the contributions - * - * @return a new SCA node. - * @throws LauncherException - */ - public <T> T createNodeFromURL(String configurationURL) throws LauncherException { - return (T)node(configurationURL, null, null, null, null); - } - - /** - * Creates a new SCA OSGi Node. - * - * @param compositeURI the URI of the composite to use - * @param contributions the URI of the contributions that provides the composites and related - * artifacts. If the list is empty, then we will use the thread context classloader to discover - * the contribution on the classpath - * - * @return a new SCA node. - * @throws LauncherException - */ - public <T> T createNode(String compositeURI, Contribution... contributions) throws LauncherException { - return (T)node(null, compositeURI, null, contributions, null); - } - - /** - * Creates a new SCA OSGi Node. - * - * @param compositeURI the URI of the composite to use - * @param compositeContent the XML content of the composite to use - * @param contributions the URI of the contributions that provides the composites and related artifacts - * @return a new SCA node. - * @throws LauncherException - */ - public <T> T createNode(String compositeURI, String compositeContent, Contribution... contributions) - throws LauncherException { - return (T)node(null, compositeURI, compositeContent, contributions, null); - } - - /** - * Create a SCA node based on the discovery of the contribution on the classpath for the - * given classloader. This method should be treated a convenient shortcut with the following - * assumptions: - * <ul> - * <li>This is a standalone application and there is a deployable composite file on the classpath. - * <li>There is only one contribution which contains the deployable composite file physically in its packaging hierarchy. - * </ul> - * - * @param compositeURI The URI of the composite file relative to the root of the enclosing contribution - * @param classLoader The ClassLoader used to load the composite file as a resource. If the value is null, - * then thread context classloader will be used - * @return A newly created SCA node - */ - public <T> T createNodeFromClassLoader(String compositeURI, ClassLoader classLoader) throws LauncherException { - return (T)node(null, compositeURI, null, null, classLoader); - } - - public static void main(String[] args) throws Exception { - logger.info("Apache Tuscany SCA OSGi Node is starting..."); - - // Create a node - NodeLauncher launcher = newInstance(); - - OSGiHost host = NodeLauncherUtil.startOSGi(); - try { - - Object node; - if (args.length == 1) { - - // Create from a configuration URI - String configurationURI = args[0]; - logger.info("SCA OSGi Node configuration: " + configurationURI); - node = launcher.createNodeFromURL(configurationURI); - } else { - - // Create from a composite URI and a contribution location - String compositeURI = args[0]; - String contributionLocation = args[1]; - logger.info("SCA composite: " + compositeURI); - logger.info("SCA contribution: " + contributionLocation); - node = launcher.createNode(compositeURI, new Contribution("default", contributionLocation)); - } - - // Start the node - try { - node.getClass().getMethod("start").invoke(node); - } catch (Exception e) { - logger.log(Level.SEVERE, "SCA OSGi Node could not be started", e); - throw e; - } - logger.info("SCA OSGi Node is now started."); - - logger.info("Press Enter to shutdown..."); - try { - System.in.read(); - } catch (IOException e) { - } - - // Stop the node - try { - node.getClass().getMethod("stop").invoke(node); - } catch (Exception e) { - logger.log(Level.SEVERE, "SCA OSGi Node could not be stopped", e); - throw e; - } - } finally { - NodeLauncherUtil.stopOSGi(host); - } - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java deleted file mode 100644 index 4a13c0a589..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import java.lang.reflect.Constructor; -import java.util.logging.Level; - -/** - * Common functions and constants used by the admin components. - * - * @version $Rev$ $Date$ - */ -final class NodeLauncherUtil { - // private static final Logger logger = Logger.getLogger(NodeLauncherUtil.class.getName()); - - private static final String DOMAIN_MANAGER_LAUNCHER_BOOTSTRAP = - "org.apache.tuscany.sca.domain.manager.launcher.DomainManagerLauncherBootstrap"; - - private static final String NODE_IMPLEMENTATION_DAEMON_BOOTSTRAP = - "org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationDaemonBootstrap"; - - private static final String NODE_IMPLEMENTATION_LAUNCHER_BOOTSTRAP = - "org.apache.tuscany.sca.implementation.node.launcher.NodeImplementationLauncherBootstrap"; - - /** - * Collect JAR files under the given directory. - * - * @p @param contributions - * @throws LauncherException - */ - static Object node(String configurationURI, - String compositeURI, - String compositeContent, - Contribution[] contributions, - ClassLoader contributionClassLoader) throws LauncherException { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - - // Use Java reflection to create the node as only the runtime class - // loader knows the runtime classes required by the node - String className = NODE_IMPLEMENTATION_LAUNCHER_BOOTSTRAP; - Class<?> bootstrapClass; - bootstrapClass = Class.forName(className, false, tccl); - - Object bootstrap; - if (configurationURI != null) { - - // Construct the node with a configuration URI - bootstrap = bootstrapClass.getConstructor(String.class).newInstance(configurationURI); - - } else if (contributionClassLoader != null) { - - // Construct the node with a compositeURI and a classloader - Constructor<?> constructor = bootstrapClass.getConstructor(String.class, ClassLoader.class); - bootstrap = constructor.newInstance(compositeURI, contributionClassLoader); - - } else if (compositeContent != null) { - - // Construct the node with a composite URI, the composite content and - // the URIs and locations of a list of contributions - Constructor<?> constructor = - bootstrapClass.getConstructor(String.class, String.class, String[].class, String[].class); - String[] uris = new String[contributions.length]; - String[] locations = new String[contributions.length]; - for (int i = 0; i < contributions.length; i++) { - uris[i] = contributions[i].getURI(); - locations[i] = contributions[i].getLocation(); - } - bootstrap = constructor.newInstance(compositeURI, compositeContent, uris, locations); - - } else { - - // Construct the node with a composite URI and the URIs and - // locations of a list of contributions - Constructor<?> constructor = - bootstrapClass.getConstructor(String.class, String[].class, String[].class); - String[] uris = new String[contributions.length]; - String[] locations = new String[contributions.length]; - for (int i = 0; i < contributions.length; i++) { - uris[i] = contributions[i].getURI(); - locations[i] = contributions[i].getLocation(); - } - bootstrap = constructor.newInstance(compositeURI, uris, locations); - } - - Object node = bootstrapClass.getMethod("getNode").invoke(bootstrap); - try { - Class<?> type = Class.forName("org.apache.tuscany.sca.node.SCANodeFactory"); - type = type.getDeclaredClasses()[0]; - return type.getMethod("createProxy", Class.class, Object.class).invoke(null, type, node); - } catch (ClassNotFoundException e) { - // Ignore - } - return node; - - } catch (Exception e) { - NodeLauncher.logger.log(Level.SEVERE, "SCA Node could not be created", e); - throw new LauncherException(e); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - - /** - * Creates a new node daemon. - * - * @throws LauncherException - */ - static Object nodeDaemon() throws LauncherException { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - - // Use Java reflection to create the node daemon as only the runtime class - // loader knows the runtime classes required by the node - String className = NODE_IMPLEMENTATION_DAEMON_BOOTSTRAP; - Class<?> bootstrapClass; - bootstrapClass = Class.forName(className, false, tccl); - Object bootstrap = bootstrapClass.getConstructor().newInstance(); - - Object nodeDaemon = bootstrapClass.getMethod("getNode").invoke(bootstrap); - return nodeDaemon; - - } catch (Exception e) { - NodeLauncher.logger.log(Level.SEVERE, "SCA Node Daemon could not be created", e); - throw new LauncherException(e); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - - /** - * Creates a new domain manager. - * - * @throws LauncherException - */ - static Object domainManager(String rootDirectory) throws LauncherException { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - - // Use Java reflection to create the node daemon as only the runtime class - // loader knows the runtime classes required by the node - String className = DOMAIN_MANAGER_LAUNCHER_BOOTSTRAP; - Class<?> bootstrapClass; - bootstrapClass = Class.forName(className, false, tccl); - Constructor<?> constructor = bootstrapClass.getConstructor(String.class); - Object bootstrap = constructor.newInstance(rootDirectory); - - Object domainManager = bootstrapClass.getMethod("getNode").invoke(bootstrap); - return domainManager; - - } catch (Exception e) { - NodeLauncher.logger.log(Level.SEVERE, "SCA Domain Manager could not be created", e); - throw new LauncherException(e); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - - static OSGiHost startOSGi() { - OSGiHost host = new FelixOSGiHost(); - host.start(); - return host; - } - - static void stopOSGi(OSGiHost host) { - host.stop(); - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java deleted file mode 100644 index 445ea80786..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - - -/** - * Main class for this JAR. - * With no arguments this class launches the SCA Node Daemon. - * With a "domain" argument it launches the SCA domain admin node. - * With any other argument it launches an SCA Node. - * - * @version $Rev$ $Date$ - */ -public class NodeMain { - - public static void main(String[] args) throws Exception { - if (args.length != 0) { - if (args[0].equals("domain")) { - DomainManagerLauncher.main(args); - } else { - NodeLauncher.main(args); - } - } else { - NodeDaemonLauncher.main(args); - } - } -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java deleted file mode 100644 index fcbe259dba..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.servlet.Filter; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -/** - * A Servlet filter that forwards service requests to the Servlets registered with - * the Tuscany ServletHost. - * - * @version $Rev$ $Date$ - */ -public class NodeServletFilter implements Filter { - private static final String NODE_WEB_APP_SERVLET_HOST = "org.apache.tuscany.sca.implementation.node.osgi.webapp.NodeWebAppServletHost"; - - private static final long serialVersionUID = 1L; - - private static final Logger logger = Logger.getLogger(NodeServletFilter.class.getName()); - - private ClassLoader runtimeClassLoader; - private Class<?> servletHostClass; - private Object servletHost; - private Filter filter; - - public void init(FilterConfig filterConfig) throws ServletException { - logger.info("Apache Tuscany SCA WebApp Node starting..."); - - try { - // Get the Tuscany runtime ClassLoader - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - - try { - if (runtimeClassLoader != null) { - Thread.currentThread().setContextClassLoader(runtimeClassLoader); - } - - // Load the Tuscany WebApp Servlet host and get the host instance - // for the current webapp - String className = NODE_WEB_APP_SERVLET_HOST; - if (runtimeClassLoader != null) { - servletHostClass = Class.forName(className, true, runtimeClassLoader); - } else { - servletHostClass = Class.forName(className); - } - servletHost = servletHostClass.getMethod("servletHost").invoke(null); - - // Initialize the Servlet host - servletHostClass.getMethod("init", FilterConfig.class).invoke(servletHost, filterConfig); - - // The Servlet host also implements the filter interface - filter = (Filter)servletHost; - - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - - } catch (Exception e) { - logger.log(Level.SEVERE, "Error Starting SCA WebApp Node", e); - throw new ServletException(e); - } - - logger.info("SCA WebApp Node started."); - } - - public void destroy() { - logger.info("Apache Tuscany WebApp Node stopping..."); - if (servletHost != null) { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - if (runtimeClassLoader != null) { - Thread.currentThread().setContextClassLoader(runtimeClassLoader); - } - - servletHostClass.getMethod("destroy").invoke(servletHost); - - } catch (Exception e) { - logger.log(Level.SEVERE, "Error Stopping SCA WebApp Node", e); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - logger.info("SCA WebApp Node stopped."); - } - - public void doFilter(ServletRequest request, ServletResponse response, javax.servlet.FilterChain chain) - throws IOException, ServletException { - - // Delegate to the Servlet host filter - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - if (runtimeClassLoader != null) { - Thread.currentThread().setContextClassLoader(runtimeClassLoader); - } - - filter.doFilter(request, response, chain); - - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java b/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java deleted file mode 100644 index c5ea0439de..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import org.osgi.framework.BundleContext; - -/** - * SPI to plug in OSGi implementations such as Equinox or Felix - */ -public interface OSGiHost { - BundleContext start(); - void stop(); -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java b/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java deleted file mode 100644 index 2f519cb81d..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package hello; - -import org.osoa.sca.annotations.Remotable; - -/** - * HelloWorld interface - */ -@Remotable -public interface HelloWorld { - String hello(String name); -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java b/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java deleted file mode 100644 index c9a7560b12..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package hello; - -/** - * HelloWorldImpl - */ -public class HelloWorldImpl implements HelloWorld { - public String hello(String name) { - System.out.println("Hello: " + name); - return "Hello, " + name; - } -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java b/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java deleted file mode 100644 index e5194d0e5f..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import java.util.Dictionary; -import java.util.Enumeration; - -import junit.framework.Assert; - -import org.junit.Test; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; - - -/** - * - */ -public class FelixOSGiHostTestCase { - @Test - public void testStartThenStop() { - FelixOSGiHost host = new FelixOSGiHost(); - BundleContext context = host.start(); - Assert.assertNotNull(context); - for (Bundle b : context.getBundles()) { - System.out.println(toString(b, false)); - } - host.stop(); - } - - @Test - public void testStartTwice() { - FelixOSGiHost host = new FelixOSGiHost(); - host.start(); - try { - host.start(); - Assert.fail(); - } catch (IllegalStateException e) { - Assert.assertTrue(IllegalStateException.class.isInstance(e.getCause())); - } finally { - host.stop(); - } - } - - public static String toString(Bundle b, boolean verbose) { - StringBuffer sb = new StringBuffer(); - sb.append(b.getBundleId()).append(" ").append(b.getSymbolicName()); - int s = b.getState(); - if ((s & Bundle.UNINSTALLED) != 0) { - sb.append(" UNINSTALLED"); - } - if ((s & Bundle.INSTALLED) != 0) { - sb.append(" INSTALLED"); - } - if ((s & Bundle.RESOLVED) != 0) { - sb.append(" RESOLVED"); - } - if ((s & Bundle.STARTING) != 0) { - sb.append(" STARTING"); - } - if ((s & Bundle.STOPPING) != 0) { - sb.append(" STOPPING"); - } - if ((s & Bundle.ACTIVE) != 0) { - sb.append(" ACTIVE"); - } - - sb.append(" ").append(b.getLocation()); - if (verbose) { - Dictionary<Object, Object> dict = b.getHeaders(); - Enumeration<Object> keys = dict.keys(); - while (keys.hasMoreElements()) { - Object key = keys.nextElement(); - sb.append(" ").append(key).append("=").append(dict.get(key)); - } - } - return sb.toString(); - } -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java b/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java deleted file mode 100644 index 97976e256a..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.node.osgi.launcher; - -import hello.HelloWorld; - -import org.apache.tuscany.sca.node.SCAClient; -import org.apache.tuscany.sca.node.SCANode; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; - -/** - * - */ -public class NodeLauncherTestCase { - private static OSGiHost host; - - @BeforeClass - public static void setUp() { - System.setProperty("TUSCANY_HOME", "target/tuscany"); - host = NodeLauncherUtil.startOSGi(); - } - - @AfterClass - public static void tearDown() { - if (host != null) { - NodeLauncherUtil.stopOSGi(host); - } - - } - - @Test - public void testLaunch() throws Exception { - NodeLauncher launcher = NodeLauncher.newInstance(); - SCANode node = launcher.createNodeFromClassLoader("HelloWorld.composite", getClass().getClassLoader()); - node.start(); - - HelloWorld hw = ((SCAClient)node).getService(HelloWorld.class, "HelloWorld"); - hw.hello("OSGi"); - - node.stop(); - } - - @Test - @Ignore("contribution-osgi issue") - public void testLaunchDomain() throws Exception { - DomainManagerLauncher.main(new String[] {}); - } - -} diff --git a/branches/sca-equinox/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite b/branches/sca-equinox/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite deleted file mode 100644 index 9e3299d691..0000000000 --- a/branches/sca-equinox/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample/composite"
- xmlns:sc="http://sample/composite"
- name="HelloWorld">
-
- <component name="HelloWorld">
- <implementation.java class="hello.HelloWorldImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/modules/osgi-runtime/LICENSE b/branches/sca-equinox/modules/osgi-runtime/LICENSE deleted file mode 100644 index 43e91eb0b0..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/LICENSE +++ /dev/null @@ -1,203 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/branches/sca-equinox/modules/osgi-runtime/META-INF/README b/branches/sca-equinox/modules/osgi-runtime/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/osgi-runtime/NOTICE b/branches/sca-equinox/modules/osgi-runtime/NOTICE deleted file mode 100644 index 1325efd8bf..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/sca-equinox/modules/osgi-runtime/pom.xml b/branches/sca-equinox/modules/osgi-runtime/pom.xml deleted file mode 100644 index 2b90e85d2d..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-osgi-runtime</artifactId> - <name>Apache Tuscany OSGi Runtime Helper Library</name> - <dependencies> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.main</artifactId> - <version>1.0.4</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-extensibility-osgi</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.osgi.runtime - </Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.osgi.runtime* - </Export-Package> - <Bundle-Activator>org.apache.tuscany.sca.osgi.runtime.OSGiBundleActivator - </Bundle-Activator> - <DynamicImport-Package>org.apache.felix.main,org.eclipse.core.runtime.adaptor - </DynamicImport-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> -</project>
\ No newline at end of file diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java b/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java deleted file mode 100644 index 43101b14c9..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.osgi.runtime; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; - -import org.osgi.framework.BundleContext; - -/** - * Implementation of an OSGi Runtime using Equinox. - * - * @version $Rev$ $Date$ - */ -public class EquinoxRuntime extends OSGiRuntime { - - - private static BundleContext bundleContext; - - private static EquinoxRuntime instance; - - private static Class<?> eclipseStarterClass; - - public static OSGiRuntime getInstance() throws Exception { - if (instance == null) { - eclipseStarterClass = EquinoxRuntime.class.getClassLoader().loadClass("org.eclipse.core.runtime.adaptor.EclipseStarter"); - EquinoxRuntime runtime = new EquinoxRuntime(); - instance = runtime; - } - return instance; - } - - @Override - protected BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception { - - if (bundleContext != null) - return bundleContext; - - Method startupMethod = eclipseStarterClass.getMethod("startup", String [].class, Runnable.class); - - // Equinox version 3.2 upwards have a startup method which returns BundleContext - if (startupMethod.getReturnType() == BundleContext.class) { - bundleContext = (BundleContext) startupMethod.invoke(null, new String[] {"-clean", "-console"}, null ); - } - else { - - // Older versions of Equinox don't have a public method to obtain system bundlecontext - // Extract bundleContext from the private field 'context'. We are assuming that - // there is no access restriction - Method mainMethod = eclipseStarterClass.getMethod("main", String [].class); - mainMethod.invoke(null, (Object)new String[] {"-clean", "-console"}); - - Field contextField = eclipseStarterClass.getDeclaredField("context"); - contextField.setAccessible(true); - bundleContext = (BundleContext) contextField.get(null); - - } - - - return bundleContext; - - } - - @Override - public BundleContext getBundleContext() { - return bundleContext; - } - - @Override - protected void setBundleContext(BundleContext bundleContext) { - super.setBundleContext(bundleContext); - EquinoxRuntime.bundleContext = bundleContext; - } - - @Override - public void shutdown() throws Exception { - - if (bundleContext == null) - return; - bundleContext = null; - instance = null; - if (eclipseStarterClass != null) { - Method shutdownMethod = eclipseStarterClass.getMethod("shutdown"); - try { - shutdownMethod.invoke(eclipseStarterClass); - } catch (Exception e) { - // Ignore errors. - } - } - super.shutdown(); - } - - - @Override - public boolean supportsBundleFragments() { - return false; - } - - - -} diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java b/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java deleted file mode 100644 index f8b56c88d6..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.osgi.runtime; - -import java.io.File; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; - -/** - * Implementation of an OSGi Runtime using Felix. - * - * @version $Rev$ $Date$ - */ -public class FelixRuntime extends OSGiRuntime implements BundleActivator { - - private static BundleContext bundleContext; - - private static FelixRuntime instance; - - private static Class<?> felixMainClass; - private static Class<?> felixClass; - private static Object felix; - - public static OSGiRuntime getInstance() throws Exception { - if (instance == null) { - felixMainClass = FelixRuntime.class.getClassLoader().loadClass("org.apache.felix.main.Main"); - FelixRuntime runtime = new FelixRuntime(); - instance = runtime; - } - return instance; - } - - - private static void deleteDirectory(File dir) { - - File[] files = dir.listFiles(); - for (int i = 0; i < files.length; i++) { - if (files[i].isDirectory()) - deleteDirectory(files[i]); - else - files[i].delete(); - } - dir.delete(); - - } - - @Override - protected BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception { - - if (bundleContext != null) - return bundleContext; - - - ClassLoader cl = FelixRuntime.class.getClassLoader(); - - felixClass = cl.loadClass("org.apache.felix.framework.Felix"); - Method propsMethod = felixMainClass.getMethod("loadConfigProperties"); - Properties props = (Properties)propsMethod.invoke(null); - - String profileDirName = ".felix"; - File targetDir = new File("target"); - if (targetDir.exists() && targetDir.isDirectory()) - profileDirName = "target/" + profileDirName; - File profileDir = new File(profileDirName); - if (profileDir.isDirectory()) - deleteDirectory(profileDir); - else - profileDir.delete(); - profileDir.mkdir(); - profileDir.deleteOnExit(); - - props.put("felix.cache.profiledir", profileDir.getAbsolutePath()); - props.put("felix.embedded.execution", "true"); - - String systemPackages = - "org.osgi.framework; version=1.3.0," + - "org.osgi.service.packageadmin; version=1.2.0, " + - "org.osgi.service.startlevel; version=1.0.0, " + - "org.osgi.service.url; version=1.0.0, " + - "org.osgi.util.tracker; version=1.3.2, " + - "javax.xml, " + - "javax.xml.datatype, " + - "javax.xml.namespace, " + - "javax.xml.parsers, " + - "javax.xml.transform, " + - "javax.xml.transform.dom, " + - "javax.xml.transform.sax, " + - "javax.xml.transform.stream, " + - "javax.xml.validation, " + - "javax.xml.xpath, " + - "org.apache.xerces.jaxp.datatype, " + - "org.w3c.dom, " + - "org.xml.sax, " + - "org.xml.sax.ext, " + - "org.xml.sax.helpers, " + - "javax.security.auth, " + - "javax.naming, " + - "javax.naming.spi, " + - "javax.naming.directory, " + - "javax.management, " + - "sun.misc"; - - - if (!tuscanyRunningInOSGiContainer) { - systemPackages = systemPackages + ", org.osoa.sca.annotations, org.osoa.sca"; - systemPackages = systemPackages + ", commonj.sdo, commonj.sdo.helper, org.apache.tuscany.sdo.helper, org.apache.tuscany.sdo.impl, org.apache.tuscany.sdo.model, org.apache.tuscany.sdo.model.impl"; - systemPackages = systemPackages + ", org.eclipse.emf.ecore, org.eclipse.emf.ecore.util, org.eclipse.emf.ecore.impl"; - } - props.put("org.osgi.framework.system.packages", systemPackages); - - try { - Constructor felixConstructor = felixClass.getConstructor(Map.class, List.class); - List<BundleActivator> activators = new ArrayList<BundleActivator>(); - - Class<?> autoActivatorClass = cl.loadClass("org.apache.felix.main.AutoActivator"); - Constructor autoActivatorConstructor = autoActivatorClass.getConstructor(Map.class); - BundleActivator autoActivator = (BundleActivator)autoActivatorConstructor.newInstance(props); - activators.add(autoActivator); - - felix = felixConstructor.newInstance(props, activators); - ((Bundle)felix).start(); - bundleContext = ((Bundle)felix).getBundleContext(); - - - } catch (Exception e) { - - // This is the older Felix API which has been retained temporarily to avoid build break - // TODO: Remove these once Felix 1.0.0 is released. - - Class<?> propertyResolverClass = cl.loadClass("org.apache.felix.framework.util.MutablePropertyResolver"); - Class<?> propertyResolverImplClass = cl.loadClass("org.apache.felix.framework.util.MutablePropertyResolverImpl"); - - Constructor implConstructor = propertyResolverImplClass.getConstructor(Map.class); - Object mutableProps = implConstructor.newInstance(props); - - - try { - Constructor felixConstructor = felixClass.getConstructor(propertyResolverClass, List.class); - List<BundleActivator> activators = new ArrayList<BundleActivator>(); - felix = felixConstructor.newInstance(mutableProps, activators); - ((Bundle)felix).start(); - bundleContext = ((Bundle)felix).getBundleContext(); - } catch (Exception e1) { - - - felix = felixClass.newInstance(); - Method startMethod = felixClass.getMethod("start", propertyResolverClass, List.class); - List<BundleActivator> activators = new ArrayList<BundleActivator>(); - BundleActivator activator = new FelixRuntime(); - activators.add(activator); - startMethod.invoke(felix, mutableProps, activators); - - synchronized (activator) { - int retries = 0; - while (bundleContext == null && retries++ < 10) { - activator.wait(1000); - } - } - } - } - - return bundleContext; - - } - - public void start(BundleContext context) throws Exception { - - bundleContext = context; - synchronized (this) { - this.notify(); - } - } - - public void stop(BundleContext context) throws Exception { - bundleContext = null; - } - - - - @Override - public BundleContext getBundleContext() { - return bundleContext; - } - - @Override - protected void setBundleContext(BundleContext bundleContext) { - super.setBundleContext(bundleContext); - FelixRuntime.bundleContext = bundleContext; - } - - - @Override - public void shutdown() throws Exception { - - if (bundleContext == null) - return; - bundleContext = null; - instance = null; - - // We could potentially use Felix.stopAndWait, but use timed wait for now because - // stopAndWait hangs with Felix 1.0.0 - if (felix instanceof Bundle) { - Bundle felixBundle = (Bundle)felix; - felixBundle.stop(); - int retries = 50; - synchronized (felix) { - while (retries-- > 0 && felixBundle.getState() != Bundle.UNINSTALLED) { - felix.wait(100); - } - } - } - else if (felix != null) { - Method shutdownMethod = felixClass.getMethod("shutdown"); - try { - shutdownMethod.invoke(felix); - } catch (Exception e) { - // Ignore errors - } - felix = null; - } - super.shutdown(); - } - - @Override - public boolean supportsBundleFragments() { - return false; - } - -} diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java b/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java deleted file mode 100644 index 19041daf50..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.osgi.runtime; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.util.Hashtable; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; - -/** - * Implementation of an OSGi Runtime using Knopflerfish. - * - * @version $Rev$ $Date$ - */ -public class KnopflerfishRuntime extends OSGiRuntime { - - private static BundleContext bundleContext; - - private static KnopflerfishRuntime instance; - - - private static Class<?> frameworkClass; - - private static Object framework; - - public static OSGiRuntime getInstance() throws Exception { - if (instance == null) { - frameworkClass = KnopflerfishRuntime.class.getClassLoader().loadClass("org.knopflerfish.framework.Framework"); - KnopflerfishRuntime runtime = new KnopflerfishRuntime(); - instance = runtime; - } - return instance; - } - - - - // FIXME: Knopflerfish does not expose the methods used for configuration as public methods - // It may be worth using the private methods in org.knopflerfish.framework.Main for - // configuring using reflection if security policies allow it. - // For now, a simple configuration routine reads sca.xargs from the directory in - // the classpath which contains framework.jar. The entries in init.xargs starting with - // -install are assumed to be single-line entries with full bundle location. - // - @Override - protected BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception { - - if (bundleContext != null) - return bundleContext; - - - - System.setProperty("org.knopflerfish.framework.bundlestorage", "memory"); - - Constructor frameworkConstructor = frameworkClass.getConstructor(Object.class); - framework = frameworkConstructor.newInstance(new KnopflerfishRuntime()); - Method launchMethod = frameworkClass.getMethod("launch", long.class); - launchMethod.invoke(framework, 0); - Method getContextMethod = frameworkClass.getMethod("getSystemBundleContext"); - bundleContext = (BundleContext)getContextMethod.invoke(framework); - - System.setProperty("com.gatespace.bundle.cm.store", "knopflerfish.store"); - File xargsFile = null; - String classpath = System.getProperty("java.class.path"); - String[] classpathEntries = classpath.split(System.getProperty("path.separator")); - for (int i = 0; i < classpathEntries.length; i++) { - if (classpathEntries[i].endsWith("framework.jar")) { - String path = classpathEntries[i].substring(0, classpathEntries[i].length() - "framework.jar".length()); - path = path + "sca.xargs"; - xargsFile = new File(path); - if (!xargsFile.exists()) - xargsFile = null; - break; - } - } - if (xargsFile != null) { - BufferedReader reader = new BufferedReader(new FileReader(xargsFile)); - String line; - Hashtable<String, Bundle> bundles = new Hashtable<String, Bundle>(); - while ((line = reader.readLine()) != null) { - line = line.trim(); - if (line.startsWith("-install")) { - try { - - String bundleLocation = line.substring("-install".length()).trim(); - Bundle bundle = bundleContext.installBundle(bundleLocation); - bundles.put(bundleLocation, bundle); - - } catch (BundleException e) { - e.printStackTrace(); - } - - } - if (line.startsWith("-start")) { - - try { - String bundleLocation = line.substring("-start".length()).trim(); - Bundle bundle = bundles.get(bundleLocation); - bundle.start(); - } catch (BundleException e) { - e.printStackTrace(); - } - } - } - } - - - return bundleContext; - - } - - @Override - public BundleContext getBundleContext() { - return bundleContext; - } - - @Override - protected void setBundleContext(BundleContext bundleContext) { - super.setBundleContext(bundleContext); - KnopflerfishRuntime.bundleContext = bundleContext; - } - - @Override - public void shutdown() throws Exception { - - if (bundleContext == null) - return; - bundleContext = null; - instance = null; - if (framework != null) { - Method shutdownMethod = frameworkClass.getMethod("shutdown"); - try { - shutdownMethod.invoke(framework); - } catch (Exception e) { - // Ignore errors - } - framework = null; - } - super.shutdown(); - - } - - @Override - public boolean supportsBundleFragments() { - return true; - } -} diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java b/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java deleted file mode 100644 index b87f70deef..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java +++ /dev/null @@ -1,252 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.osgi.runtime;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-
-import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
-import org.apache.tuscany.sca.extensibility.osgi.OSGiServiceDiscoverer;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleEvent;
-import org.osgi.framework.BundleListener;
-
-/**
- * OSGi bundle activator, which is run when Tuscany is run inside an OSGi runtime.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiBundleActivator implements BundleActivator, BundleListener {
-
- private static final String TUSCANY_SCA_BUNDLE_PREFIX = "org.apache.tuscany.sca";
- private static final String TUSCANY_3RD_PARTY_BUNDLE_PREFIX = "org.apache.tuscany.sca.3rdparty";
- private OSGiRuntime runtime;
- /*
- private ConcurrentHashMap<Bundle, ClassLoader> serviceDiscoveryClassLoaders =
- new ConcurrentHashMap<Bundle, ClassLoader>();
- */
- private BundleClassLoader threadContextClassLoader;
- private ClassLoader origTCCL;
- private Bundle thisBundle;
-
- public void start(BundleContext bundleContext) throws Exception {
-
- initializeTuscanyClassLoaders(bundleContext);
-
- runtime = OSGiRuntime.findRuntime();
- runtime.setBundleContext(bundleContext);
- runtime.setContextClassLoader(threadContextClassLoader);
- runtime.initialize();
-
- }
-
- public void stop(BundleContext bundleContext) throws Exception {
-
- // runtime.shutdown();
-
- if (Thread.currentThread().getContextClassLoader() == threadContextClassLoader)
- Thread.currentThread().setContextClassLoader(origTCCL);
- }
-
- /**
- * Create a bundle ClassLoader which has visibility of all Tuscany related
- * bundles. Use this ClassLoader as TCCL, and the Tuscany service discovery
- * ClassLoader.
- *
- * @param bundleContext
- */
- private void initializeTuscanyClassLoaders(BundleContext bundleContext) {
-
- OSGiServiceDiscoverer discoverer = new OSGiServiceDiscoverer(bundleContext);
- ServiceDiscovery.getInstance().setServiceDiscoverer(discoverer);
- thisBundle = bundleContext.getBundle();
-
- origTCCL = Thread.currentThread().getContextClassLoader();
-
- threadContextClassLoader = new BundleClassLoader(thisBundle, origTCCL);
-
- Thread.currentThread().setContextClassLoader(threadContextClassLoader);
-
- ClassLoader cl = new BundleClassLoader(thisBundle, null);
- // ServiceDiscovery.getInstance().registerClassLoader(cl);
- // serviceDiscoveryClassLoaders.put(thisBundle, cl);
-
- Bundle[] bundles = bundleContext.getBundles();
- for (Bundle bundle : bundles) {
- updateBundleClassLoader(bundle);
- }
- bundleContext.addBundleListener(this);
-
- }
-
- /**
- * Add an installed bundle to the list of bundles in the service discovery classpath
- * if the installed bundle is a Tuscany bundle using the same Core-SPI bundle.
- * Since the bundle containing this activator is in Tuscany Runtime, this bundle
- * will provide access to Runtime and its dependencies (SPI, SCA-API). Third party
- * bundles don't need to be in the service discovery classpath, since they will be automatically
- * imported by bundles which require them. That leaves Tuscany extension bundles,
- * which are added to the service discovery classpath here.
- *
- * 3rd party bundle should be explicitly added to TCCL since classes from these
- * bundles use TCCL to load other classes from the bundle.
- *
- * Load one class from the bundle to check if the new bundle matches this runtime bundle.
- *
- * @param bundle
- */
- private void updateBundleClassLoader(Bundle bundle) {
-
- if (bundle.getSymbolicName().startsWith(TUSCANY_SCA_BUNDLE_PREFIX)) {
-
- // This may be the third party bundle.
- if (bundle.getSymbolicName().startsWith(TUSCANY_3RD_PARTY_BUNDLE_PREFIX)) {
-
- threadContextClassLoader.addBundle(bundle);
- } else {
-
- String thisBundleVersion = (String)thisBundle.getHeaders().get("Bundle-Version");
- String bundleVersion = (String)bundle.getHeaders().get("Bundle-Version");
-
- if (thisBundleVersion == null || bundleVersion == null || thisBundleVersion.equals(bundleVersion)) {
-
- if (!threadContextClassLoader.bundles.contains(bundle)) {
- ClassLoader cl = new BundleClassLoader(bundle, null);
- // ServiceDiscovery.getInstance().registerClassLoader(cl);
- // serviceDiscoveryClassLoaders.put(bundle, cl);
- threadContextClassLoader.addBundle(bundle);
- }
- }
- }
- } else {
- threadContextClassLoader.addBundle(bundle);
- }
- }
-
- /**
- * Handle bundle install/uninstall events
- */
- public void bundleChanged(BundleEvent event) {
-
- Bundle bundle = event.getBundle();
- if (event.getType() == BundleEvent.UNINSTALLED) {
-// ClassLoader cl = serviceDiscoveryClassLoaders.get(bundle);
-// if (cl != null) {
-// ServiceDiscovery.getInstance().unregisterClassLoader(cl);
-// }
- threadContextClassLoader.removeBundle(bundle);
- } else if (event.getType() == BundleEvent.INSTALLED) {
- updateBundleClassLoader(bundle);
- }
- }
-
- /**
- * Bundle ClassLoader that searches a bundle classpath consisting of
- * a list of bundles. The parent ClassLoader is searched only if a class
- * cannot be loaded from the bundle classpath. Tuscany bundles are
- * dynamically added and removed from the bundle classpath when the bundles
- * are installed and uninstalled.
- *
- * No ordering of bundles is maintained at the moment.
- *
- */
- private static class BundleClassLoader extends ClassLoader {
-
- private HashSet<Bundle> bundles;
-
- BundleClassLoader(Bundle bundle, ClassLoader parent) {
- super(parent);
- this.bundles = new HashSet<Bundle>();
- bundles.add(bundle);
- }
-
- private synchronized void addBundle(Bundle bundle) {
- bundles.add(bundle);
- }
-
- private synchronized void removeBundle(Bundle bundle) {
- if (bundles.contains(bundle))
- bundles.remove(bundle);
- }
-
- @Override
- protected Class<?> findClass(String className) throws ClassNotFoundException {
- Class<?> clazz = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- try {
- clazz = bundle.loadClass(className);
- break;
- } catch (ClassNotFoundException e) {
- } catch (NoClassDefFoundError e) {
- }
-
- }
- }
- if (clazz != null) {
- return clazz;
- }
- return super.findClass(className);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public Enumeration<URL> getResources(String resName) throws IOException {
- HashSet<URL> urlSet = new HashSet<URL>();
- Enumeration<URL> urls = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- urls = bundle.getResources(resName);
- if (urls != null) {
- while (urls.hasMoreElements()) {
- urlSet.add(urls.nextElement());
- }
- }
- }
- }
- if (urlSet.size() > 0)
- return Collections.enumeration(urlSet);
- return super.getResources(resName);
- }
-
- @Override
- public URL getResource(String resName) {
- URL url = null;
- synchronized (this) {
- for (Bundle bundle : bundles) {
- url = bundle.getResource(resName);
- if (url != null)
- return url;
- }
- }
- return super.getResource(resName);
- }
-
- @Override
- public String toString() {
- return "Tuscany BundleClassLoader " + bundles.iterator().next();
- }
-
- }
-}
diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java b/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java deleted file mode 100644 index 79b1c0a5f4..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.osgi.runtime; - -import java.io.InputStream; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; -import org.osgi.service.packageadmin.PackageAdmin; - -/** - * Base OSGiRuntime implementation. - * - * @version $Rev$ $Date$ - */ -public abstract class OSGiRuntime { - private static final Logger logger = Logger.getLogger(OSGiRuntime.class.getName()); - - public abstract BundleContext getBundleContext(); - - public abstract boolean supportsBundleFragments(); - - protected abstract BundleContext startRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception; - - private static OSGiRuntime instance; - - private BundleContext bundleContext; - - private PackageAdmin packageAdmin; - - private boolean tuscanyRunningInOSGiContainer; - - private ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); - - /** - * System property org.apache.tuscany.implementation.osgi.runtime.OSGiRuntime can be set to the - * name of the OSGiRuntime class (eg. EquinoxRuntime). If set, start this runtime and return the - * system bundlecontext. If not set, start Equinox/Felix/Knopflerfish (in that order) from the - * classpath. - * - * @throws BundleException - */ - public static synchronized OSGiRuntime findRuntime() throws Exception { - - if (instance != null) { - - return instance; - } - String runtimeClassName = System.getProperty(OSGiRuntime.class.getName()); - - - if (runtimeClassName != null) { - try { - Class<?> runtimeClass = OSGiRuntime.class.getClassLoader().loadClass(runtimeClassName); - Method method = runtimeClass.getMethod("getInstance"); - instance = (OSGiRuntime) method.invoke(null); - return instance; - - } catch (Exception e) { - throw new BundleException("Could not start OSGi runtime " + runtimeClassName, e); - } - } - - try { - - instance = EquinoxRuntime.getInstance(); - return instance; - - } catch (ClassNotFoundException e) { - // Ignore - } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - - try { - - instance = FelixRuntime.getInstance(); - return instance; - - } catch (ClassNotFoundException e) { - // Ignore - } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - - try { - - instance = KnopflerfishRuntime.getInstance(); - return instance; - - } catch (ClassNotFoundException e) { - // Ignore - } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - - throw new BundleException("Could not start OSGi runtime from the classpath"); - } - - - public static synchronized OSGiRuntime getRuntime() throws Exception { - return getRuntime(false); - } - - public static synchronized OSGiRuntime getRuntime(boolean tuscanyRunningInOSGiContainer) throws Exception { - - instance = findRuntime(); - - if (instance != null) { - - if (instance.bundleContext == null) { - instance.tuscanyRunningInOSGiContainer = tuscanyRunningInOSGiContainer; - instance.startRuntime(tuscanyRunningInOSGiContainer); - instance.initialize(); - } - return instance; - } - return instance; - } - - - public void shutdown() throws Exception { - - bundleContext = null; - packageAdmin = null; - } - - protected void setBundleContext(BundleContext bundleContext) { - instance.tuscanyRunningInOSGiContainer = true; - this.bundleContext = bundleContext; - } - - - - public ClassLoader getContextClassLoader() { - return contextClassLoader; - } - - protected void setContextClassLoader(ClassLoader contextClassLoader) { - this.contextClassLoader = contextClassLoader; - } - - protected void initialize() { - - bundleContext = getBundleContext(); - - if (bundleContext != null) { - - org.osgi.framework.ServiceReference packageAdminReference = - bundleContext.getServiceReference("org.osgi.service.packageadmin.PackageAdmin"); - if (packageAdminReference != null) { - - packageAdmin = (PackageAdmin)bundleContext.getService(packageAdminReference); - } - } - - } - - public Bundle findBundle(String bundleSymbolicName, String bundleVersion) { - - if (bundleContext != null) { - Bundle[] installedBundles = bundleContext.getBundles(); - for (Bundle bundle : installedBundles) { - if (bundleSymbolicName.equals(bundle.getSymbolicName()) && (bundleVersion == null || bundleVersion - .equals(bundle.getHeaders().get("Bundle-Version")))) - return bundle; - } - - } - return null; - } - - public static synchronized Bundle findInstalledBundle(String bundleLocation) { - if (instance != null) { - if (bundleLocation.startsWith("bundle:")||bundleLocation.startsWith("bundleresource:")) { - try { - return findInstalledBundle(new URL(bundleLocation)); - } catch (MalformedURLException e) { - // ignore - } - } else { - return instance.findBundle(bundleLocation); - } - } - return null; - } - - public static synchronized Bundle findInstalledBundle(URL bundleURL) { - if (instance != null) { - if (instance.bundleContext != null) { - Bundle[] installedBundles = instance.bundleContext.getBundles(); - for (Bundle bundle : installedBundles) { - try { - if (bundle.getEntry("/").getHost().equals(bundleURL.getHost())) - return bundle; - } catch (Exception e) { - // Ignore exception - } - } - } - return null; - } - return null; - } - - public Bundle findBundle(String bundleLocation) { - - if (bundleContext != null) { - Bundle[] installedBundles = bundleContext.getBundles(); - for (Bundle bundle : installedBundles) { - if (bundle.getLocation().equals(bundleLocation)) - return bundle; - } - - } - return null; - } - - public Bundle installBundle(String bundleLocation, InputStream inputStream) { - - try { - if (bundleContext != null) { - Bundle bundle = findBundle(bundleLocation); - if (bundle != null) - return bundle; - if (inputStream == null) - bundle = bundleContext.installBundle(bundleLocation); - else - bundle = bundleContext.installBundle(bundleLocation, inputStream); - - if (bundle != null && packageAdmin != null) - packageAdmin.refreshPackages(null); - - return bundle; - } - } catch (BundleException e) { - } - return null; - } - - /** - * Stops the OSGi instance. - * - * @throws Exception Failed to shutdown the OSGi instance. - */ - public static synchronized void stop() throws Exception { - if (instance != null && !instance.tuscanyRunningInOSGiContainer) { - instance.shutdown(); - instance = null; - } - } - -} diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java b/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java deleted file mode 100644 index 1dbe75f431..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.osgi.runtime; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.ModuleActivator; - -/** - * @version $Rev$ $Date$ - */ -public class OSGiRuntimeModuleActivator implements ModuleActivator { - - /** - * @see org.apache.tuscany.sca.core.ModuleActivator#start(org.apache.tuscany.sca.core.ExtensionPointRegistry) - */ - public void start(ExtensionPointRegistry registry) { - } - - /** - * @see org.apache.tuscany.sca.core.ModuleActivator#stop(org.apache.tuscany.sca.core.ExtensionPointRegistry) - */ - public void stop(ExtensionPointRegistry registry) { - try { - OSGiRuntime.stop(); - } catch (Throwable e) { - // Ignore the exception - } - } - -} diff --git a/branches/sca-equinox/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-equinox/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index bd3fd72280..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator +++ /dev/null @@ -1,18 +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.
-# Implementation class for the ModuleActivator
-org.apache.tuscany.sca.osgi.runtime.OSGiRuntimeModuleActivator
diff --git a/branches/sca-equinox/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java b/branches/sca-equinox/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java deleted file mode 100644 index 7ce3f6c18f..0000000000 --- a/branches/sca-equinox/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.osgi.runtime; - -import junit.framework.TestCase; - -import org.osgi.framework.BundleContext; - -/** - * Test OSGi runtime. - * - * @version $Rev$ $Date$ - */ -public class OSGiRuntimeTestCase extends TestCase { - private OSGiRuntime runtime; - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - try { - this.runtime = OSGiRuntime.getRuntime(); - } catch ( Throwable e ) { - System.out.println( "DOB: OSGiRuntimeTestCase.setUp error=" + e ); - e.printStackTrace(); - } - } - - /** - * @see junit.framework.TestCase#tearDown() - */ - @Override - protected void tearDown() throws Exception { - OSGiRuntime.stop(); - } - - public void testRuntime() throws Exception { - - BundleContext bc1 = runtime.getBundleContext(); - - assertNotNull(bc1); - - BundleContext bc2 = runtime.getBundleContext(); - - assertNotNull(bc2); - - assertTrue(bc1 == bc2); - - OSGiRuntime.stop(); - runtime = OSGiRuntime.getRuntime(); - - BundleContext bc3 = runtime.getBundleContext(); - - assertNotNull(bc3); - - assertTrue(bc1 != bc3); - - } - -} diff --git a/branches/sca-equinox/modules/pom.xml b/branches/sca-equinox/modules/pom.xml index b0610a1342..a5029efaa7 100644 --- a/branches/sca-equinox/modules/pom.xml +++ b/branches/sca-equinox/modules/pom.xml @@ -45,12 +45,8 @@ <module>assembly-xsd</module> <module>binding-corba</module> <module>binding-corba-runtime</module> - <module>binding-dwr</module> <module>binding-ejb</module> <module>binding-ejb-runtime</module> - <!-- obsolete --> - <module>binding-feed</module> - <!-- new bindings --> <module>binding-atom</module> <module>binding-atom-abdera</module> <module>binding-gdata</module> @@ -63,14 +59,12 @@ <module>binding-jms-runtime</module> <module>binding-jsonrpc</module> <module>binding-jsonrpc-runtime</module> - <module>binding-notification</module> <module>binding-rmi</module> <module>binding-rss</module> <module>binding-rss-rome</module> <module>binding-sca</module> <module>binding-sca-axis2</module> <module>binding-sca-corba</module> - <module>binding-sca-jms</module> <module>binding-sca-xml</module> <module>binding-ws</module> <module>binding-ws-axis2</module> @@ -78,17 +72,14 @@ <module>binding-ws-wsdlgen</module> <module>binding-ws-xml</module> <module>contribution</module> - <module>contribution-groovy</module> <module>contribution-namespace</module> <module>contribution-java</module> <module>contribution-impl</module> - <module>contribution-osgi</module> <module>contribution-resource</module> <module>contribution-xml</module> <module>core</module> <module>core-databinding</module> <module>core-spi</module> - <module>core-spring</module> <module>data-api</module> <module>databinding</module> <module>databinding-axiom</module> @@ -100,14 +91,12 @@ <module>databinding-saxon</module> <module>databinding-xmlbeans</module> <module>databinding-fastinfoset</module> - <module>databinding-xstream</module> <module>data-engine-helper</module> <module>definitions</module> <module>definitions-xml</module> <module>domain-manager</module> <module>endpoint</module> <module>extensibility</module> - <module>extensibility-osgi</module> <module>extensibility-equinox</module> <module>extension-helper</module> <module>host-corba</module> @@ -140,14 +129,10 @@ <module>implementation-java-runtime</module> <module>implementation-node</module> <module>implementation-node-runtime</module> - <module>implementation-notification</module> - <module>implementation-osgi</module> <module>implementation-resource</module> <module>implementation-resource-runtime</module> <module>implementation-script</module> <module>implementation-spring</module> - <module>implementation-web</module> - <module>implementation-web-runtime</module> <module>implementation-widget</module> <module>implementation-widget-runtime</module> <module>implementation-xquery</module> @@ -158,10 +143,8 @@ <module>node-launcher</module> <module>node-launcher-equinox</module> <module>thirdparty-library</module> - <module>node-launcher-osgi</module> <module>node-launcher-webapp</module> <module>node-manager</module> - <module>osgi-runtime</module> <module>policy</module> <module>policy-xml</module> <module>policy-xml-ws</module> @@ -170,16 +153,13 @@ <module>policy-security-jsr250</module> <module>policy-security-ws</module> <module>policy-transaction</module> - <module>runtime</module> - <module>runtime-tomcat</module> - <!--module>runtime-war</module--> <module>sca-api</module> + <module>tracing-aspectj</module> <module>workspace</module> <module>workspace-impl</module> <module>workspace-xml</module> <module>xsd</module> <module>xsd-xml</module> - <module>tracing-aspectj</module> </modules> </profile> diff --git a/branches/sca-equinox/modules/runtime-standalone/LICENSE b/branches/sca-equinox/modules/runtime-standalone/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/runtime-standalone/META-INF/README b/branches/sca-equinox/modules/runtime-standalone/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/runtime-standalone/NOTICE b/branches/sca-equinox/modules/runtime-standalone/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/runtime-standalone/pom.xml b/branches/sca-equinox/modules/runtime-standalone/pom.xml deleted file mode 100644 index 8531019d16..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-runtime-standalone</artifactId> - <name>Apache Tuscany SCA Standalone Runtime</name> - - <dependencies> - - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-tomcat</artifactId> - <version>${pom.version}</version> - </dependency> - - <dependency> - <groupId>commons-cli</groupId> - <artifactId>commons-cli</artifactId> - <version>1.0</version> - <exclusions> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - </exclusions> - </dependency> - - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.runtime.standalone</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.runtime.standalone*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java b/branches/sca-equinox/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java deleted file mode 100644 index ae05f0bd29..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.standalone; - -import java.io.File; - -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.PosixParser; -import org.apache.tuscany.sca.runtime.Launcher; - -/** - * Strawman for a J2SE standalone launcher - * Try it with: - * - * mvn -o - * mvn dependency:copy-dependencies -o - * java -Djava.ext.dirs=target/dependency -jar target\tuscany-sca.jar C:\MyTuscanyRepository - * - * where MyTuscanyRepository is a folder containing SCA contribution jars - */ -public class StandaloneLauncher { - - private Launcher launcher; - - public StandaloneLauncher(File repository) { - this.launcher = new Launcher(repository); - launcher.start(); - } - - public void stop() { - launcher.stop(); - } - - public static void main(String[] args) throws Exception { - - Options options = new Options(); - options.addOption("domain", true, "the url of the remote domain this node should connect to"); - CommandLineParser parser = new PosixParser(); - CommandLine cmd = parser.parse( options, args); - if (cmd.getArgs().length != 1) { - System.err.println("missing contributions folder parameter"); - System.exit(1); - } - File f = new File(cmd.getArgs()[0]); - if (!f.exists()) { - System.err.println("repository not found: " + cmd.getArgs()[0]); - System.exit(1); - } - - StandaloneLauncher launcher = new StandaloneLauncher(f); - - System.out.println("Press enter to exit..."); - System.in.read(); - - launcher.stop(); - - } - -} diff --git a/branches/sca-equinox/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java b/branches/sca-equinox/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java deleted file mode 100644 index d29d4a3851..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.standalone; - -import java.io.File; -import java.net.MalformedURLException; -import java.net.URISyntaxException; -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.domain.DomainException; -import org.apache.tuscany.sca.node.NodeException; -import org.apache.tuscany.sca.runtime.Launcher; - -public class LauncherTestCase extends TestCase { - - private File repo; - private Launcher launcher; - - public void test1() throws NodeException, URISyntaxException, InterruptedException, DomainException, MalformedURLException { - launcher.start(); - } - - public void setUp() throws URISyntaxException { - URL propsURL = getClass().getClassLoader().getResource("repo/tuscany.properties"); - repo = new File(propsURL.toURI()).getParentFile(); - launcher = new Launcher(repo); - } - - public void tearDown() throws NodeException, URISyntaxException, InterruptedException, DomainException { - if (launcher != null) { - launcher.stop(); - } - } - -} diff --git a/branches/sca-equinox/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar b/branches/sca-equinox/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar Binary files differdeleted file mode 100644 index 6978bee727..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar +++ /dev/null diff --git a/branches/sca-equinox/modules/runtime-standalone/src/test/resources/repo/tuscany.properties b/branches/sca-equinox/modules/runtime-standalone/src/test/resources/repo/tuscany.properties deleted file mode 100644 index 2735d130e8..0000000000 --- a/branches/sca-equinox/modules/runtime-standalone/src/test/resources/repo/tuscany.properties +++ /dev/null @@ -1,5 +0,0 @@ -nodeName=http://localhost:8080/myNode/ -#domainName=http://localhost:8777/tuscany/foo/ -#startManager=true -#hotDeployInterval=10000 -#useHotUpdate=true diff --git a/branches/sca-equinox/modules/runtime-tomcat/LICENSE b/branches/sca-equinox/modules/runtime-tomcat/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/runtime-tomcat/META-INF/README b/branches/sca-equinox/modules/runtime-tomcat/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/runtime-tomcat/NOTICE b/branches/sca-equinox/modules/runtime-tomcat/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/runtime-tomcat/pom.xml b/branches/sca-equinox/modules/runtime-tomcat/pom.xml deleted file mode 100644 index 6d15f1455e..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/pom.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-runtime-tomcat</artifactId> - <name>Apache Tuscany SCA Runtime for Tomcat deep integration</name> - - <dependencies> - - <dependency> - <groupId>org.apache.tomcat</groupId> - <artifactId>catalina</artifactId> - <version>6.0.14</version> - <exclusions> - <exclusion> - <groupId>org.apache.tomcat</groupId> - <artifactId>servlet-api</artifactId> - </exclusion> - </exclusions> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.apache.tomcat</groupId> - <artifactId>coyote</artifactId> - <version>6.0.14</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> <!-- to keep compatible with older servlet containers --> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <exclusions> - <exclusion> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-endpoint</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-host-webapp</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-sca-jms</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - - <configuration> - <instructions> - <Bundle-Version>${tuscany.version}</Bundle-Version> - <Bundle-SymbolicName>org.apache.tuscany.sca.runtime.tomcat</Bundle-SymbolicName> - <Bundle-Description>${pom.name}</Bundle-Description> - <Export-Package>org.apache.tuscany.sca.runtime.tomcat*</Export-Package> - </instructions> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java deleted file mode 100644 index 45ea279889..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; -import org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory; - -/** - * The factory for creating endpoint Binding providers - * - * @version $Rev$ $Date$ - */ -public class EndpointResolverFactoryImpl implements EndpointResolverFactory<Endpoint> { - - private ExtensionPointRegistry extensionPoints; - - public EndpointResolverFactoryImpl(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - } - - public EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding) { - - return new EndpointResolverImpl(extensionPoints, endpoint); - } - - public Class<Endpoint> getModelType() { - return Endpoint.class; - } -} diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java deleted file mode 100644 index e05004160c..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; - -import org.apache.catalina.core.StandardContext; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.builder.DefaultEndpointBuilder; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; -import org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory; -import org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain; -import org.apache.tuscany.sca.host.webapp.WebAppServletHost; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; - - -/** - * The endpoint resolver allows unresolved endpoints to be plumbed into - * the runtime start and message send processing as a hook to late resolution - * of target services - * - * @version $Rev$ $Date$ - */ -public class EndpointResolverImpl implements EndpointResolver { - - private final static Logger logger = Logger.getLogger(EndpointResolverImpl.class.getName()); - - private Endpoint endpoint; - private List<EndpointResolver> endpointResolvers = new ArrayList<EndpointResolver>(); - - public EndpointResolverImpl(ExtensionPointRegistry extensionPoints, - Endpoint endpoint) { - this.endpoint = endpoint; - - EndpointResolverFactoryExtensionPoint resolverFactories = - extensionPoints.getExtensionPoint(EndpointResolverFactoryExtensionPoint.class); - - for (Binding binding : endpoint.getCandidateBindings()){ - EndpointResolverFactory resolverFactory = resolverFactories.getEndpointResolverFactory(binding.getClass()); - - // if the binding in question has a endpoint resolver factory they try and - // create an endpoint resolver - if (resolverFactory != null){ - EndpointResolver resolver = resolverFactory.createEndpointResolver(endpoint, binding); - - if (resolver != null){ - endpointResolvers.add(resolver); - } - } - } - } - - public void start(){ - // do nothing - } - - public void resolve() { - if (endpoint.isUnresolved()){ - logger.info("resolving endpoint: " + endpoint.getTargetName()); - - Component target = findTarget(); - if (target != null) { - logger.info("endpoint target found: " + endpoint.getTargetName() + " component " + target); - resolveEndpoint(target); - } else { - logger.info("endpoint target not found: " + endpoint.getTargetName()); - } - - } - } - - protected void resolveEndpoint(Component targetComponent) { - - endpoint.setTargetComponent(targetComponent); - endpoint.setTargetComponentService(targetComponent.getServices().get(0)); // TODO real service - - DefaultEndpointBuilder ebi = new DefaultEndpointBuilder(new Monitor() { - public void problem(Problem problem) { - logger.warning(problem.toString()); - } - - public List<Problem> getProblems() { - return null; - } - }); - - ebi.build(endpoint); - } - - protected Component findTarget() { - for (StandardContext sc : TuscanyHost.scaApps) { - SCADomain scaDomain = (SCADomain)sc.getServletContext().getAttribute(WebAppServletHost.SCA_DOMAIN_ATTRIBUTE); - if (scaDomain != null) { - Component component = ((DefaultSCADomain)scaDomain).getComponent(endpoint.getTargetName()); - if ( component != null) { - return component; - } - } - } - return null; - } - - public void stop() { - if (!endpoint.isUnresolved()){ - // Currently the CompositeActivator stop() should take care of the providers and - // wires that have been added. - } - } - -} diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java deleted file mode 100644 index 7351ecabe0..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java +++ /dev/null @@ -1,108 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.runtime.tomcat;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import javax.naming.NamingException;
-
-import org.apache.AnnotationProcessor;
-import org.apache.catalina.core.StandardContext;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.host.webapp.WebAppServletHost;
-import org.osoa.sca.annotations.Reference;
-
-/**
- * A Tuscany specific Tomcat annotation processor for processing SCA annotations
- */
-public class TuscanyAnnotationProcessor implements AnnotationProcessor {
-
- private StandardContext scaApp;
-
- public TuscanyAnnotationProcessor(StandardContext scaApp) {
- this.scaApp = scaApp;
- }
-
- public void postConstruct(Object instance) throws IllegalAccessException, InvocationTargetException {
- }
-
- public void preDestroy(Object instance) throws IllegalAccessException, InvocationTargetException {
- }
-
- public void processAnnotations(Object instance) throws IllegalAccessException, InvocationTargetException, NamingException {
-
- // Initialize fields annotations
- Field[] fields = instance.getClass().getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- if (fields[i].isAnnotationPresent(Reference.class)) {
- Reference annotation = fields[i].getAnnotation(Reference.class);
- injectFieldResource(instance, fields[i], annotation);
- }
- }
-
- // Initialize methods annotations
- Method[] methods = instance.getClass().getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- if (methods[i].isAnnotationPresent(Reference.class)) {
- Reference annotation = methods[i].getAnnotation(Reference.class);
- injectMethodResource(instance, methods[i], annotation);
- }
- }
-
- }
-
- protected void injectFieldResource(Object instance, Field field, Reference annotation) throws IllegalArgumentException, IllegalAccessException {
-
- String serviceName = annotation.name();
- if (serviceName == null || serviceName.length() < 1) {
- serviceName = field.getName();
- }
-
- Object service = getSCADomain().getService(field.getType(), serviceName);
-
- boolean accessibility = field.isAccessible();
- field.setAccessible(true);
- field.set(instance, service);
- field.setAccessible(accessibility);
- }
-
- protected void injectMethodResource(Object instance, Method method, Reference annotation) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {
-
- String serviceName = annotation.name();
- if (serviceName == null || serviceName.length() < 1) {
- StringBuilder setterName = new StringBuilder(method.getName());
- setterName.setCharAt(4, Character.toLowerCase(setterName.charAt(4)));
- serviceName = setterName.substring(4);
- }
-
- Object service = getSCADomain().getService(method.getParameterTypes()[0], serviceName);
-
- boolean accessibility = method.isAccessible();
- method.setAccessible(true);
- method.invoke(instance, service);
- method.setAccessible(accessibility);
- }
-
- protected SCADomain getSCADomain() {
- return (SCADomain)scaApp.getServletContext().getAttribute(WebAppServletHost.SCA_DOMAIN_ATTRIBUTE);
- }
-}
diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java deleted file mode 100644 index c8d3aa7a46..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java +++ /dev/null @@ -1,270 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - -import java.util.Hashtable; - -import javax.naming.Binding; -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NameClassPair; -import javax.naming.NameParser; -import javax.naming.NamingEnumeration; -import javax.naming.NamingException; -import javax.naming.directory.Attributes; -import javax.naming.directory.DirContext; -import javax.naming.directory.ModificationItem; -import javax.naming.directory.SearchControls; -import javax.naming.directory.SearchResult; - -import org.apache.catalina.core.StandardContext; - -/** - * - * @version $Rev$ $Date$ - */ -public class TuscanyContext extends StandardContext { - private static final long serialVersionUID = 1L; - - public TuscanyContext() { - setProcessTlds(false); - } - - @Override - public boolean getConfigured() { - return true; - } - - @Override - public DirContext getResources() { - return DUMMY_CONTEXT; - } - - @Override - public synchronized void setResources(DirContext resources) { - setDocBase("tuscany"); - super.setResources(DUMMY_CONTEXT); - } - - private static final DirContext DUMMY_CONTEXT = new DirContext(){ - - public void bind(Name name, Object obj, Attributes attrs) throws NamingException { - } - - public void bind(String name, Object obj, Attributes attrs) throws NamingException { - } - - public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException { - return null; - } - - public DirContext createSubcontext(String name, Attributes attrs) throws NamingException { - return null; - } - - public Attributes getAttributes(Name name) throws NamingException { - return null; - } - - public Attributes getAttributes(String name) throws NamingException { - return null; - } - - public Attributes getAttributes(Name name, String[] attrIds) throws NamingException { - return null; - } - - public Attributes getAttributes(String name, String[] attrIds) throws NamingException { - return null; - } - - public DirContext getSchema(Name name) throws NamingException { - return null; - } - - public DirContext getSchema(String name) throws NamingException { - return null; - } - - public DirContext getSchemaClassDefinition(Name name) throws NamingException { - return null; - } - - public DirContext getSchemaClassDefinition(String name) throws NamingException { - return null; - } - - public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException { - } - - public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException { - } - - public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException { - } - - public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException { - } - - public void rebind(Name name, Object obj, Attributes attrs) throws NamingException { - } - - public void rebind(String name, Object obj, Attributes attrs) throws NamingException { - } - - public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException { - return null; - } - - public NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException { - return null; - } - - public Object addToEnvironment(String propName, Object propVal) throws NamingException { - return null; - } - - public void bind(Name name, Object obj) throws NamingException { - } - - public void bind(String name, Object obj) throws NamingException { - } - - public void close() throws NamingException { - } - - public Name composeName(Name name, Name prefix) throws NamingException { - return null; - } - - public String composeName(String name, String prefix) throws NamingException { - return null; - } - - public Context createSubcontext(Name name) throws NamingException { - return null; - } - - public Context createSubcontext(String name) throws NamingException { - return null; - } - - public void destroySubcontext(Name name) throws NamingException { - } - - public void destroySubcontext(String name) throws NamingException { - } - - public Hashtable<?, ?> getEnvironment() throws NamingException { - return null; - } - - public String getNameInNamespace() throws NamingException { - return null; - } - - public NameParser getNameParser(Name name) throws NamingException { - return null; - } - - public NameParser getNameParser(String name) throws NamingException { - return null; - } - - public NamingEnumeration<NameClassPair> list(Name name) throws NamingException { - return null; - } - - public NamingEnumeration<NameClassPair> list(String name) throws NamingException { - return null; - } - - public NamingEnumeration<Binding> listBindings(Name name) throws NamingException { - return null; - } - - public NamingEnumeration<Binding> listBindings(String name) throws NamingException { - throw new NamingException(); - } - - public Object lookup(Name name) throws NamingException { - return null; - } - - public Object lookup(String name) throws NamingException { - return null; - } - - public Object lookupLink(Name name) throws NamingException { - return null; - } - - public Object lookupLink(String name) throws NamingException { - return null; - } - - public void rebind(Name name, Object obj) throws NamingException { - } - - public void rebind(String name, Object obj) throws NamingException { - } - - public Object removeFromEnvironment(String propName) throws NamingException { - return null; - } - - public void rename(Name oldName, Name newName) throws NamingException { - } - - public void rename(String oldName, String newName) throws NamingException { - } - - public void unbind(Name name) throws NamingException { - } - - public void unbind(String name) throws NamingException { - } - }; - -} diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java deleted file mode 100644 index b19e2326a2..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - -import java.io.File; - -import org.apache.catalina.Context; -import org.apache.catalina.Lifecycle; -import org.apache.catalina.LifecycleEvent; -import org.apache.catalina.LifecycleListener; -import org.apache.catalina.core.StandardContext; -//import org.apache.tuscany.sca.runtime.Launcher; - -/** - * - * @version $Rev$ $Date$ - */ -public class TuscanyContextListener implements LifecycleListener { - -// private Launcher launcher; - -// public TuscanyContextListener(Launcher launcher) { -// this.launcher = launcher; -// } - - public void lifecycleEvent(LifecycleEvent event) { - String type = event.getType(); - if (Lifecycle.AFTER_START_EVENT.equals(type)) { - startContext((Context) event.getLifecycle()); - } else if (Lifecycle.STOP_EVENT.equals(type)) { - stopContext((Context) event.getLifecycle()); - } - } - - protected void startContext(Context context) { - StandardContext sc = (StandardContext) context; - String path = sc.getServletContext().getRealPath("/"); - try { - File f = new File(path + "WEB-INF/classes"); - if (f.exists()) { - System.out.println("adding contribution: "+ path); -// launcher.addContribution(f.toURL()); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - protected void stopContext(Context context) { - } - -} diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java deleted file mode 100644 index 38280443f0..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.jar.JarFile; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.catalina.Container; -import org.apache.catalina.LifecycleException; -import org.apache.catalina.core.StandardContext; -import org.apache.catalina.core.StandardEngine; -import org.apache.catalina.core.StandardHost; -import org.apache.catalina.deploy.FilterDef; -import org.apache.catalina.deploy.FilterMap; - -/** - * To use this copy all the Tuscany jars to the Tomcat lib folder and update - * the Tomcat conf/server.xml <Host> to include className="org.apache.tuscany.sca.runtime.tomcat.TomcatHost" - * - * For example: - * - * <Host name="localhost" appBase="webapps" - * className="org.apache.tuscany.sca.runtime.tomcat.TuscanyHost" - * unpackWARs="true" autoDeploy="true" - * xmlValidation="false" xmlNamespaceAware="false"> - * - * - * @version $Rev$ $Date$ - */ -public class TuscanyHost extends StandardHost { - private static final long serialVersionUID = 1L; - private static final Logger logger = Logger.getLogger(TuscanyHost.class.getName()); - - // TODO static for expedience, find a better way to share when/if this is working properly - protected static List<StandardContext> scaApps = new ArrayList<StandardContext>(); - - @Override - public synchronized void start() throws LifecycleException { - try { - logger.log(Level.INFO, "Starting Tuscany/SCA runtime"); - - super.start(); - - } catch (Exception e) { - logger.log(Level.SEVERE, "Exception starting Tuscany/SCA runtime", e); - } - } - - @Override - public synchronized void stop() throws LifecycleException { - try { - logger.log(Level.INFO, "Stopping Tuscany/SCA runtime"); - - super.stop(); - - } catch (Exception e) { - logger.log(Level.SEVERE, "Exception Stopping Tuscany/SCA runtime", e); - } - } - - @Override - public synchronized void addChild(Container child) { - try { - if (isSCAApp(child)) { - initSCAApplication((StandardContext)child); - } - } catch (Exception e) { - logger.log(Level.WARNING, "Exception detecting SCA application " + child.getName(), e); - } - super.addChild(child); - } - - /** - * Tests if the child is an SCA application by checking for the presence - * of either an sca-contribution.xml file or a sca-deployables folder - */ - protected boolean isSCAApp(Container child) throws IOException { - if (child instanceof StandardContext) { - StandardContext sc = (StandardContext) child; - - if (sc.getDocBase().endsWith(".war")) { - JarFile jar = null; - try { - jar = new JarFile(((StandardEngine)this.getParent()).getBaseDir() + "/" + getAppBase() + "/" + sc.getDocBase()); - - if (jar.getEntry("META-INF/sca-deployables/") != null) { - return true; - } - - if (jar.getEntry("META-INF/sca-contribution.xml") != null) { - return true; - } - - } finally { - if (jar != null) { - jar.close(); - } - } - } else { - File webappRoot = new File(sc.getConfigFile()).getParentFile().getParentFile(); - - File scaDeployables = new File(webappRoot, "META-INF/sca-deployables"); - if (scaDeployables.exists()) { - return true; - } - - File scaContribution = new File(webappRoot, "META-INF/sca-contribution.xml"); - if (scaContribution.exists()) { - return true; - } - } - } - return false; - } - - protected void initSCAApplication(StandardContext scaApp) { - logger.log(Level.INFO, "Initilizing SCA application: " + scaApp.getName()); - - // Add the Tuscany ContextListener - scaApp.addApplicationListener(org.apache.tuscany.sca.host.webapp.TuscanyContextListener.class.getName()); - - // Add the Tuscany Servlet Filter - FilterDef filterDef = new FilterDef(); - filterDef.setFilterClass(org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.class.getName()); - filterDef.setFilterName(org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.class.getName()); - scaApp.addFilterDef(filterDef); - FilterMap filterMap = new FilterMap(); - filterMap.setFilterName(filterDef.getFilterName()); - filterMap.addURLPattern("/*"); - scaApp.addFilterMap(filterMap); - - scaApp.setAnnotationProcessor(new TuscanyAnnotationProcessor(scaApp)); - - scaApps.add(scaApp); - } - -} diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java deleted file mode 100644 index 112b404515..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - -import java.io.IOException; - -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; - -import org.apache.tuscany.sca.host.webapp.WebAppServletHost; - -/** - * A Servlet that forwards requests to the Servlets registered with the Tuscany - * ServletHost. - * - * TODO: Copy of host-webapp TuscanyServlet. Can be removed once host-webapp TuscanyServlet - * moved over to latest SCADomain API. - * - * @version $Rev$ $Date$ - */ -public class TuscanyServlet extends HttpServlet { - private static final long serialVersionUID = 1L; - - private transient WebAppServletHost servletHost; - - @Override - public void init(ServletConfig config) throws ServletException { - servletHost = WebAppServletHost.getInstance(); - servletHost.init(config); - } - - @Override - public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { - String path = ((HttpServletRequest)req).getPathInfo(); - RequestDispatcher dispatcher = servletHost.getRequestDispatcher(path); - if (dispatcher == null) { - throw new IllegalStateException("No servlet registered for path: " + path); - } - - dispatcher.forward(req, res); - } - -} diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java b/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java deleted file mode 100644 index 8764094d48..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime.tomcat; - -import javax.servlet.Servlet; - -import org.apache.catalina.core.StandardWrapper; - -/** - * Override the StandardWrapper so that Servlets are not instantiated from the - * class name but just the instance Tuscany passes in the constructor is always used. - * - * @version $Rev$ $Date$ - */ -public class TuscanyWrapper extends StandardWrapper { - private static final long serialVersionUID = 1L; - - private final Servlet servlet; - - public TuscanyWrapper(Servlet servlet) { - super(); - this.servlet = servlet; - } - - @Override - public synchronized Servlet loadServlet() { - return servlet; - } - - @Override - public Servlet getServlet() { - return servlet; - } -}
\ No newline at end of file diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory b/branches/sca-equinox/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory deleted file mode 100644 index e59ade0150..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory +++ /dev/null @@ -1,19 +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.
-
-# Implementation class for the binding extension
-org.apache.tuscany.sca.runtime.tomcat.EndpointResolverFactoryImpl;model=org.apache.tuscany.sca.assembly.Endpoint
diff --git a/branches/sca-equinox/modules/runtime-tomcat/src/test/resources/content/test.html b/branches/sca-equinox/modules/runtime-tomcat/src/test/resources/content/test.html deleted file mode 100644 index f4b79d7f01..0000000000 --- a/branches/sca-equinox/modules/runtime-tomcat/src/test/resources/content/test.html +++ /dev/null @@ -1,21 +0,0 @@ -<html> -<!-- - * 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. ---> -<body><p>hello</body> -</html>
\ No newline at end of file diff --git a/branches/sca-equinox/modules/runtime-war/LICENSE b/branches/sca-equinox/modules/runtime-war/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/runtime-war/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/runtime-war/META-INF/README b/branches/sca-equinox/modules/runtime-war/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/runtime-war/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/runtime-war/NOTICE b/branches/sca-equinox/modules/runtime-war/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/runtime-war/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/runtime-war/pom.xml b/branches/sca-equinox/modules/runtime-war/pom.xml deleted file mode 100644 index 44e66c6510..0000000000 --- a/branches/sca-equinox/modules/runtime-war/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <name>Apache Tuscany SCA WAR Runtime</name> - <artifactId>tuscany-runtime-war</artifactId> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-webapp</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> <!-- to keep compatible with older servlet containers --> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <finalName>tuscany</finalName> - </build> -</project> - diff --git a/branches/sca-equinox/modules/runtime/LICENSE b/branches/sca-equinox/modules/runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/modules/runtime/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/modules/runtime/META-INF/README b/branches/sca-equinox/modules/runtime/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/runtime/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/runtime/NOTICE b/branches/sca-equinox/modules/runtime/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/modules/runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/modules/runtime/pom.xml b/branches/sca-equinox/modules/runtime/pom.xml deleted file mode 100644 index cde7c627b8..0000000000 --- a/branches/sca-equinox/modules/runtime/pom.xml +++ /dev/null @@ -1,381 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - - <name>Apache Tuscany SCA Runtime</name> - <artifactId>tuscany-runtime</artifactId> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-assembly-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-dwr</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ejb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-feed</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-http</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jms</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-jsonrpc</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-notification</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-sca-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-axis2</artifactId> - <version>${pom.version}</version> - <exclusions> - <exclusion> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - </exclusion> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-binding-ws-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-impl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-namespace</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-contribution-resource</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-spi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-core-spring</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-jaxb</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-databinding-sdo-axiom</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-definitions</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-definitions-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-node-api</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-node-launcher</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-domain-manager</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-node-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-extension-helper</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-embedded</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-http</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-host-rmi</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-node-runtime</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-notification</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-resource</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-script</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-implementation-spring</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-java-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-interface-wsdl-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-policy-xml</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>${pom.groupId}</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>${pom.version}</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.3</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - <version>1.2</version> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>1.2</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-core</artifactId> - <version>4.1.1</version> - </dependency> - </dependencies> - - <build> - <finalName>tuscany-sca</finalName> - <resources> - <resource> - <directory>src/main/java</directory> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <mainClass>org.apache.tuscany.sca.runtime.standalone.Launcher</mainClass> - <addClasspath>false</addClasspath> - </manifest> - <manifestEntries> - <!-- Add an entry for the renamed bundle jar in the distro --> - <Class-Path>tuscany-standalone-${pom.version}.jar</Class-Path> - </manifestEntries> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java b/branches/sca-equinox/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java deleted file mode 100644 index 1f03ade970..0000000000 --- a/branches/sca-equinox/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java +++ /dev/null @@ -1,424 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.runtime; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FilenameFilter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.namespace.QName; - -//import org.apache.tuscany.sca.node.NodeException; -//import org.apache.tuscany.sca.node.SCANode; -//import org.apache.tuscany.sca.node.SCANodeFactory; - -/** - * A Launcher using a multiple nodes part as part of a domain - * - * @version $Rev$ $Date$ - */ -public class Launcher { - private static final Logger logger = Logger.getLogger(Launcher.class.getName()); - -// protected SCANodeFactory scaNodeFactory; -// protected List<SCANode> scaNodes; - protected String domainName; - protected File repository; - - protected boolean started; - - protected String cp; - - public Launcher(File repository) { - this(repository, "http://localhost:8080/Tuscany"); - } - - public Launcher(File repository, String cp) { - this.repository = repository; - this.cp = cp; - - initFromPropertyFile(); - - logger.info("SCA runtime starting"); - logger.info("repository: " + repository.getAbsolutePath()); - logger.info("domain: " + ((domainName != null) ? domainName : "STANDALONE")); - -// scaNodeFactory = SCANodeFactory.newInstance(); -// scaNodes = new ArrayList<SCANode>(); - - if (repository != null && repository.exists()) { -// if (isExplodedContribution(repository)) { -// addContributionFolder(repository); -// } else { -// addTopLevelJARs(repository); -// addSubFolders(repository); -// } - } - } - - protected boolean isExplodedContribution(File folder) { - return getJARsInFolder(folder).length < 1 && containsCompositeFile(folder); - } - -// protected void addContributionFolder(File folder) { -// SCANode repoNode; -// try { -// repoNode = createNode(cp); -// } catch (Exception e) { -// throw new RuntimeException(e); -// } -// -// try { -// repoNode.addContribution(folder.toURL().toString(), folder.toURL()); -// logger.info("added contribution folder: " + folder.toURL()); -// } catch (Exception e) { -// e.printStackTrace(); -// logger.log(Level.WARNING, "exception adding contribution folder: " + folder, e); -// } -// } -// -// protected URL[] addTopLevelJARs(File repository) { -// SCANode repoNode; -// try { -// repoNode = createNode(cp); -// } catch (Exception e) { -// throw new RuntimeException(e); -// } -// -// URL[] jars = getJARsInFolder(repository); -// for (URL jarURL : jars) { -// try { -// repoNode.addContribution(jarURL.toString(), jarURL); -// logger.info("added contribution: " + jarURL); -// } catch (NodeException e) { -// e.printStackTrace(); -// logger.log(Level.WARNING, "exception adding contribution: " + jarURL, e); -// } -// } -// -// return jars; -// } -// -// protected URL[] addSubFolders(File repository) { -// URL[] folders = getSubFolders(repository); -// for (URL folderURL : folders) { -// try { -// SCANode scaNode = createNode(cp + "/" + folderURL); -// scaNode.addContribution(folderURL.toString(), folderURL); -// logger.info("added contribution: " + folderURL); -// } catch (Exception e) { -// e.printStackTrace(); -// logger.log(Level.WARNING, "exception adding contribution: " + folderURL, e); -// } -// } -// return folders; -// } -// -// public void addContribution(URL contributionURL) throws NodeException { -// SCANode scaNode = createNode(cp + "/" + contributionURL); -// -// if (started && domainName == null) { -// scaNode.stop(); -// } -// -// scaNode.addContribution(contributionURL.toString(), contributionURL); -// logger.info("added contribution: " + contributionURL); -// -// if (started) { -// if (domainName == null) { -// scaNode.addToDomainLevelComposite((QName)null); -// scaNode.start(); -// } else { -// scaNode.addToDomainLevelComposite((QName)null); -// scaNode.start(); -// } -// } -// } -// -// public void start() { -// try { -// -// for (SCANode scaNode : scaNodes) { -// scaNode.addToDomainLevelComposite((QName)null); -// scaNode.start(); -// } -// -// } catch (NodeException e) { -// throw new RuntimeException(e); -// } -// started = true; -// } -// -// public void stop() { -// try { -// for (SCANode scaNode : scaNodes) { -// scaNode.stop(); -// } -// } catch (NodeException e) { -// throw new RuntimeException(e); -// } -// started = false; -// } -// -// public void destroy() { -// try { -// stop(); -// for (SCANode scaNode : scaNodes) { -// scaNode.destroy(); -// } -// } catch (NodeException e) { -// throw new RuntimeException(e); -// } -// } - - protected URL[] getJARsInFolder(File repository) { - - String[] jarNames = repository.list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".jar"); - } - }); - - List<URL> contributionJars = new ArrayList<URL>(); - if (jarNames != null) { - for (String jar : jarNames) { - try { - contributionJars.add(new File(repository, jar).toURL()); - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } - } - } - - return contributionJars.toArray(new URL[contributionJars.size()]); - } - - protected URL[] getSubFolders(File repositoryDir) { - String[] folderNames = repositoryDir.list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return new File(dir, name).isDirectory(); - } - }); - - List<URL> contributionFolders = new ArrayList<URL>(); - if (folderNames != null) { - for (String folder : folderNames) { - try { - contributionFolders.add(new File(repositoryDir, folder).toURL()); - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } - } - } - - return contributionFolders.toArray(new URL[contributionFolders.size()]); - } - - /** - * Tests if the directory or any sub-directories contains a .composite file - */ - protected boolean containsCompositeFile(File repository) { - String[] compositesFileNames = repository.list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".composite"); - } - }); - - if (compositesFileNames == null || compositesFileNames.length < 1) { - for (URL subFolder : getSubFolders(repository)) { - try { - if (containsCompositeFile(new File(subFolder.toURI()))) { - return true; - } - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - } - return false; - } else { - return true; - } - } - - /** - * Creates a new SCA Node unless running as a standalone node in - * which case just a single node is used to run for all contributions - */ -// protected SCANode createNode(String nodeName) throws NodeException { -// SCANode scaNode; -// -// if (domainName == null || domainName.length() < 1) { -// if (scaNodes.size() < 1) { -// scaNode = scaNodeFactory.createSCANode(nodeName, null); -// scaNodes.add(scaNode); -// } else { -// scaNode = scaNodes.get(0); -// } -// } else { -// scaNode = scaNodeFactory.createSCANode(nodeName, null); -// scaNodes.add(scaNode); -// } -// -// return scaNode; -// } - - protected void initFromPropertyFile() { - File file = new File(repository, "tuscany.properties"); - if (!file.exists()) { - return; - } - - Properties properties = new Properties(); - try { - properties.load(new FileInputStream(file)); - } catch (IOException e) { - throw new RuntimeException(e); - } - -// if (properties.getProperty("nodeName") != null) { -// this.nodeName = properties.getProperty("nodeName"); -// } - if (properties.getProperty("domainName") != null && properties.getProperty("domainName").length() > 0) { - this.domainName = properties.getProperty("domainName"); - } -// if (properties.getProperty("hotDeployInterval") != null) { -// this.hotDeployInterval = Long.parseLong(properties.getProperty("hotDeployInterval")); -// } - } - -// protected void initHotDeploy(final File repository) { -// -// if (hotDeployInterval == 0) { -// return; // hotUpdateInterval of 0 disables hotupdate -// } -// -// Runnable runable = new Runnable() { -// -// public void run() { -// logger.info("Contribution hot deploy activated"); -// while (!stopHotDeployThread) { -// try { -// Thread.sleep(hotDeployInterval); -// } catch (InterruptedException e) { -// } -// if (!stopHotDeployThread) { -// checkForUpdates(repository); -// } -// } -// logger.info("contribution hot deploy stopped"); -// } -// }; -// hotDeployThread = new Thread(runable, "TuscanyHotDeploy"); -// stopHotDeployThread = false; -// hotDeployThread.start(); -// } -// -// protected void checkForUpdates(File repository) { -// URL[] currentContributions = getContributionJarURLs(repository); -// if (areContributionsAltered(currentContributions)) { -// restartNode(node); -// } -// } -// -// protected boolean areContributionsAltered(URL[] currentContrabutions) { -// try { -// -// List addedContributions = getAddedContributions(currentContrabutions); -// List removedContributions = getRemovedContributions(currentContrabutions); -// List updatedContributions = getUpdatedContributions(currentContrabutions); -// -// return (addedContributions.size() > 0 || removedContributions.size() > 0 || updatedContributions.size() > 0); -// -// } catch (URISyntaxException e) { -// throw new RuntimeException(e); -// } -// } -// -// protected List<URL> getAddedContributions(URL[] currentContrabutions) { -// List<URL> urls = new ArrayList<URL>(); -// for (URL url : currentContrabutions) { -// if (!existingContributions.containsKey(url)) { -// urls.add(url); -// } -// } -// return urls; -// } -// -// protected List<URL> getUpdatedContributions(URL[] currentContrabutions) throws URISyntaxException { -// List<URL> urls = new ArrayList<URL>(); -// for (URL url : currentContrabutions) { -// if (existingContributions.containsKey(url)) { -// File curentFile = new File(url.toURI()); -// if (curentFile.lastModified() != existingContributions.get(url)) { -// urls.add(url); -// logger.info("updated contribution: " + curentFile.getName()); -// } -// } -// } -// return urls; -// } -// -// protected List getRemovedContributions(URL[] currentContrabutions) throws URISyntaxException { -// List<URL> currentUrls = Arrays.asList(currentContrabutions); -// List<URL> urls = new ArrayList<URL>(); -// for (URL url : existingContributions.keySet()) { -// if (!currentUrls.contains(url)) { -// urls.add(url); -// } -// } -// for (URL url : urls) { -// logger.info("removed contributions: " + new File(url.toURI()).getName()); -// } -// return urls; -// } -// -// protected void copyFiles(File origin, File destination) throws IOException { -// if (origin.isDirectory()) { -// if (!destination.exists()) { -// destination.mkdir(); -// } -// for (String file : origin.list()) { -// copyFiles(new File(origin, file), new File(destination, file)); -// } -// } else { -// InputStream in = new FileInputStream(origin); -// OutputStream out = new FileOutputStream(destination); -// try { -// byte[] buf = new byte[4096]; -// int len; -// while ((len = in.read(buf)) > 0) { -// out.write(buf, 0, len); -// } -// } finally { -// in.close(); -// out.close(); -// } -// } -// } -} diff --git a/branches/sca-equinox/modules/runtime2/META-INF/README b/branches/sca-equinox/modules/runtime2/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/runtime2/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/runtime2/pom.xml b/branches/sca-equinox/modules/runtime2/pom.xml deleted file mode 100644 index dbf55df4e3..0000000000 --- a/branches/sca-equinox/modules/runtime2/pom.xml +++ /dev/null @@ -1,334 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>tuscany-runtime2</artifactId>
- <name>Apache Tuscany SCA runtime</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-java</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-namespace</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-contribution-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-core-spi</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding-jaxb</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-endpoint</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-extensibility</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-monitor</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-monitor-logging</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- </dependencies>
-
-
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- </resources>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
-
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <shadedGroupFilter>org.apache.tuscany.sca</shadedGroupFilter>
-
- <shadedArtifactAttached>false</shadedArtifactAttached>
- <createSourcesJar>${createSourcesJar}</createSourcesJar>
- <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
- <createDependencyReducedPom>true</createDependencyReducedPom>
-
- <!-- artifactSet>
- <includes>
- <include>org.apache.tuscany.sca:sca-api</include>
- </includes>
- <excludes>
- <exclude>org.apache.tuscany.sca:extensibility</exclude>
- </excludes>
- </artifactSet -->
-
- <filters>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-host-embedded</artifact>
- <!-- excludes>
- <exclude>org/apache/tuscany/sca/host/embedded/*</exclude>
- </excludes -->
- <includes>
- <include>org/apache/tuscany/sca/host/embedded/impl/**</include>
- </includes>
- </filter>
- <filter>
- <artifact>${project.groupId}:${project.artifactId}</artifact>
-
- <excludes>
- <exclude>org/**</exclude>
- </excludes>
- </filter>
- </filters>
-
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/modules/scdl4j/META-INF/README b/branches/sca-equinox/modules/scdl4j/META-INF/README deleted file mode 100644 index 009570154d..0000000000 --- a/branches/sca-equinox/modules/scdl4j/META-INF/README +++ /dev/null @@ -1 +0,0 @@ -This directory contains a generated MANIFEST.MF file. diff --git a/branches/sca-equinox/modules/scdl4j/pom.xml b/branches/sca-equinox/modules/scdl4j/pom.xml deleted file mode 100644 index b259e339e5..0000000000 --- a/branches/sca-equinox/modules/scdl4j/pom.xml +++ /dev/null @@ -1,315 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-modules</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <name>Apache Tuscany SCDL4J</name>
- <artifactId>tuscany-scdl4j</artifactId>
- <packaging>jar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-assembly-xsd</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-definitions</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-definitions-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-policy</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-policy-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-xsd</artifactId>
- <version>${pom.version}</version>
- </dependency>
-
- <!-- extensions -->
-
- <!--
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-atom</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-corba</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-ejb</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-binding-jsonrpc</artifactId>
- <version>${pom.version}</version>
- </dependency>
--->
-
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>tuscany-interface-java-jaxws</artifactId>
- <version>${pom.version}</version>
- </dependency>
-
- <!-- dependencies to keep in the shaded pom.xml -->
-
- <dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0-2</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.woodstox</groupId>
- <artifactId>wstx-asl</artifactId>
- <version>3.2.1</version>
- <scope>runtime</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <!-- promoteTransitiveDependencies>true</promoteTransitiveDependencies -->
- <!-- shadedArtifactAttached>true</shadedArtifactAttached -->
- <artifactSet>
- <excludes>
- <exclude>javax.xml.stream:stax-api</exclude>
- <exclude>stax:stax-api</exclude>
- <exclude>com.sun.xml.bind:jaxb-impl</exclude>
- <exclude>xml-apis:xml-apis</exclude>
- <exclude>javax.jws:jsr181-api</exclude>
- <exclude>javax.xml.bind:jaxb-api</exclude>
- <exclude>org.jvnet.jaxb.reflection:jaxb2-reflection</exclude>
- <exclude>org.codehaus.woodstox:wstx-asl</exclude>
- <exclude>asm:asm-all</exclude>
- <exclude>javax.annotation:jsr250-api</exclude>
- <exclude>javax.activation:activation</exclude>
- <exclude>cglib:cglib-nodep</exclude>
- <exclude>javax.xml.ws:jaxws-api</exclude>
- <exclude>javax.xml.soap:saaj-api</exclude>
- <exclude>org.apache.geronimo.specs:geronimo-commonj_1.1_spec</exclude>
- <exclude>org.apache.ws.commons.schema:XmlSchema</exclude>
- </excludes>
- </artifactSet>
- <filters>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-interface-java-jaxws</artifact>
- <excludes>
- <exclude>com/example/**</exclude>
- </excludes>
- </filter>
- <filter>
- <artifact>org.apache.tuscany.sca:tuscany-databinding-jaxb</artifact>
- <excludes>
- <exclude>com/example/**</exclude>
- </excludes>
- </filter>
- </filters>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.core.ModuleActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBinding</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.work.WorkScheduler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider</resource>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-broker/README b/branches/sca-equinox/samples/binding-notification-broker/README deleted file mode 100644 index e47f12cb20..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/README +++ /dev/null @@ -1,110 +0,0 @@ -Notification Broker Binding Sample
-==================================
-
-This sample illustrates the use of <binding.notification/> with a
-broker.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-Sample Overview
----------------
-
-This sample illustrates the use of a notification broker that is located in a
-separate (and remote) composite with respect to any producers or consumers. As
-such, this sample is run in conjunction with the binding-notification-producer
-sample, the binding-notification-consumer sample, or both. Take a look at the
-composite file or the .svg file which shows the composite file in pictorial form.
-The composite service and composite reference each have a <binding.notification/>
-that handles the remote communication. This binding includes an 'ntm' attribute
-that refers to the notification type manager, which manages the connectivity of
-producers, consumers and brokers, and which (for this sample) is assumed to be
-running on http://localhost:8083. The ntm is a system component that is included in
-and runs as part of the binding-notification module.
-This sample also illustrates the use of a wsdl interface in the notification
-component's <implementation.notification/>. This allows messages sent and received
-via <binding.notification/> to be transported as literal xml over http.
-
-Building And Running The Sample Using Ant
------------------------------------------
-With the binary distribution the sample can be built and run using Ant as
-follows
-
-cd binding-notification-broker
-ant compile
-ant run
-
-You should see the following output from the run target.
-
-run:
- [java] Sep 14, 2007 11:14:24 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/ntm/trafficAdvisory
- [java] Sep 14, 2007 11:14:24 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/consumer/trafficAdvisory
- [java] Sep 14, 2007 11:14:24 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/producer/trafficAdvisory
-
-Building And Running The Sample Using Maven
--------------------------------------------
-
-With either the binary or source distributions the sample can be built and run
-using Maven as follows.
-
-cd binding-notification-broker
-mvn
-
-Sample Usage
-------------
-
-This sample is run using the tuscany binary distribution. To run it, first set the
-following environment variables:
-
-set TUSCANY_BIN_DISTRO=<Directory where the distro was extracted, e.g. \Devt\tuscany-sca-distr\tuscany-sca>
-set TUSCANY_SCA_MANIFEST_JAR=%TUSCANY_BIN_DISTRO%\lib\tuscany-sca-manifest.jar
-
-Then navigate to this sample directory and do:
-
-java -Dnotification.httpPort=8080 -cp "target\sample-binding-notification-broker.jar;%TUSCANY_SCA_MANIFEST_JAR%" notification.broker.TrafficAdvisoryServer
-
-this should bring up the following prompt:
-
-Send a report value, ^C or <end> to end
-
-at this point you should be able to type a message to send, for instance:
-
-Traffic congestion
-
-Notice that before you try to receive any message, you should bring up the
-consumer sample or another broker sample. When you have finished using this
-sample, type 'end' or ^C to end.
-
-Also notice that '-Dnotification.httpPort=8080' is used in the java command.
-This indicates the port the sample should use. This also says that this server
-is not going to play the role of ntm, given our previous assumption. It is important
-that the first one of the producer, consumer or broker sample that is run be the
-one that uses '-Dnotification.httpPort=8083', otherwise there is no ntm to talk
-to and an exception will be thrown.
-
-Sample directory structure:
----------------------------
-
-binding-notification-broker/
- src/
- main/
- java/
- notification.broker/
- TestCaseProducer.java - interface for the producer component
- TrafficAdvisory.java - remote interface referred to by the producer component
- and for the consumer component
- TrafficAdvisoryConsumer.java - implementation for the consumer components
- TrafficAdvisoryProducer.java - implementation for the producer component
- TrafficAdvisoryServer.java - server class including main entry point
- resources/
- wsdl/
- TrafficAdvisory.wsdl - remote interface for the notification component
- TrafficAdvisoryNotification.componentType - the component type referred to by
- <implementation.notification/>
- TrafficAdvisoryNotification.composite - the main composite including producer, consumer and
- notification components, and composite service and reference
- pom.xml - the Maven build file
diff --git a/branches/sca-equinox/samples/binding-notification-broker/binding-notification-broker.png b/branches/sca-equinox/samples/binding-notification-broker/binding-notification-broker.png Binary files differdeleted file mode 100644 index 49030650f2..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/binding-notification-broker.png +++ /dev/null diff --git a/branches/sca-equinox/samples/binding-notification-broker/build.xml b/branches/sca-equinox/samples/binding-notification-broker/build.xml deleted file mode 100644 index a042b9036a..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/build.xml +++ /dev/null @@ -1,75 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project name="binding-notification-broker" default="compile">
- <property name="test.class" value="notification.broker.TrafficAdvisoryServer" />
- <property name="test.jar" value="sample-binding-notification-broker.jar" />
-
- <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/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="run-classes">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/classes"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <sysproperty key="notification.httpPort" value="8083"/>
- <arg value="end"/>
- </java>
- </target>
-
- <target name="run">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <sysproperty key="notification.httpPort" value="8083"/>
- </java>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-broker/pom.xml b/branches/sca-equinox/samples/binding-notification-broker/pom.xml deleted file mode 100644 index 8043379003..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/pom.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-binding-notification-broker</artifactId>
- <name>Apache Tuscany SCA Notification Binding Broker Sample</name>
- <version>1.4-SNAPSHOT</version>
- <description>A sample illustrating use of binding.notification</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-databinding</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <!-- test dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- </plugins>
- <defaultGoal>install</defaultGoal>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TestCaseProducer.java b/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TestCaseProducer.java deleted file mode 100644 index 35fa1a9ee9..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TestCaseProducer.java +++ /dev/null @@ -1,24 +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 notification.broker;
-
-public interface TestCaseProducer {
-
- public void produceTrafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisory.java b/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisory.java deleted file mode 100644 index d5bc8fbb50..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisory.java +++ /dev/null @@ -1,30 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.broker;
-
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface TrafficAdvisory {
-
- void trafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryConsumer.java b/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryConsumer.java deleted file mode 100644 index cd3befe076..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryConsumer.java +++ /dev/null @@ -1,41 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.broker;
-
-import org.osoa.sca.annotations.AllowsPassByReference;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-/**
- * @version $Rev$ $Date$
- */
-@Service(TrafficAdvisory.class)
-@Scope("COMPOSITE")
-@AllowsPassByReference
-public class TrafficAdvisoryConsumer implements TrafficAdvisory {
-
- @Property
- protected String name;
-
- public void trafficNotification(String report) {
-
- System.out.println("Consumer [" + name + "] received report: " + report);
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryProducer.java b/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryProducer.java deleted file mode 100644 index 8caefaf1d2..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryProducer.java +++ /dev/null @@ -1,36 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.broker;
-
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-@Service(TestCaseProducer.class)
-@Scope("COMPOSITE")
-public class TrafficAdvisoryProducer implements TestCaseProducer {
-
- @Reference
- protected TrafficAdvisory destination;
-
- public void produceTrafficNotification(String report) {
-
- destination.trafficNotification(report);
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryServer.java b/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryServer.java deleted file mode 100644 index b0f0d2a800..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/java/notification/broker/TrafficAdvisoryServer.java +++ /dev/null @@ -1,72 +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 notification.broker;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URI;
-
-import org.apache.tuscany.sca.binding.notification.NotificationBindingProviderFactory;
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TrafficAdvisoryServer {
-
- private static URI notificationType;
-
- public static void main(String[] args) {
- try {
- notificationType = new URI("trafficAdvisory");
- String compositeName = "TrafficAdvisoryNotification.composite";
- SCADomain domain = SCADomain.newInstance(compositeName);
- TestCaseProducer testCaseProducer = domain.getService(TestCaseProducer.class, "TrafficAdvisoryProducer");
-
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String value = "";
- if (args.length == 1) {
- value = args[0];
- }
- do {
- if(value == null || value.equals("end")) {
- break;
- }
- try {
- System.out.println("Send a report value, ^C or <end> to end");
- value = reader.readLine();
- } catch (IOException e) {
- e.printStackTrace();
- }
- if (value.equals("rb")) {
- NotificationBindingProviderFactory.removeBroker(notificationType);
- }
- else {
- testCaseProducer.produceTrafficNotification("Report value [" + value + "]");
- }
- }
- while(true);
-
- domain.close();
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.componentType b/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.componentType deleted file mode 100644 index 2dc70f8ed1..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.componentType +++ /dev/null @@ -1,34 +0,0 @@ -<?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.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance">
- <service name="TrafficAdvisoryNotificationService">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- </reference>
-</componentType>
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.composite b/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.composite deleted file mode 100644 index f490c34ea6..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/TrafficAdvisoryNotification.composite +++ /dev/null @@ -1,61 +0,0 @@ -<?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.
--->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://tuscany.apache.org/xmlns/notification/1.0/samples"
- xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
- name="TrafficAdvisoryNotificationBrokerComposite">
-
- <service name="TrafficAdvisoryNotificationCompositeService"
- promote="TrafficAdvisoryNotificationComponent/TrafficAdvisoryNotificationService">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- <tuscany:binding.notification ntm="http://localhost:8083/ntm" notificationType="trafficAdvisory"/>
- </service>
-
- <component name="TrafficAdvisoryProducer">
- <implementation.java class="notification.broker.TrafficAdvisoryProducer"/>
- <reference name="destination" target="TrafficAdvisoryNotificationComponent"/>
- </component>
-
- <component name="TrafficAdvisoryNotificationComponent">
- <tuscany:implementation.notification name="TrafficAdvisoryNotification"/>
- <!-- Never use > 1 reference elements here !! -->
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n"
- target="TrafficAdvisoryConsumer1"/>
- </component>
-
- <component name="TrafficAdvisoryConsumer1">
- <implementation.java class="notification.broker.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer1</property>
- </component>
-
- <reference name="TrafficAdvisoryNotificationCompositeReference"
- promote="TrafficAdvisoryNotificationComponent/TrafficAdvisoryNotificationReference">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- <tuscany:binding.notification ntm="http://localhost:8083/ntm" notificationType="trafficAdvisory"/>
- </reference>
-
-</composite>
diff --git a/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/wsdl/TrafficAdvisory.wsdl b/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/wsdl/TrafficAdvisory.wsdl deleted file mode 100644 index b823bbebcc..0000000000 --- a/branches/sca-equinox/samples/binding-notification-broker/src/main/resources/wsdl/TrafficAdvisory.wsdl +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.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.
--->
-<definitions name="TrafficAdvisory"
- targetNamespace="http://example.com/TrafficAdvisory.wsdl"
- xmlns:tns="http://example.com/TrafficAdvisory.wsdl"
- xmlns:xsd1="http://example.com/TrafficAdvisory.xsd"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/TrafficAdvisory.xsd"
- xmlns:tns="http://example.com/TrafficAdvisory.xsd"
- xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="trafficNotification">
- <complexType>
- <sequence>
- <element name="report" type="string" />
- </sequence>
- </complexType>
- </element>
- </schema>
- </types>
-
- <message name="TrafficNotificationInput">
- <part name="body" element="xsd1:trafficNotification" />
- </message>
-
- <portType name="TrafficAdvisoryPortType">
- <operation name="trafficNotification">
- <input message="tns:TrafficNotificationInput" />
- </operation>
- </portType>
-
-</definitions>
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/README b/branches/sca-equinox/samples/binding-notification-consumer/README deleted file mode 100644 index 0fdfa8461a..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/README +++ /dev/null @@ -1,102 +0,0 @@ -Notification Consumer Binding Sample
-===============================
-
-This sample illustrates the use of <binding.notification/> with a
-remote consumer.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-Sample Overview
----------------
-
-This sample illustrates the use of a notification consumer that is located in a
-separate (and remote) composite with respect to any producers. As such, this sample
-is run in conjunction with the binding-notification-producer sample, the
-binding-notification-broker sample, or both. Take a look at the composite file
-or the .svg file which shows the composite file in pictorial form. The composite
-service, wired to the notification component, has a <binding.notification/>
-that handles the remote communication. This binding includes an 'ntm' attribute
-that refers to the notification type manager, which manages the connectivity of
-producers, consumers and brokers, and which (for this sample) is assumed to be
-running on http://localhost:8083. The ntm is a system component that is included in
-and runs as part of the binding-notification module.
-This sample also illustrates the use of a wsdl interface in the notification
-component's <implementation.notification/>. This allows messages sent and received
-via <binding.notification/> to be transported as literal xml over http.
-
-Building And Running The Sample Using Ant
------------------------------------------
-With the binary distribution the sample can be built and run using Ant as
-follows
-
-cd binding-notification-consumer
-ant compile
-ant run
-
-You should see the following output from the run target.
-
-run:
- [java] Sep 14, 2007 10:56:29 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/ntm/trafficAdvisory
- [java] Sep 14, 2007 10:56:29 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/consumer/trafficAdvisory
-
-Building And Running The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built and run
-using Maven as follows.
-
-cd binding-notification-consumer
-mvn
-
-Sample Usage
-------------
-
-This sample is run using the tuscany binary distribution. To run it, first set the
-following environment variables:
-
-set TUSCANY_BIN_DISTRO=<Directory where the distro was extracted, e.g. \Devt\tuscany-sca-distr\tuscany-sca>
-set TUSCANY_SCA_MANIFEST_JAR=%TUSCANY_BIN_DISTRO%\lib\tuscany-sca-manifest.jar
-
-Then navigate to this sample directory and do:
-
-java -Dnotification.httpPort=8082 -cp "target\sample-binding-notification-consumer.jar;%TUSCANY_SCA_MANIFEST_JAR%" notification.consumer.TrafficAdvisoryServer
-
-this should bring up the following prompt:
-
-TrafficAdvisoryServer, hit return to end
-
-at this point you should be able to receive messages.
-
-Notice that before you try to receive any message, you should bring up the
-producer sample or the broker sample. When you have finished using this
-sample, hit return to end.
-
-Also notice that '-Dnotification.httpPort=8082' is used in the java command.
-This indicates the port the sample should use. This also says that this server
-is not going to play the role of ntm, given our previous assumption. It is important
-that the first one of the producer, consumer or broker sample that is run be the
-one that uses '-Dnotification.httpPort=8083', otherwise there is no ntm to talk
-to and an exception will be thrown.
-
-Sample directory structure:
----------------------------
-
-binding-notification-consumer/
- src/
- main/
- java/
- notification.consumer/
- TrafficAdvisory.java - remote interface referred to by the producer component
- TrafficAdvisoryConsumer.java - implementation for the consumer components
- TrafficAdvisoryServer.java - server class including main entry point
- resources/
- wsdl/
- TrafficAdvisory.wsdl - remote interface for the notification component
- TrafficAdvisoryNotification.componentType - the component type referred to by
- <implementation.notification/>
- TrafficAdvisoryNotification.composite - the main composite including producer and
- notification components, and composite reference
- pom.xml - the Maven build file
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/binding-notification-consumer.png b/branches/sca-equinox/samples/binding-notification-consumer/binding-notification-consumer.png Binary files differdeleted file mode 100644 index 33e1966c3e..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/binding-notification-consumer.png +++ /dev/null diff --git a/branches/sca-equinox/samples/binding-notification-consumer/build.xml b/branches/sca-equinox/samples/binding-notification-consumer/build.xml deleted file mode 100644 index f57fe1bb26..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/build.xml +++ /dev/null @@ -1,75 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project name="binding-notification-consumer" default="compile">
- <property name="test.class" value="notification.consumer.TrafficAdvisoryServer" />
- <property name="test.jar" value="sample-binding-notification-consumer.jar" />
-
- <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/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="run-classes">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/classes"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <sysproperty key="notification.httpPort" value="8083"/>
- <arg value="end"/>
- </java>
- </target>
-
- <target name="run">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <sysproperty key="notification.httpPort" value="8081"/>
- </java>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/pom.xml b/branches/sca-equinox/samples/binding-notification-consumer/pom.xml deleted file mode 100644 index 5b1fc256f6..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-binding-notification-consumer</artifactId>
- <name>Apache Tuscany SCA Notification Binding Consumer Sample</name>
- <version>1.4-SNAPSHOT</version>
- <description>A sample illustrating use of binding.notification</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-java-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemProperties>
- <property>
- <name>notification.httpPort</name>
- <value>8083</value>
- </property>
- </systemProperties>
- </configuration>
- </plugin>
- </plugins>
- <defaultGoal>install</defaultGoal>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisory.java b/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisory.java deleted file mode 100644 index 0efd1195bc..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisory.java +++ /dev/null @@ -1,30 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.consumer;
-
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface TrafficAdvisory {
-
- void trafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryConsumer.java b/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryConsumer.java deleted file mode 100644 index f6c27a2f55..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryConsumer.java +++ /dev/null @@ -1,41 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.consumer;
-
-import org.osoa.sca.annotations.AllowsPassByReference;
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-/**
- * @version $Rev$ $Date$
- */
-@Service(TrafficAdvisory.class)
-@Scope("COMPOSITE")
-@AllowsPassByReference
-public class TrafficAdvisoryConsumer implements TrafficAdvisory {
-
- @Property
- protected String name;
-
- public void trafficNotification(String report) {
-
- System.out.println("Consumer [" + name + "] received report: " + report);
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryServer.java b/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryServer.java deleted file mode 100644 index c53adb1944..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/main/java/notification/consumer/TrafficAdvisoryServer.java +++ /dev/null @@ -1,48 +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 notification.consumer;
-
-import java.io.IOException;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TrafficAdvisoryServer {
-
- public static void main(String[] args) {
- try {
- SCADomain domain = SCADomain.newInstance("TrafficAdvisoryNotification.composite");
-
- try {
- if (args.length != 1 || !args[0].equals("end")) {
- System.out.println("TrafficAdvisoryServer, hit return to end");
- System.in.read();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- domain.close();
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.componentType b/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.componentType deleted file mode 100644 index 2dc70f8ed1..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.componentType +++ /dev/null @@ -1,34 +0,0 @@ -<?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.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance">
- <service name="TrafficAdvisoryNotificationService">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- </reference>
-</componentType>
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.composite b/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.composite deleted file mode 100644 index 8f9bcc4438..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/TrafficAdvisoryNotification.composite +++ /dev/null @@ -1,53 +0,0 @@ -<?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.
--->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://tuscany.apache.org/xmlns/notification/1.0/samples"
- xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
- name="TrafficAdvisoryNotificationRemoteConsumerComposite">
-
- <service name="TrafficAdvisoryNotificationCompositeService"
- promote="TrafficAdvisoryNotificationComponent/TrafficAdvisoryNotificationService">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- <tuscany:binding.notification ntm="http://localhost:8083/ntm" notificationType="http://example.com/trafficAdvisory"/>
- </service>
-
- <component name="TrafficAdvisoryNotificationComponent">
- <tuscany:implementation.notification name="TrafficAdvisoryNotification"/>
- <!-- Never use > 1 reference elements here !! -->
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n"
- target="TrafficAdvisoryConsumer1 TrafficAdvisoryConsumer2"/>
- </component>
-
- <component name="TrafficAdvisoryConsumer1">
- <implementation.java class="notification.consumer.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer1</property>
- </component>
-
- <component name="TrafficAdvisoryConsumer2">
- <implementation.java class="notification.consumer.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer2</property>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/wsdl/TrafficAdvisory.wsdl b/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/wsdl/TrafficAdvisory.wsdl deleted file mode 100644 index b823bbebcc..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/main/resources/wsdl/TrafficAdvisory.wsdl +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.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.
--->
-<definitions name="TrafficAdvisory"
- targetNamespace="http://example.com/TrafficAdvisory.wsdl"
- xmlns:tns="http://example.com/TrafficAdvisory.wsdl"
- xmlns:xsd1="http://example.com/TrafficAdvisory.xsd"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/TrafficAdvisory.xsd"
- xmlns:tns="http://example.com/TrafficAdvisory.xsd"
- xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="trafficNotification">
- <complexType>
- <sequence>
- <element name="report" type="string" />
- </sequence>
- </complexType>
- </element>
- </schema>
- </types>
-
- <message name="TrafficNotificationInput">
- <part name="body" element="xsd1:trafficNotification" />
- </message>
-
- <portType name="TrafficAdvisoryPortType">
- <operation name="trafficNotification">
- <input message="tns:TrafficNotificationInput" />
- </operation>
- </portType>
-
-</definitions>
diff --git a/branches/sca-equinox/samples/binding-notification-consumer/src/test/java/notification/consumer/TrafficAdvisoryTestCase.java b/branches/sca-equinox/samples/binding-notification-consumer/src/test/java/notification/consumer/TrafficAdvisoryTestCase.java deleted file mode 100644 index c5318f405c..0000000000 --- a/branches/sca-equinox/samples/binding-notification-consumer/src/test/java/notification/consumer/TrafficAdvisoryTestCase.java +++ /dev/null @@ -1,61 +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 notification.consumer;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-import junit.framework.TestCase;
-
-public class TrafficAdvisoryTestCase extends TestCase {
-
- private SCADomain domain;
-
- public void testTrafficAdvisoryNotification() throws Exception {
- System.out.println("Only instantiating and closing domain ...");
-
- /* Uncomment to test with producer
- try {
- System.out.println("TrafficAdvisoryServer, hit return to end");
- System.in.read();
- } catch (Exception e) {
- e.printStackTrace();
- }
- */
- }
-
- @Override
- protected void setUp() throws Exception {
- try {
- domain = SCADomain.newInstance("TrafficAdvisoryNotification.composite");
- } catch(Throwable e) {
- e.printStackTrace();
- if (e instanceof Exception) {
- throw (Exception)e;
- }
- else {
- throw new Exception(e);
- }
- }
- }
-
- @Override
- protected void tearDown() throws Exception {
- domain.close();
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-producer/README b/branches/sca-equinox/samples/binding-notification-producer/README deleted file mode 100644 index 58611f64bd..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/README +++ /dev/null @@ -1,131 +0,0 @@ -Notification Producer Binding Sample
-===============================
-
-This sample illustrates the use of <binding.notification/> with a
-remote producer.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-Sample Overview
----------------
-
-This sample illustrates the use of a notification producer that is located in a
-separate (and remote) composite with respect to any consumers. As such, this sample
-is run in conjunction with the binding-notification-consumer sample, the
-binding-notification-broker sample, or both. Take a look at the composite file
-or the .svg file which shows the composite file in pictorial form. The composite
-reference, referred to by the notification component, has a <binding.notification/>
-that handles the remote communication. This binding includes an 'ntm' attribute
-that refers to the notification type manager, which manages the connectivity of
-producers, consumers and brokers, and which (for this sample) is assumed to be
-running on http://localhost:8083. The ntm is a system component that is included in
-and runs as part of the binding-notification module.
-This sample also illustrates the use of a wsdl interface in the notification
-component's <implementation.notification/>. This allows messages sent and received
-via <binding.notification/> to be transported as literal xml over http.
-
-Building And Running The Sample Using Ant
------------------------------------------
-With the binary distribution the sample can be built and run using Ant as
-follows
-
-cd binding-notification-producer
-ant compile
-ant run
-
-You should see the following output from the run target.
-
-run:
- [java] Sep 14, 2007 10:31:45 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/ntm/trafficAdvisory
- [java] Sep 14, 2007 10:31:45 AM org.apache.tuscany.sca.http.jetty.JettyServer addServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8083/producer/trafficAdvisory
-
-Building And Running The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built and run
-using Maven as follows.
-
-cd binding-notification-producer
-mvn
-
-You should see the following output from the test phase.
-
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running notification.producer.TrafficAdvisoryTestCase
-Only instantiating and closing domain ...
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.252 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-This shows that the Junit test cases have run successfully.
-
-Sample Usage
-------------
-
-This sample is run using the tuscany binary distribution. To run it, first set the
-following environment variables:
-
-set TUSCANY_BIN_DISTRO=<Directory where the distro was extracted, e.g. \Devt\tuscany-sca-distr\tuscany-sca>
-set TUSCANY_SCA_MANIFEST_JAR=%TUSCANY_BIN_DISTRO%\lib\tuscany-sca-manifest.jar
-
-Then navigate to this sample directory and do:
-
-java -Dnotification.httpPort=8083 -cp "target\sample-binding-notification-producer.jar;%TUSCANY_SCA_MANIFEST_JAR%" notification.producer.TrafficAdvisoryServer
-
-this should bring up the following prompt:
-
-Send a report value, ^C or <end> to end
-
-at this point you should be able to type a message to send, for instance:
-
-Traffic congestion
-
-Notice that before you try to send any message, you should bring up the
-consumer sample or the broker sample. When you have finished using this
-sample, type 'end' or ^C to end.
-
-Also notice that '-Dnotification.httpPort=8083' is used in the java command.
-This indicates the port the sample should use. This also says that this server
-is going to play the role of ntm, given our previous assumption. It is important
-that the first one of the producer, consumer or broker sample that is run be the
-one that uses '-Dnotification.httpPort=8083', otherwise there is no ntm to talk
-to and an exception will be thrown.
-
-Sample directory structure:
----------------------------
-
-binding-notification-producer/
- src/
- main/
- java/
- notification.producer/
- TestCaseProducer.java - interface for the producer component
- TrafficAdvisory.java - remote interface referred to by the producer component
- TrafficAdvisoryProducer.java - implementation for the producer component
- TrafficAdvisoryServer.java - server class including main entry point
- resources/
- wsdl/
- TrafficAdvisory.wsdl - remote interface for the notification component
- TrafficAdvisoryNotification.componentType - the component type referred to by
- <implementation.notification/>
- TrafficAdvisoryNotification.composite - the main composite including producer and
- notification components, and composite reference
- test/
- java/
- notification.producer/
- TrafficAdvisoryTestCase.java - JUnit test case
- resources/
- wsdl/
- TrafficAdvisory.wsdl - remote interface for the notification component
- TrafficAdvisoryNotification.componentType - the component type referred to by
- <implementation.notification/>
- TrafficAdvisoryNotification.composite - the main composite including producer and
- notification components, and composite reference
- pom.xml - the Maven build file
diff --git a/branches/sca-equinox/samples/binding-notification-producer/binding-notification-producer.png b/branches/sca-equinox/samples/binding-notification-producer/binding-notification-producer.png Binary files differdeleted file mode 100644 index 34c347c893..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/binding-notification-producer.png +++ /dev/null diff --git a/branches/sca-equinox/samples/binding-notification-producer/build.xml b/branches/sca-equinox/samples/binding-notification-producer/build.xml deleted file mode 100644 index d13e4c8a6c..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/build.xml +++ /dev/null @@ -1,75 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project name="binding-notification-producer" default="compile">
- <property name="test.class" value="notification.producer.TrafficAdvisoryServer" />
- <property name="test.jar" value="sample-binding-notification-producer.jar" />
-
- <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/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="run-classes">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/classes"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <sysproperty key="notification.httpPort" value="8083"/>
- <arg value="end"/>
- </java>
- </target>
-
- <target name="run">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <sysproperty key="notification.httpPort" value="8082"/>
- </java>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-producer/pom.xml b/branches/sca-equinox/samples/binding-notification-producer/pom.xml deleted file mode 100644 index a35fbb0339..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-binding-notification-producer</artifactId>
- <name>Apache Tuscany SCA Notification Binding Producer Sample</name>
- <version>1.4-SNAPSHOT</version>
- <description>A sample illustrating use of binding.notification</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-interface-wsdl-xml</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-jetty</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>org.apache.tuscany.notification.remoteProducer.TrafficAdvisoryServer</mainClass>
- </manifest>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemProperties>
- <property>
- <name>notification.httpPort</name>
- <value>8083</value>
- </property>
- </systemProperties>
- </configuration>
- </plugin>
- </plugins>
- <defaultGoal>install</defaultGoal>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TestCaseProducer.java b/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TestCaseProducer.java deleted file mode 100644 index be80e71249..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TestCaseProducer.java +++ /dev/null @@ -1,24 +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 notification.producer;
-
-public interface TestCaseProducer {
-
- public void produceTrafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisory.java b/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisory.java deleted file mode 100644 index 39f06d5dde..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisory.java +++ /dev/null @@ -1,30 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.producer;
-
-import org.osoa.sca.annotations.Remotable;
-
-/**
- * @version $Rev$ $Date$
- */
-@Remotable
-public interface TrafficAdvisory {
-
- void trafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryProducer.java b/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryProducer.java deleted file mode 100644 index 7d49b00607..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryProducer.java +++ /dev/null @@ -1,36 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.producer;
-
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-@Service(TestCaseProducer.class)
-@Scope("COMPOSITE")
-public class TrafficAdvisoryProducer implements TestCaseProducer {
-
- @Reference
- protected TrafficAdvisory destination;
-
- public void produceTrafficNotification(String report) {
-
- destination.trafficNotification(report);
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryServer.java b/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryServer.java deleted file mode 100644 index efd3657dc3..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/java/notification/producer/TrafficAdvisoryServer.java +++ /dev/null @@ -1,57 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.producer;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class TrafficAdvisoryServer {
-
- public static void main(String[] args) {
- try {
- SCADomain domain = SCADomain.newInstance("TrafficAdvisoryNotification.composite");
- TestCaseProducer testCaseProducer = domain.getService(TestCaseProducer.class, "TrafficAdvisoryProducer");
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String value = "";
- if (args.length == 1) {
- value = args[0];
- }
- do {
- if(value == null || value.equals("end")) {
- break;
- }
- try {
- System.out.println("Send a report value, ^C or <end> to end");
- value = reader.readLine();
- } catch (IOException e) {
- e.printStackTrace();
- }
- testCaseProducer.produceTrafficNotification("Report value [" + value + "]");
- }
- while(true);
-
- domain.close();
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.componentType b/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.componentType deleted file mode 100644 index 2dc70f8ed1..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.componentType +++ /dev/null @@ -1,34 +0,0 @@ -<?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.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance">
- <service name="TrafficAdvisoryNotificationService">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- </reference>
-</componentType>
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.composite b/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.composite deleted file mode 100644 index 2db6ea655b..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/TrafficAdvisoryNotification.composite +++ /dev/null @@ -1,44 +0,0 @@ -<?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.
--->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://tuscany.apache.org/xmlns/notification/1.0/samples"
- xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
- name="TrafficAdvisoryNotificationRemoteProducerComposite">
-
- <component name="TrafficAdvisoryProducer">
- <implementation.java class="notification.producer.TrafficAdvisoryProducer"/>
- <reference name="destination" target="TrafficAdvisoryNotificationComponent"/>
- </component>
-
- <component name="TrafficAdvisoryNotificationComponent">
- <tuscany:implementation.notification name="TrafficAdvisoryNotification"/>
- </component>
-
- <reference name="TrafficAdvisoryNotificationCompositeReference"
- promote="TrafficAdvisoryNotificationComponent/TrafficAdvisoryNotificationReference">
- <interface.wsdl interface="http://example.com/TrafficAdvisory.wsdl#wsdl.interface(TrafficAdvisoryPortType)"
- wsdli:wsdlLocation="http://example.com/TrafficAdvisory.wsdl wsdl/TrafficAdvisory.wsdl">
- </interface.wsdl>
- <tuscany:binding.notification ntm="http://localhost:8083/ntm" notificationType="trafficAdvisory"/>
- </reference>
-
-</composite>
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/wsdl/TrafficAdvisory.wsdl b/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/wsdl/TrafficAdvisory.wsdl deleted file mode 100644 index b823bbebcc..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/main/resources/wsdl/TrafficAdvisory.wsdl +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.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.
--->
-<definitions name="TrafficAdvisory"
- targetNamespace="http://example.com/TrafficAdvisory.wsdl"
- xmlns:tns="http://example.com/TrafficAdvisory.wsdl"
- xmlns:xsd1="http://example.com/TrafficAdvisory.xsd"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
- <types>
- <schema targetNamespace="http://example.com/TrafficAdvisory.xsd"
- xmlns:tns="http://example.com/TrafficAdvisory.xsd"
- xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="trafficNotification">
- <complexType>
- <sequence>
- <element name="report" type="string" />
- </sequence>
- </complexType>
- </element>
- </schema>
- </types>
-
- <message name="TrafficNotificationInput">
- <part name="body" element="xsd1:trafficNotification" />
- </message>
-
- <portType name="TrafficAdvisoryPortType">
- <operation name="trafficNotification">
- <input message="tns:TrafficNotificationInput" />
- </operation>
- </portType>
-
-</definitions>
diff --git a/branches/sca-equinox/samples/binding-notification-producer/src/test/java/notification/producer/TrafficAdvisoryTestCase.java b/branches/sca-equinox/samples/binding-notification-producer/src/test/java/notification/producer/TrafficAdvisoryTestCase.java deleted file mode 100644 index d3901ee407..0000000000 --- a/branches/sca-equinox/samples/binding-notification-producer/src/test/java/notification/producer/TrafficAdvisoryTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification.producer;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-import notification.producer.TestCaseProducer;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-//import org.apache.tuscany.sca.notification.remoteProducer.TestCaseProducer;
-
-import junit.framework.TestCase;
-
-public class TrafficAdvisoryTestCase extends TestCase {
-
- private SCADomain domain;
-
- public void testTrafficAdvisoryNotification() throws Exception {
- System.out.println("Only instantiating and closing domain ...");
- TestCaseProducer testCaseProducer = domain.getService(TestCaseProducer.class, "TrafficAdvisoryProducer");
-
- /* Uncomment to test with consumer
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String value = "foo";
- do {
- try {
- System.out.println("Send a report value, ^C or <end> to end");
- value = reader.readLine();
- } catch (Exception e) {
- e.printStackTrace();
- }
- if(value == null || value.equals("end")) {
- break;
- }
- testCaseProducer.produceTrafficNotification("Report value [" + value + "]");
- value = "end";
- }
- while(true);
- */
- }
-
- @Override
- protected void setUp() throws Exception {
- try {
- domain = SCADomain.newInstance("TrafficAdvisoryNotification.composite");
- } catch(Throwable e) {
- e.printStackTrace();
- if (e instanceof Exception) {
- throw (Exception)e;
- }
- else {
- throw new Exception(e);
- }
- }
- }
-
- @Override
- protected void tearDown() throws Exception {
- domain.close();
- }
-}
diff --git a/branches/sca-equinox/samples/chat-webapp/README b/branches/sca-equinox/samples/chat-webapp/README deleted file mode 100644 index dddd7e3f94..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/README +++ /dev/null @@ -1,61 +0,0 @@ -Chat WebApp Sample
-==================
-This sample demonstrates the SCA DWR binding to implement the classic Ajax sample
-of a chat application which allows multiple users to chat from their browsers.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-As this sample provides a web app there is a manual step where the WAR file
-that contains the sample is copied to your web app container. If you just want
-to give this sample a go deploy the WAR file (target/sample-chat-webapp.war)
-to your web application server.
-
-Once the web app is deployed use your browser to visit the following URL;
-
-http://localhost:8080/sample-chat-webapp
-
-The port and hostname will of course vary depending on your local installation.
-
-Sample Overview
----------------
-The sample provides an SCA component which has an SCA service using the SCA DWR
-binding and an SCA reference also using the DWR binding. The component implementation
-simply forwards every invocation of the service as an invocation on the reference. The
-component reference is scoped by the composite so every active client of the composite
-will receive every message sent to the component service, thus implementing the chat
-application with very little code.
-
-chat-webapp/
- src/
- main/
- java/
- sample/
- ChatService.java - service interface
- ChatServiceImpl.java - service implementation
- resources/
- chat.composite - the SCA assembly for this sample
- webapp
- chat.html - the html UserInterface for this application
- META-INF/
- sca-contribution.xml - specifies the composite to be deployed
- WEB-INF/
- web.xml - defines the listener that starts up the
- Tuscany SCA runtime
-
- pom.xml - the Maven build file
-
-Building And Running The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built and run
-using Maven as follows.
-
-cd chat-webapp
-mvn
-
-Again this should result in a war file (sample-chat-webapp.war) in the target
-directory. Follow the steps described in the previous section for running the web
-app and for the expected results.
-
-
diff --git a/branches/sca-equinox/samples/chat-webapp/chat-webapp.png b/branches/sca-equinox/samples/chat-webapp/chat-webapp.png Binary files differdeleted file mode 100644 index fdf540d243..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/chat-webapp.png +++ /dev/null diff --git a/branches/sca-equinox/samples/chat-webapp/chat-webapp.svg b/branches/sca-equinox/samples/chat-webapp/chat-webapp.svg deleted file mode 100644 index b37c1dc590..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/chat-webapp.svg +++ /dev/null @@ -1,187 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - * 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. ---> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="1052.3622" - height="744.09448" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.45.1" - sodipodi:docbase="C:\simon\tuscany\java-head\sca\samples\chat-webapp" - sodipodi:docname="chat-webapp.svg" - version="1.0" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="C:\simon\tuscany\java-head\sca\samples\chat-webapp\chat-webapp.png" - inkscape:export-xdpi="52.84" - inkscape:export-ydpi="52.84"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - gridtolerance="10000" - guidetolerance="10" - objecttolerance="10" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="1.4" - inkscape:cx="538.06165" - inkscape:cy="485.93773" - inkscape:document-units="px" - inkscape:current-layer="g2997" - inkscape:window-width="1467" - inkscape:window-height="831" - inkscape:window-x="116" - inkscape:window-y="80" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <g - id="g2997"> - <rect - rx="10.364296" - ry="11.940332" - y="196.8512" - x="447.00812" - height="282.22604" - width="335.64374" - id="rect2067" - style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:1.59621525;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - <flowRoot - id="flowRoot2954" - xml:space="preserve" - transform="translate(189.90868,1.0101522)"><flowRegion - id="flowRegion2956"><rect - y="212.66591" - x="281.42856" - height="61.42857" - width="170" - id="rect2958" /></flowRegion><flowPara - id="flowPara2171">store</flowPara></flowRoot> <rect - style="opacity:1;fill:#0064ff;fill-opacity:1;stroke:#000000;stroke-width:0.9612025;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2223" - width="104.08451" - height="113.17588" - x="256.22867" - y="297.25845" - rx="0" - ry="0.048917599" /> - <path - style="fill:#1a73fe;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 256.07143,409.80877 L 233.21428,426.95163 L 385.71428,426.95163 L 359.64285,410.16591 L 256.07143,409.80877 z " - id="path3197" /> - <rect - style="opacity:1;fill:#f1f4f8;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect3199" - width="92.5" - height="97.14286" - x="261.42859" - y="305.52304" - ry="3.6203461" - rx="3.9285715" /> - <flowRoot - xml:space="preserve" - id="flowRoot3364" - transform="translate(-173.62276,-49.782291)"><flowRegion - id="flowRegion3366"><rect - id="rect3368" - width="142.14285" - height="21.428572" - x="655" - y="349.80878" /></flowRegion><flowPara - id="flowPara3370">DWR</flowPara></flowRoot> <image - y="306.6889" - x="268.77594" - id="image2297" - height="89.285721" - width="70" - sodipodi:absref="C:\simon\tuscany\evangelism\whitepapers\chat.png" - xlink:href="C:\simon\tuscany\evangelism\whitepapers\chat.png" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 675,309.80877 L 696.42857,309.80877 L 696.42857,389.09448 L 335.71429,389.80877" - id="path2302" - sodipodi:nodetypes="cccc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 340,313.95163 C 530,313.95163 530,313.95163 530,313.95163" - id="path2306" /> - <flowRoot - xml:space="preserve" - id="flowRoot2316" - transform="translate(25.998466,-54.30712)"><flowRegion - id="flowRegion2318"><rect - id="rect2320" - width="142.14285" - height="21.428572" - x="655" - y="349.80878" /></flowRegion><flowPara - id="flowPara2322">DWR</flowPara></flowRoot> </g> - <rect - style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect2988" - width="115.66247" - height="85.862968" - x="540.14038" - y="268.41565" - rx="6.9961648" - ry="7.1230249" /> - <flowRoot - xml:space="preserve" - id="flowRoot2966" - transform="translate(272.54962,62.477116)"><flowRegion - id="flowRegion2968"><rect - id="rect2970" - width="170" - height="61.42857" - x="281.42856" - y="212.66591" /></flowRegion><flowPara - id="flowPara2972">Catalog</flowPara></flowRoot> <path - style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 522.98989,300.26265 L 556.32493,300.26265 L 562.38584,313.39463 L 555.31478,325.51647 L 522.98989,325.51647 L 530.56604,313.39463 L 522.98989,300.26265 z " - id="path3017" /> - <path - style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="M 636.24233,298.42437 L 669.57737,298.42437 L 675.63828,311.55635 L 668.56722,323.67819 L 636.24233,323.67819 L 643.81848,311.55635 L 636.24233,298.42437 z " - id="path3019" /> - </g> -</svg> diff --git a/branches/sca-equinox/samples/chat-webapp/pom.xml b/branches/sca-equinox/samples/chat-webapp/pom.xml deleted file mode 100644 index 50be91f202..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/pom.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-chat-webapp</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA Chat Sample WebApp</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-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-dwr</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <!-- exclude stax 1.0.1 as we're also pulling in javax\xml\stream\stax-api\1.0-2 -->
- <dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- marking dependency as provided to exclude from war file -->
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.3</version>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-ant-generator</artifactId>
- <version>1.4-SNAPSHOT</version>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/samples/chat-webapp/src/main/java/sample/ChatService.java b/branches/sca-equinox/samples/chat-webapp/src/main/java/sample/ChatService.java deleted file mode 100644 index ca90b8f579..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/src/main/java/sample/ChatService.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package sample;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface ChatService {
-
- public void chat(String msg);
-
-}
diff --git a/branches/sca-equinox/samples/chat-webapp/src/main/java/sample/ChatServiceImpl.java b/branches/sca-equinox/samples/chat-webapp/src/main/java/sample/ChatServiceImpl.java deleted file mode 100644 index 7d0bfb3307..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/src/main/java/sample/ChatServiceImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - -import org.osoa.sca.annotations.Scope; - -@Scope("COMPOSITE") -public class ChatServiceImpl implements ChatService { - - ChatService chatters; - - public void chat(String msg) { - chatters.chat(msg); - } - - public void setChatters(ChatService chatters) { - this.chatters = chatters; - } -} diff --git a/branches/sca-equinox/samples/chat-webapp/src/main/resources/chat.composite b/branches/sca-equinox/samples/chat-webapp/src/main/resources/chat.composite deleted file mode 100644 index c9ce95e2dc..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/src/main/resources/chat.composite +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="Chat">
-
- <service name="ChatService" promote="ChatComponent">
- <interface.java interface="sample.ChatService"/>
- <tuscany:binding.dwr/>
- </service>
-
- <component name="ChatComponent">
- <implementation.java class="sample.ChatServiceImpl"/>
- </component>
-
- <reference name="ChatReference" promote="ChatComponent/chatters">
- <interface.java interface="sample.ChatService" />
- <tuscany:binding.dwr/>
- </reference>
-
-</composite>
diff --git a/branches/sca-equinox/samples/chat-webapp/src/main/webapp/META-INF/sca-contribution.xml b/branches/sca-equinox/samples/chat-webapp/src/main/webapp/META-INF/sca-contribution.xml deleted file mode 100644 index 897849ff8d..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/src/main/webapp/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://sample" - xmlns:sample="http://sample"> - <deployable composite="sample:Chat"/> -</contribution>
\ No newline at end of file diff --git a/branches/sca-equinox/samples/chat-webapp/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/chat-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 97d91fec56..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
-Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
- <display-name>Apache Tuscany AJAX/DWR Chat Sample</display-name>
-
- <filter>
- <filter-name>tuscany</filter-name>
- <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>tuscany</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <welcome-file-list>
- <welcome-file>chat.html</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/branches/sca-equinox/samples/chat-webapp/src/main/webapp/chat.html b/branches/sca-equinox/samples/chat-webapp/src/main/webapp/chat.html deleted file mode 100644 index 7a449a906a..0000000000 --- a/branches/sca-equinox/samples/chat-webapp/src/main/webapp/chat.html +++ /dev/null @@ -1,70 +0,0 @@ -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<html> - <head> - <title>Apache Tuscany Ajax/DWR Chat Sample</TITLE> - - <script type="text/javascript" src="SCADomain/scaDomain.js"></script> - - <script language="JavaScript"> - - function clickButton(e, buttonid){ - var evt = e ? e : window.event; - var bt = document.getElementById(buttonid); - if (bt){ - if (evt.keyCode == 13){ - bt.click(); - return false; - } - } - } - - ChatReference.chat = function(msg) { - var chatLog = document.getElementById('chatLog'); - chatLog.innerHTML = msg + '<br>' + chatLog.innerHTML; - } - - function sendChat() { - var chatText = document.getElementById("chatText"); - var nickName = document.getElementById("nickName").value; - var msg = nickName + ": " + chatText.value - chatText.value = ""; - chatText.focus(); - ChatService.chat(msg); - } - </script> - - </head> - <body onLoad="scaDomain.open()"> - - <h2>Apache Tuscany Ajax/DWR Chat Sample</h2> - - A simple client to chat between multiple web browsers:<br><br> - - Nickname: <input type="text" id="nickName" size="10"/> - <br><br> - - Enter text: <input type="text" id="chatText" size="80" onkeypress="return clickButton(event,'Send')"/> - <input type="button" name="Send" value="Send" id="Send" onclick="sendChat()" /> - - <br><br> - <div id="chatLog" style="overflow:auto; height:400px; border:1px solid"></div> - - </body> -</html> diff --git a/branches/sca-equinox/samples/chat2-webapp/README b/branches/sca-equinox/samples/chat2-webapp/README deleted file mode 100644 index 0186006211..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/README +++ /dev/null @@ -1,61 +0,0 @@ -Chat WebApp Sample -================== -This sample demonstrates the SCA DWR binding to implement the classic Ajax sample -of a chat application which allows multiple users to chat from their browsers. - -The README in the samples directory (the directory above this) provides -general instructions about building and running samples. Take a look there -first. - -As this sample provides a web app there is a manual step where the WAR file -that contains the sample is copied to your web app container. If you just want -to give this sample a go deploy the WAR file (target/sample-chat-webapp.war) -to your web application server. - -Once the web app is deployed use your browser to visit the following URL; - -http://localhost:8080/sample-chat-webapp - -The port and hostname will of course vary depending on your local installation. - -Sample Overview ---------------- -The sample provides an SCA component which has an SCA service using the SCA DWR -binding and an SCA reference also using the DWR binding. The component implementation -simply forwards every invocation of the service as an invocation on the reference. The -component reference is scoped by the composite so every active client of the composite -will receive every message sent to the component service, thus implementing the chat -application with very little code. - -chat-webapp/ - src/ - main/ - java/ - sample/ - ChatService.java - service interface - ChatServiceImpl.java - service implementation - resources/ - chat.composite - the SCA assembly for this sample - webapp - chat.html - the html UserInterface for this application - META-INF/ - sca-contribution.xml - specifies the composite to be deployed - WEB-INF/ - web.xml - defines the listener that starts up the - Tuscany SCA runtime - - pom.xml - the Maven build file - -Building And Running The Sample Using Maven -------------------------------------------- -With either the binary or source distributions the sample can be built and run -using Maven as follows. - -cd chat-webapp -mvn - -Again this should result in a war file (sample-chat-webapp.war) in the target -directory. Follow the steps described in the previous section for running the web -app and for the expected results. - - diff --git a/branches/sca-equinox/samples/chat2-webapp/build.xml b/branches/sca-equinox/samples/chat2-webapp/build.xml deleted file mode 100644 index 2d3fc0c5f3..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/build.xml +++ /dev/null @@ -1,117 +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. ---> - -<project name="sample-chat2-webapp" default="compile"> - - <target name="compile"> - <mkdir dir="target/classes"/> - <javac destdir="target/classes" debug="on" source="1.5" target="1.5"> - <src path="src\main\java"/> - <classpath> - <fileset refid="tuscany.jars"/> - <fileset refid="3rdparty.jars"/> - </classpath> - </javac> - <copy todir="target/classes"> - <fileset dir="src\main\resources"/> - <fileset dir="." includes="*" excludes="src, target, pom.xml, build.xml"/> - </copy> - <war destfile="target/sample-chat2-webapp.war" webxml="src/main/webapp/WEB-INF/web.xml"> - <fileset dir="src/main/webapp"/> - <lib refid="tuscany.jars"/> - <lib refid="3rdparty.jars"/> - <classes dir="target/classes"/> - </war> - </target> - - <target name="package" depends="compile"/> - - <target name="clean"> - <delete includeemptydirs="true"> - <fileset dir="target"/> - </delete> - </target> - - <fileset id="tuscany.jars" dir="../../modules"> - <include name="tuscany-assembly-1.4-SNAPSHOT.jar"/> - <include name="tuscany-assembly-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-assembly-xsd-1.4-SNAPSHOT.jar"/> - <include name="tuscany-binding-dwr-1.4-SNAPSHOT.jar"/> - <include name="tuscany-binding-sca-1.4-SNAPSHOT.jar"/> - <include name="tuscany-binding-sca-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-contribution-1.4-SNAPSHOT.jar"/> - <include name="tuscany-contribution-impl-1.4-SNAPSHOT.jar"/> - <include name="tuscany-contribution-java-1.4-SNAPSHOT.jar"/> - <include name="tuscany-contribution-namespace-1.4-SNAPSHOT.jar"/> - <include name="tuscany-contribution-resource-1.4-SNAPSHOT.jar"/> - <include name="tuscany-contribution-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-core-1.4-SNAPSHOT.jar"/> - <include name="tuscany-core-databinding-1.4-SNAPSHOT.jar"/> - <include name="tuscany-core-spi-1.4-SNAPSHOT.jar"/> - <include name="tuscany-databinding-1.4-SNAPSHOT.jar"/> - <include name="tuscany-databinding-jaxb-1.4-SNAPSHOT.jar"/> - <include name="tuscany-definitions-1.4-SNAPSHOT.jar"/> - <include name="tuscany-definitions-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-domain-1.4-SNAPSHOT.jar"/> - <include name="tuscany-domain-api-1.4-SNAPSHOT.jar"/> - <include name="tuscany-extensibility-1.4-SNAPSHOT.jar"/> - <include name="tuscany-extension-helper-1.4-SNAPSHOT.jar"/> - <include name="tuscany-host-embedded-1.4-SNAPSHOT.jar"/> - <include name="tuscany-host-http-1.4-SNAPSHOT.jar"/> - <include name="tuscany-host-webapp-1.4-SNAPSHOT.jar"/> - <include name="tuscany-implementation-java-1.4-SNAPSHOT.jar"/> - <include name="tuscany-implementation-java-runtime-1.4-SNAPSHOT.jar"/> - <include name="tuscany-implementation-java-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-implementation-web-1.4-SNAPSHOT.jar"/> - <include name="tuscany-interface-1.4-SNAPSHOT.jar"/> - <include name="tuscany-interface-java-1.4-SNAPSHOT.jar"/> - <include name="tuscany-interface-java-jaxws-1.4-SNAPSHOT.jar"/> - <include name="tuscany-interface-java-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-node-1.4-SNAPSHOT.jar"/> - <include name="tuscany-node-api-1.4-SNAPSHOT.jar"/> - <include name="tuscany-policy-1.4-SNAPSHOT.jar"/> - <include name="tuscany-policy-xml-1.4-SNAPSHOT.jar"/> - <include name="tuscany-sca-api-1.4-SNAPSHOT.jar"/> - </fileset> - <fileset id="3rdparty.jars" dir="../../lib"> - <include name="activation-1.1.jar"/> - <include name="axiom-api-1.2.5.jar"/> - <include name="axiom-impl-1.2.5.jar"/> - <include name="cglib-nodep-2.1_3.jar"/> - <include name="commons-logging-1.1.jar"/> - <include name="dwr-2.0.1.jar"/> - <include name="geronimo-commonj_1.1_spec-1.0.jar"/> - <include name="jaxb-api-2.1.jar"/> - <include name="jaxb-impl-2.1.6.jar"/> - <include name="jaxb2-reflection-2.1.4.jar"/> - <include name="jaxen-1.1-beta-9.jar"/> - <include name="jaxws-api-2.1.jar"/> - <include name="jsr181-api-1.0-MR1.jar"/> - <include name="jsr250-api-1.0.jar"/> - <include name="mail-1.4.jar"/> - <include name="neethi-2.0.2.jar"/> - <include name="saaj-api-1.3.jar"/> - <include name="stax-api-1.0-2.jar"/> - <include name="wstx-asl-3.2.1.jar"/> - <include name="xalan-2.7.0.jar"/> - <include name="xercesImpl-2.8.1.jar"/> - <include name="xml-apis-1.3.03.jar"/> - </fileset> - -</project> diff --git a/branches/sca-equinox/samples/chat2-webapp/pom.xml b/branches/sca-equinox/samples/chat2-webapp/pom.xml deleted file mode 100644 index c9def0ae48..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/pom.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>sample-chat2-webapp</artifactId> - <packaging>war</packaging> - <name>Apache Tuscany SCA Chat Sample WebApp using callbacks</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-webapp</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-binding-dwr</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-web</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-implementation-java-runtime</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> - - <!-- exclude stax 1.0.1 as we're also pulling in javax\xml\stream\stax-api\1.0-2 --> - <dependency> - <groupId>stax</groupId> - <artifactId>stax-api</artifactId> - <version>1.0.1</version> - <scope>provided</scope> - </dependency> - - <!-- marking dependency as provided to exclude from war file --> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.3</version> - <scope>provided</scope> - </dependency> - - </dependencies> - - <build> - <finalName>${artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-maven-ant-generator</artifactId> - <version>1.4-SNAPSHOT</version> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatCallback.java b/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatCallback.java deleted file mode 100644 index 7d668052b2..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatCallback.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - -import org.osoa.sca.annotations.Remotable; - -@Remotable -public interface ChatCallback { - void newMsg(String msg); -} diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatService.java b/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatService.java deleted file mode 100644 index cc9d00ca4a..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatService.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package sample; - -import javax.jws.Oneway; - -import org.osoa.sca.annotations.Callback; -import org.osoa.sca.annotations.Remotable; -import org.osoa.sca.annotations.Scope; - -@Remotable -@Scope("COMPOSITE") -@Callback(ChatCallback.class) -public interface ChatService { - - @Oneway - public void addMsg(String msg); -} diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatServiceImpl.java b/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatServiceImpl.java deleted file mode 100644 index d714ff82ed..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/java/sample/ChatServiceImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - -import org.osoa.sca.annotations.Callback; - -public class ChatServiceImpl implements ChatService { - - ChatCallback chatCallback; - - @Callback - public void setCallback(ChatCallback chatCallback) { - this.chatCallback = chatCallback; - } - - public void addMsg(String msg) { - chatCallback.newMsg(msg); - } -} diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/resources/chat.composite b/branches/sca-equinox/samples/chat2-webapp/src/main/resources/chat.composite deleted file mode 100644 index 93a10d0fdf..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/resources/chat.composite +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="Chat">
-
- <component name="webapp">
- <t:implementation.web war="." />
- <reference name="ChatService" target="ChatService">
- <t:binding.dwr/>
- </reference>
- </component>
-
- <component name="ChatService">
- <implementation.java class="sample.ChatServiceImpl"/>
- <service name="ChatService">
- <t:binding.dwr/>
- </service>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/META-INF/sca-contribution.xml b/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/META-INF/sca-contribution.xml deleted file mode 100644 index 897849ff8d..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://sample" - xmlns:sample="http://sample"> - <deployable composite="sample:Chat"/> -</contribution>
\ No newline at end of file diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 6919372e87..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!-- - Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> - -<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web -Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> -<web-app> - <display-name>Apache Tuscany AJAX/DWR Chat Sample</display-name> - - <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - </filter> - - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <welcome-file-list> - <welcome-file>chat.jsp</welcome-file> - </welcome-file-list> - -</web-app> diff --git a/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/chat.html b/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/chat.html deleted file mode 100644 index a063e27f8e..0000000000 --- a/branches/sca-equinox/samples/chat2-webapp/src/main/webapp/chat.html +++ /dev/null @@ -1,73 +0,0 @@ -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<html> - <head> - <title>Apache Tuscany Ajax/DWR Chat Sample</TITLE> - - <script type="text/javascript" src="org.apache.tuscany.sca.componentContext.js" /> - - <script language="JavaScript"> - - var chatService = componentContext.getService("ChatService"); - - chatService.callbacks.chatResponse = function(msg) { - var chatLog = document.getElementById('chatLog'); - chatLog.innerHTML = msg + '<br>' + chatLog.innerHTML; - } - - function sendChat() { - var chatText = document.getElementById("chatText"); - var nickName = document.getElementById("nickName").value; - var msg = nickName + ": " + chatText.value - chatText.value = ""; - chatText.focus(); - ChatService.addMsg(msg); - } - - function clickButton(e, buttonid){ - var evt = e ? e : window.event; - var bt = document.getElementById(buttonid); - if (bt){ - if (evt.keyCode == 13){ - bt.click(); - return false; - } - } - } - - </script> - - </head> - <body > - - <h2>Apache Tuscany Ajax/DWR Chat Sample</h2> - - A simple client to chat between multiple web browsers:<br><br> - - Nickname: <input type="text" id="nickName" size="10"/> - <br><br> - - Enter text: <input type="text" id="chatText" size="80" onkeypress="return clickButton(event,'Send')"/> - <input type="button" name="Send" value="Send" id="Send" onclick="sendChat()" /> - - <br><br> - <div id="chatLog" style="overflow:auto; height:400px; border:1px solid"></div> - - </body> -</html> diff --git a/branches/sca-equinox/samples/domain-webapp/README b/branches/sca-equinox/samples/domain-webapp/README deleted file mode 100644 index c01a0dd39a..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/README +++ /dev/null @@ -1,310 +0,0 @@ -Domain Webapp Sample
-====================
-
-Not actually a webapp just yet as webapp host need to use the new domain for it to work.
-If you run the DomainServer in a debugger you will get a server that provides a registry
-for servide URLs, listens for Nodes starting and stopping and provides a web page where
-you can see what nodes are registered and pull up their web pages.
-
-Use the nodes from the calculator-distributed to register with this domain
-
-
-==========================================
-Below copied from calculator sample as a template for when this gets done
-
-
-This sample implements a simple calculator using SCA components. It uses
-exactly the same calculator application classes as the calculator sample but
-runs the application distributed across three nodes.
-
-A node in this sample means an instance of the Tuscany SCA java runtime running
-in a Java virtual machine.
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-If you just want to run it to see what happens open four command prompts and
-navigate to this sample directory in each one. There is one command to be run
-in each command prompt:
-
-ant runDomainNode
-ant runNodeB
-ant runNodeC
-ant runNodeA
-
-Please run the commands in this order.
-
-OR if you don't have ant, on Windows use
-
-java -cp src\main\resources;..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator-distributed.jar node.DomainNode
-java -cp src\main\resources;..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator-distributed.jar node.CalculatorNode mydomain nodeB
-java -cp src\main\resources;..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator-distributed.jar node.CalculatorNode mydomain nodeC
-java -cp src\main\resources;..\..\lib\tuscany-sca-manifest.jar;target\sample-calculator-distributed.jar node.CalculatorNode mydomain nodeA
-
-and on *nix do
-
-java -cp src/main/resources:../../lib/tuscany-sca-manifest.jar:target/sample-calculator-distributed.jar node.DomainNode
-java -cp src/main/resources:../../lib/tuscany-sca-manifest.jar:target/sample-calculator-distributed.jar node.CalculatorNode mydomain nodeB
-java -cp src/main/resources:../../lib/tuscany-sca-manifest.jar:target/sample-calculator-distributed.jar node.CalculatorNode mydomain nodeC
-java -cp src/main/resources:../../lib/tuscany-sca-manifest.jar:target/sample-calculator-distributed.jar node.CalculatorNode mydomain nodeA
-
-
-The processes started on each of these command prompts can be ended by pressing
-the <Enter> key.
-
-
-Sample Overview
----------------
-The sample provides a single calculator service with a default SCA (java)
-binding. NodeA exercises this interface by calling add, subtract, multiply and
-divide operations.
-
-In the case of add and subtract the runtime recognises that
-it can't find these services locally and, using the remote (web services)
-version of the default SCA binding contacts the add service running in NodeB
-and the subtract service running in NodeC.
-
-On the command prompt where you started NodeA, you would see output of invoking the
-calculator functions distributed over NodeB and and NodeC. On the command prompts
-where you have started NodeB and NodeC, you would see log messages that indicate that
-the add and substract services where called on these nodes respectively.
-
-The sample demonstrates that the calculator application can be distributed
-across multiple nodes with no change to the application or to the SCA description
-files.
-
-
-calculator/
- src/
- main/
- java/
- calculator/
- CalculatorService.java - the first component, calls +-/* as
- appropriate
- AddService.java - adds two numbers
- AddServiceImpl.java
- SubtractService.java - subtracts one number from another
- SubtractServiceImpl.java
- MultiplyService.java - multiplies two numbers
- MultiplyServiceImpl.java
- DivideService.java - divides one number by another
- DivideServiceImpl.java
- node/
- CalculatorNode.java - runs up an sca application based on
- configuration given on the command
- line in the form
-
- CalculatorNode <domain name> <node name>
-
- it looks for a directory name the same
- as <node name> and loads the composites
- there
-
- if <node name> = nodeA it calls the
- +-/* operations otherwise it behaves
- like a server and waits for service
- requests
- DomainNode.java - the node that provides the service
- discovery mechanism to the distributed
- domain
- resources/
- domain - the SCA assembly for the service discovery
- function
- management/ - the SCA assembly for each nodes management
- function
- nodeA - the SCA assembly for nodeA's part of the
- calculator application
- nodeB - the SCA assembly for nodeB's part of the
- calculator application
- nodeC - the SCA assembly for nodeB's part of the
- calculator application
- test/
- java/
- calculator/
- DomainInMemoryTestCase.java - JUnit test case which runs all of the
- separate ndes in a single VM for test
- purposes
- calculator-distributed.png - a pictorial representation of the sample
- .composite files
- build.xml - the Ant build file
- pom.xml - the Maven build file
-
-
-Building And Running The Sample Using Ant
------------------------------------------
-With the binary distribution the sample can be built and run using Ant as
-follows
-
-cd calculator-distributed
-ant compile
-ant runDomainNode
-ant runNodeB
-ant runNodeC
-ant runNodeA
-
-You should see the following output from the four separate command prompt:
-
-runDomainNode:
- [java] log4j:WARN No appenders could be found for logger (org.apache.axiom.
-om.util.StAXUtils).
- [java] log4j:WARN Please initialize the log4j system properly.
- [java] 23-Aug-2007 17:40:40 org.apache.tuscany.sca.http.jetty.JettyServer a
-ddServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8080/ServiceDiscoveryC
-omponent/ServiceDiscovery
- [java] Domain node started (press enter to shutdown)
- [java] Registering service: [mydomain nodeB AddServiceComponent org.apache.
-tuscany.sca.assembly.SCABinding http://localhost:8085/AddServiceComponent]
- [java] Registering service: [mydomain nodeC SubtractServiceComponent org.ap
-ache.tuscany.sca.assembly.SCABinding http://localhost:8086/SubtractServiceCompon
-ent]
- [java] Finding service: [mydomain SubtractServiceComponent org.apache.tusca
-ny.sca.assembly.SCABinding]
- [java] Matching service url: http://localhost:8086/SubtractServiceComponent
-
- [java] Finding service: [mydomain AddServiceComponent org.apache.tuscany.sc
-a.assembly.SCABinding]
- [java] Matching service url: http://localhost:8085/AddServiceComponent
- [java] Java Result: 1
-Terminate batch job (Y/N)? y
-
-
-
-runNodeB:
- [java] file:/C:/simon/tuscany/java-head/sca/samples/calculator-distributed/
-target/classes/management/
- [java] log4j:WARN No appenders could be found for logger (org.apache.axiom.
-om.util.StAXUtils).
- [java] log4j:WARN Please initialize the log4j system properly.
- [java] Registering service: [mydomain nodeB AddServiceComponent/ org.apache
-.tuscany.sca.assembly.SCABinding http://localhost:8085/AddServiceComponent]
- [java] 23-Aug-2007 17:41:25 org.apache.tuscany.sca.http.jetty.JettyServer a
-ddServletMapping
- [java] INFO: Added Servlet mapping: http://localhost:8085/AddServiceCompone
-nt
- [java] Node started (press enter to shutdown)
- [java] AddService - add 3.0 and 2.0
-
-
-runNodeC:
- [java] file:/C:/simon/tuscany/java-head/sca/samples/calculator-distributed/
-target/classes/management/
- [java] log4j:WARN No appenders could be found for logger (org.apache.axiom.
-om.util.StAXUtils).
- [java] log4j:WARN Please initialize the log4j system properly.
- [java] Registering service: [mydomain nodeC SubtractServiceComponent org.ap
-ache.tuscany.sca.assembly.SCABinding http://localhost:8086/SubtractServiceCompon
-ent]
- [java] 23-Aug-2007 17:41:51 org.apache.tuscany.sca.http.jetty.JettyServer a
-ddServletMapping
- [java] Node started (press enter to shutdown)
- [java] INFO: Added Servlet mapping: http://localhost:8086/SubtractServiceCo
-mponent
- [java] SubtractService - subtract 3.0 and 2.0
-Terminate batch job (Y/N)? y
-
-
-runNodeA:
- [java] file:/C:/simon/tuscany/java-head/sca/samples/calculator-distributed/
-target/classes/management/
- [java] log4j:WARN No appenders could be found for logger (org.apache.axiom.
-om.util.StAXUtils).
- [java] log4j:WARN Please initialize the log4j system properly.
- [java] 23-Aug-2007 17:42:12 org.apache.tuscany.sca.assembly.builder.impl.Co
-mpositeBuilderImpl$1 problem
- [java] WARNING: [WARNING] Component reference target not found, it might be
- a remote service: AddServiceComponent null
- [java]
- [java] 23-Aug-2007 17:42:12 org.apache.tuscany.sca.assembly.builder.impl.Co
-mpositeBuilderImpl$1 problem
- [java] WARNING: [WARNING] Component reference target not found, it might be
- a remote service: SubtractServiceComponent null
- [java]
- [java] Finding service: [mydomain SubtractServiceComponent org.apache.tusca
-ny.sca.assembly.SCABinding]
- [java] Finding service: [mydomain AddServiceComponent org.apache.tuscany.sc
-a.assembly.SCABinding]
- [java] CalculatorService - add 3.0 and 2.0
- [java] 3 + 2=5.0
- [java] CalculatorService - subtract 3.0 and 2.0
- [java] 3 - 2=1.0
- [java] CalculatorService - multiply 3.0 and 2.0
- [java] 3 * 2=6.0
- [java] CalculatorService - divide 3.0 and 2.0
- [java] 3 / 2=1.5
-
-
-Building And Running The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built and run
-using Maven as follows. When running from Maven the four nodes all run within
-Java virtual machine.
-
-cd calculator-distributed
-mvn
-
-You should see the following output from the test phase.
-
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running calculator.DomainInMemoryTestCase
-Setting up distributed nodes
-file:/C:/simon/tuscany/java-head/sca/samples/calculator-distributed/target/class
-es/management/
-log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAX
-Utils).
-log4j:WARN Please initialize the log4j system properly.
-23-Aug-2007 18:18:41 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuild
-erImpl$1 problem
-WARNING: [WARNING] Component reference target not found, it might be a remote se
-rvice: AddServiceComponent null
-
-23-Aug-2007 18:18:41 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuild
-erImpl$1 problem
-WARNING: [WARNING] Component reference target not found, it might be a remote se
-rvice: SubtractServiceComponent null
-
-file:/C:/simon/tuscany/java-head/sca/samples/calculator-distributed/target/class
-es/management/
-Registering service: [mydomain nodeB AddServiceComponent org.apache.tuscany.sca.
-assembly.SCABinding http://localhost:8085/AddServiceComponent]
-file:/C:/simon/tuscany/java-head/sca/samples/calculator-distributed/target/class
-es/management/
-Registering service: [mydomain nodeC SubtractServiceComponent org.apache.tuscany
-.sca.assembly.SCABinding http://localhost:8086/SubtractServiceComponent]
-Finding service: [mydomain SubtractServiceComponent org.apache.tuscany.sca.assem
-bly.SCABinding]
-Matching service url: http://localhost:8086/SubtractServiceComponent
-Finding service: [mydomain AddServiceComponent org.apache.tuscany.sca.assembly.S
-CABinding]
-Matching service url: http://localhost:8085/AddServiceComponent
-23-Aug-2007 18:18:45 org.apache.tuscany.sca.http.jetty.JettyServer addServletMap
-ping
-INFO: Added Servlet mapping: http://localhost:8085/AddServiceComponent
-23-Aug-2007 18:18:47 org.apache.tuscany.sca.http.jetty.JettyServer addServletMap
-ping
-INFO: Added Servlet mapping: http://localhost:8086/SubtractServiceComponent
-CalculatorService - add 3.0 and 2.0
-AddService - add 3.0 and 2.0
-CalculatorService - subtract 3.0 and 2.0
-SubtractService - subtract 3.0 and 2.0
-CalculatorService - multiply 3.0 and 2.0
-CalculatorService - divide 3.0 and 2.0
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.14 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-
-This shows that the Junit test cases have run successfully.
-
-Known Bug :
----------
-The processes that are running NodeB and NodeC do not seem to end on pressing the
-<Enter>. This will be fixed for the next release. For this release you should use
-^C (Control C) to exit these processes.
-
-
diff --git a/branches/sca-equinox/samples/domain-webapp/build.xml b/branches/sca-equinox/samples/domain-webapp/build.xml deleted file mode 100644 index e008e3c9f0..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/build.xml +++ /dev/null @@ -1,296 +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.
--->
-<project name="calculator" default="runDomainNode">
- <property name="node.class" value="node.CalculatorNode" />
- <property name="domain.class" value="node.DomainNode" />
- <property name="test.jar" value="sample-calculator-distributed.jar"
-/>
-
- <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/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="runDomainNode">
- <java classname="${domain.class}"
- fork="true">
- <classpath>
- <pathelement path="src/main/resources"/>
- <pathelement path="target/classes"/>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </java>
- </target>
-
- <target name="runNodeA">
- <java classname="${node.class}"
- fork="true">
- <classpath>
- <pathelement path="src/main/resources"/>
- <pathelement path="target/classes"/>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <arg value="mydomain"/>
- <arg value="nodeA"/>
- </java>
- </target>
-
- <target name="runNodeB">
- <java classname="${node.class}"
- fork="true">
- <classpath>
- <pathelement path="src/main/resources"/>
- <pathelement path="target/classes"/>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <arg value="mydomain"/>
- <arg value="nodeB"/>
- </java>
- </target>
-
- <target name="runNodeC">
- <java classname="${node.class}"
- fork="true">
- <classpath>
- <pathelement path="src/main/resources"/>
- <pathelement path="target/classes"/>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- <arg value="mydomain"/>
- <arg value="nodeC"/>
- </java>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-
- <!-- If you want to test without building the distribution jars set the -->
- <!-- localtion value of the m2.repo on your machine and use the targets below -->
- <property name="m2.repo" value="your dir here\.m2\repository" />
- <path id="repo.classpath">
- <!--pathelement location="${classpath}"/-->
- <!--pathelement location="${m2.repo}\annogen\annogen\0.1.0\annogen-0.1.0.jar"/>
- <pathelement location="${m2.repo}\avalon-framework\avalon-framework\4.1.3\avalon-framework-4.1.3.jar"/>
- <pathelement location="${m2.repo}\backport-util-concurrent\backport-util-concurrent\2.2\backport-util-concurrent-2.2.jar"/>
- <pathelement location="${m2.repo}\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar"/>
- <pathelement location="${m2.repo}\com\metaparadigm\json-rpc\1.0\json-rpc-1.0.jar"/>
- <pathelement location="${m2.repo}\commons-codec\commons-codec\1.3\commons-codec-1.3.jar"/>
- <pathelement location="${m2.repo}\commons-fileupload\commons-fileupload\1.1.1\commons-fileupload-1.1.1.jar"/>
- <pathelement location="${m2.repo}\commons-httpclient\commons-httpclient\3.0.1\commons-httpclient-3.0.1.jar"/>
- <pathelement location="${m2.repo}\commons-io\commons-io\1.1\commons-io-1.1.jar"/>
- <pathelement location="${m2.repo}\commons-logging\commons-logging\1.1\commons-logging-1.1.jar"/>
- <pathelement location="${m2.repo}\javax\activation\activation\1.1\activation-1.1.jar"/>
- <pathelement location="${m2.repo}\javax\mail\mail\1.4\mail-1.4.jar"/>
- <pathelement location="${m2.repo}\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar"/>
- <pathelement location="${m2.repo}\jaxen\jaxen\1.1-beta-9\jaxen-1.1-beta-9.jar"/>
- <pathelement location="${m2.repo}\log4j\log4j\1.2.12\log4j-1.2.12.jar"/>
- <pathelement location="${m2.repo}\logkit\logkit\1.0.1\logkit-1.0.1.jar"/>
- <pathelement location="${m2.repo}\org\apache\ant\ant\1.7.0\ant-1.7.0.jar"/>
- <pathelement location="${m2.repo}\org\apache\ant\ant-launcher\1.7.0\ant-launcher-1.7.0.jar"/>
- <pathelement location="${m2.repo}\org\apache\axis2\axis2-java2wsdl\1.2\axis2-java2wsdl-1.2.jar"/>
- <pathelement location="${m2.repo}\org\apache\axis2\axis2-kernel\1.2\axis2-kernel-1.2.jar"/>
- <pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-commonj_1.1_spec\1.0\geronimo-commonj_1.1_spec-1.0.jar"/>
- <pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1\geronimo-jms_1.1_spec-1.1.jar"/>
- <pathelement location="${m2.repo}\org\apache\httpcomponents\jakarta-httpcore\4.0-alpha4\jakarta-httpcore-4.0-alpha4.jar"/>
- <pathelement location="${m2.repo}\org\apache\neethi\neethi\2.0.1\neethi-2.0.1.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\sca-api\1.4-SNAPSHOT\sca-api-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly\1.4-SNAPSHOT\tuscany-assembly-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly-xml\1.4-SNAPSHOT\tuscany-assembly-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca\1.4-SNAPSHOT\tuscany-binding-sca-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca-axis2\1.4-SNAPSHOT\tuscany-binding-sca-axis2-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca-xml\1.4-SNAPSHOT\tuscany-binding-sca-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws\1.4-SNAPSHOT\tuscany-binding-ws-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws-axis2\1.4-SNAPSHOT\tuscany-binding-ws-axis2-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws-xml\1.4-SNAPSHOT\tuscany-binding-ws-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution\1.4-SNAPSHOT\tuscany-contribution-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-impl\1.4-SNAPSHOT\tuscany-contribution-impl-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-java\1.4-SNAPSHOT\tuscany-contribution-java-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-namespace\1.4-SNAPSHOT\tuscany-contribution-namespace-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core\1.4-SNAPSHOT\tuscany-core-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core-databinding\1.4-SNAPSHOT\tuscany-core-databinding-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core-spi\1.4-SNAPSHOT\tuscany-core-spi-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-databinding\1.4-SNAPSHOT\tuscany-databinding-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-databinding-axiom\1.4-SNAPSHOT\tuscany-databinding-axiom-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-distributed\1.4-SNAPSHOT\tuscany-distributed-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-distributed-impl\1.4-SNAPSHOT\tuscany-distributed-impl-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-embedded\1.4-SNAPSHOT\tuscany-host-embedded-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-http\1.4-SNAPSHOT\tuscany-host-http-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-tomcat\1.4-SNAPSHOT\tuscany-host-jetty-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-implementation-java\1.4-SNAPSHOT\tuscany-implementation-java-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-implementation-java-runtime\1.4-SNAPSHOT\tuscany-implementation-java-runtime-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-implementation-java-xml\1.4-SNAPSHOT\tuscany-implementation-java-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface\1.4-SNAPSHOT\tuscany-interface-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-java\1.4-SNAPSHOT\tuscany-interface-java-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-java-xml\1.4-SNAPSHOT\tuscany-interface-java-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-wsdl\1.4-SNAPSHOT\tuscany-interface-wsdl-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-wsdl-xml\1.4-SNAPSHOT\tuscany-interface-wsdl-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy\1.4-SNAPSHOT\tuscany-policy-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy-xml\1.4-SNAPSHOT\tuscany-policy-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-topology\1.4-SNAPSHOT\tuscany-topology-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-topology-xml\1.4-SNAPSHOT\tuscany-topology-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\woden\woden\1.0-incubating-M7a\woden-1.0-incubating-M7a.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-api\1.2.4\axiom-api-1.2.4.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-dom\1.2.4\axiom-dom-1.2.4.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-impl\1.2.4\axiom-impl-1.2.4.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\schema\XmlSchema\1.3.1\XmlSchema-1.3.1.jar"/>
- <pathelement location="${m2.repo}\org\codehaus\woodstox\wstx-asl\3.2.1\wstx-asl-3.2.1.jar"/>
- <pathelement location="${m2.repo}\stax\stax-api\1.0.1\stax-api-1.0.1.jar"/>
- <pathelement location="${m2.repo}\wsdl4j\wsdl4j\1.6.2\wsdl4j-1.6.2.jar"/>
- <pathelement location="${m2.repo}\xerces\xercesImpl\2.8.1\xercesImpl-2.8.1.jar"/>
- <pathelement location="${m2.repo}\xml-apis\xml-apis\1.3.03\xml-apis-1.3.03.jar"/>
- <pathelement location="target/classes"/-->
- <pathelement location="${m2.repo}\annogen\annogen\0.1.0\annogen-0.1.0.jar"/>
- <pathelement location="${m2.repo}\avalon-framework\avalon-framework\4.1.3\avalon-framework-4.1.3.jar"/>
- <pathelement location="${m2.repo}\backport-util-concurrent\backport-util-concurrent\2.2\backport-util-concurrent-2.2.jar"/>
- <pathelement location="${m2.repo}\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar"/>
- <pathelement location="${m2.repo}\com\metaparadigm\json-rpc\1.0\json-rpc-1.0.jar"/>
- <pathelement location="${m2.repo}\commons-codec\commons-codec\1.3\commons-codec-1.3.jar"/>
- <pathelement location="${m2.repo}\commons-fileupload\commons-fileupload\1.1.1\commons-fileupload-1.1.1.jar"/>
- <pathelement location="${m2.repo}\commons-httpclient\commons-httpclient\3.0.1\commons-httpclient-3.0.1.jar"/>
- <pathelement location="${m2.repo}\commons-io\commons-io\1.1\commons-io-1.1.jar"/>
- <pathelement location="${m2.repo}\commons-logging\commons-logging\1.1\commons-logging-1.1.jar"/>
- <pathelement location="${m2.repo}\javax\activation\activation\1.1\activation-1.1.jar"/>
- <pathelement location="${m2.repo}\javax\mail\mail\1.4\mail-1.4.jar"/>
- <pathelement location="${m2.repo}\jaxen\jaxen\1.1-beta-9\jaxen-1.1-beta-9.jar"/>
- <pathelement location="${m2.repo}\log4j\log4j\1.2.12\log4j-1.2.12.jar"/>
- <pathelement location="${m2.repo}\logkit\logkit\1.0.1\logkit-1.0.1.jar"/>
- <pathelement location="${m2.repo}\org\apache\ant\ant\1.7.0\ant-1.7.0.jar"/>
- <pathelement location="${m2.repo}\org\apache\ant\ant-launcher\1.7.0\ant-launcher-1.7.0.jar"/>
- <pathelement location="${m2.repo}\org\apache\axis2\axis2-adb\1.2\axis2-adb-1.2.jar"/>
- <pathelement location="${m2.repo}\org\apache\axis2\axis2-java2wsdl\1.2\axis2-java2wsdl-1.2.jar"/>
- <pathelement location="${m2.repo}\org\apache\axis2\axis2-kernel\1.2\axis2-kernel-1.2.jar"/>
- <pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-commonj_1.1_spec\1.0\geronimo-commonj_1.1_spec-1.0.jar"/>
- <pathelement location="${m2.repo}\org\apache\geronimo\specs\geronimo-jms_1.1_spec\1.1\geronimo-jms_1.1_spec-1.1.jar"/>
- <pathelement location="${m2.repo}\org\apache\httpcomponents\jakarta-httpcore\4.0-alpha4\jakarta-httpcore-4.0-alpha4.jar"/>
- <pathelement location="${m2.repo}\org\apache\neethi\neethi\2.0.1\neethi-2.0.1.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\sca-api\1.4-SNAPSHOT\sca-api-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly\1.4-SNAPSHOT\tuscany-assembly-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-assembly-xml\1.4-SNAPSHOT\tuscany-assembly-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-http\1.4-SNAPSHOT\tuscany-binding-http-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-jsonrpc\1.4-SNAPSHOT\tuscany-binding-jsonrpc-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca\1.4-SNAPSHOT\tuscany-binding-sca-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca-axis2\1.4-SNAPSHOT\tuscany-binding-sca-axis2-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-sca-xml\1.4-SNAPSHOT\tuscany-binding-sca-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws\1.4-SNAPSHOT\tuscany-binding-ws-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws-axis2\1.4-SNAPSHOT\tuscany-binding-ws-axis2-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-binding-ws-xml\1.4-SNAPSHOT\tuscany-binding-ws-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution\1.4-SNAPSHOT\tuscany-contribution-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-impl\1.4-SNAPSHOT\tuscany-contribution-impl-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-java\1.4-SNAPSHOT\tuscany-contribution-java-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-contribution-namespace\1.4-SNAPSHOT\tuscany-contribution-namespace-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core\1.4-SNAPSHOT\tuscany-core-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core-databinding\1.4-SNAPSHOT\tuscany-core-databinding-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-core-spi\1.4-SNAPSHOT\tuscany-core-spi-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-databinding\1.4-SNAPSHOT\tuscany-databinding-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-databinding-axiom\1.4-SNAPSHOT\tuscany-databinding-axiom-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-distributed\1.4-SNAPSHOT\tuscany-distributed-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-distributed-impl\1.4-SNAPSHOT\tuscany-distributed-impl-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-extension-helper\1.4-SNAPSHOT\tuscany-extension-helper-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-embedded\1.4-SNAPSHOT\tuscany-host-embedded-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-host-http\1.4-SNAPSHOT\tuscany-host-http-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface\1.4-SNAPSHOT\tuscany-interface-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-java\1.4-SNAPSHOT\tuscany-interface-java-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-java-xml\1.4-SNAPSHOT\tuscany-interface-java-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-wsdl\1.4-SNAPSHOT\tuscany-interface-wsdl-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-interface-wsdl-xml\1.4-SNAPSHOT\tuscany-interface-wsdl-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy\1.4-SNAPSHOT\tuscany-policy-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-policy-xml\1.4-SNAPSHOT\tuscany-policy-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-topology\1.4-SNAPSHOT\tuscany-topology-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\tuscany\sca\tuscany-topology-xml\1.4-SNAPSHOT\tuscany-topology-xml-1.4-SNAPSHOT.jar"/>
- <pathelement location="${m2.repo}\org\apache\woden\woden\1.0-incubating-M7a\woden-1.0-incubating-M7a.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-api\1.2.4\axiom-api-1.2.4.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-dom\1.2.4\axiom-dom-1.2.4.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\axiom\axiom-impl\1.2.4\axiom-impl-1.2.4.jar"/>
- <pathelement location="${m2.repo}\org\apache\ws\commons\schema\XmlSchema\1.3.1\XmlSchema-1.3.1.jar"/>
- <pathelement location="${m2.repo}\org\codehaus\woodstox\wstx-asl\3.2.1\wstx-asl-3.2.1.jar"/>
- <pathelement location="${m2.repo}\stax\stax-api\1.0.1\stax-api-1.0.1.jar"/>
- <pathelement location="${m2.repo}\wsdl4j\wsdl4j\1.6.2\wsdl4j-1.6.2.jar"/>
- <pathelement location="${m2.repo}\xerces\xercesImpl\2.8.1\xercesImpl-2.8.1.jar"/>
- <pathelement location="${m2.repo}\xml-apis\xml-apis\1.3.03\xml-apis-1.3.03.jar"/>
- </path>
-
- <target name="runDomainNodeRepo">
- <java classname="${domain.class}"
- fork="true">
- <classpath>
- <path refid="repo.classpath"/>
- </classpath>
- </java>
- </target>
-
- <target name="runNodeARepo">
- <java classname="${node.class}"
- fork="true">
- <classpath>
- <path refid="repo.classpath"/>
- </classpath>
- <arg value="mydomain"/>
- <arg value="nodeA"/>
- </java>
- </target>
-
- <target name="runNodeBRepo">
- <java classname="${node.class}"
- fork="true">
- <classpath>
- <path refid="repo.classpath"/>
- </classpath>
- <arg value="mydomain"/>
- <arg value="nodeB"/>
- </java>
- </target>
-
- <target name="runNodeCRepo">
- <java classname="${node.class}"
- fork="true">
- <classpath>
- <path refid="repo.classpath"/>
- </classpath>
- <arg value="mydomain"/>
- <arg value="nodeC"/>
- </java>
- </target>
-
-</project>
diff --git a/branches/sca-equinox/samples/domain-webapp/pom.xml b/branches/sca-equinox/samples/domain-webapp/pom.xml deleted file mode 100644 index 58fa5a7458..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/pom.xml +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-samples</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>sample-domain-webapp</artifactId>
- <name>Apache Tuscany SCA Domain Webapp Sample</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-tomcat</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-domain-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonrpc</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-axis2</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-resource</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/domain-webapp/src/main/java/node/DomainServer.java b/branches/sca-equinox/samples/domain-webapp/src/main/java/node/DomainServer.java deleted file mode 100644 index ea3cddc01b..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/src/main/java/node/DomainServer.java +++ /dev/null @@ -1,54 +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 node; - -import java.io.IOException; - - -/** - * This server program that loads a composite to provide simple registry function. - * This server can be replaced with any registry that is appropriate but the components - * in each node that talk to the registry should be replaced also. - */ -public class DomainServer { - - public static void main(String[] args) { - try { -/* - NodeImpl node = new NodeImpl(); - node.start(); - node.getContributionManager().startContribution(DomainServer.class.getClassLoader().getResource(".")); - - try { - System.out.println("Domain server started (press enter to shutdown)"); - System.in.read(); - } catch (IOException e) { - e.printStackTrace(); - } - - node.stop(); - System.out.println("Domain server stopped"); -*/ - } catch (Exception ex) { - System.out.println("Exception in domain server " + - ex.toString()); - } - } - -} diff --git a/branches/sca-equinox/samples/domain-webapp/src/main/resources/META-INF/sca-contribution.xml b/branches/sca-equinox/samples/domain-webapp/src/main/resources/META-INF/sca-contribution.xml deleted file mode 100755 index fbe5880db6..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/src/main/resources/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://sample" - xmlns:sample="http://sample"> - <deployable composite="sample:Domain"/> -</contribution>
\ No newline at end of file diff --git a/branches/sca-equinox/samples/domain-webapp/src/main/resources/domain.composite b/branches/sca-equinox/samples/domain-webapp/src/main/resources/domain.composite deleted file mode 100644 index dbaaebd3c7..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/src/main/resources/domain.composite +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://sample" - xmlns:sample="http://sample" - xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" - name="Domain"> - - <component name="domain"> - <service name="Resource"> - <tuscany:binding.http/> - </service> - <tuscany:implementation.resource location="webroot"/> - </component> - - <component name="DomainManagerComponent"> - <implementation.java class="org.apache.tuscany.sca.domain.impl.DomainManagerServiceImpl"/> - <service name="DomainManagerService"> - <interface.java interface="org.apache.tuscany.sca.domain.DomainManagerService"/> - <binding.ws uri="http://localhost:8080/DomainManagerComponent/DomainManager"/> - <tuscany:binding.jsonrpc uri="http://localhost:8080/DomainManagerComponent/DomainManagerJson"/> - </service> - <reference name="serviceDiscovery" target="ServiceDiscoveryComponent"/> - - </component> - - <component name="ServiceDiscoveryComponent"> - <implementation.java class="org.apache.tuscany.sca.domain.impl.ServiceDiscoveryServiceImpl" /> - <service name="ServiceDiscoveryService"> - <interface.java interface="org.apache.tuscany.sca.domain.ServiceDiscoveryService"/> - <binding.sca uri="http://localhost:8080/ServiceDiscoveryComponent/ServiceDiscoverySCA"/> - <binding.ws uri="http://localhost:8080/ServiceDiscoveryComponent/ServiceDiscovery"/> - <tuscany:binding.jsonrpc uri="http://localhost:8080/ServiceDiscoveryComponent/ServiceDiscoveryJson"/> - </service> - </component> - -</composite> diff --git a/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/index.html b/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/index.html deleted file mode 100644 index 425bd73734..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/index.html +++ /dev/null @@ -1,354 +0,0 @@ -<html> -<!-- - * 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. - --> -<head> -<title>Apache Tuscany Domain</TITLE> - - <script type="text/javascript" src="../SCADomain/scaDomain.js"></script> - - <script language="JavaScript"> - - domainManager = new JSONRpcClient("../DomainManagerComponent/DomainManagerJson"); - - function getNodeInfo() { - domainManager.DomainManagerService.getNodeInfo(handleGetNodeInfo); - } - - function handleGetNodeInfo(result) { - - var text = "" - - for (var i in result.list){ - var node = result.list[i]; - - text = text + "<table>"; - text = text + "<TR CLASS='source_1' >"; - text = text + " <TD>"; - text = text + " <IMG SRC='node.png'/> " + node.domainUri; - text = text + " </TD>"; - - var noProtocol = node.nodeManagerUrl.substring(7); - var colonPos = noProtocol.indexOf(':') - var nodeManagerWebUrl = noProtocol.substring(0, colonPos + 6); - nodeManagerWebUrl = "http://" + nodeManagerWebUrl + "node/index.html"; - - text = text + " <TD CLASS='clickable link' ONCLICK=\"showNode('" + nodeManagerWebUrl + "')\">" + node.nodeUri + "</TD>"; - text = text + "</TR>"; - } - - document.getElementById('domainInfo').innerHTML=text; - } - - function showNode(url) - { - document.getElementById("nodePage").innerHTML="<IFRAME CLASS='alert_data' SRC='"+url+"'/>"; - window.location="#data"; - return; - } - - </script> - - <link rel="stylesheet" type="text/css" href="style.css" /> -</head> - -<body onload="getNodeInfo()"> - -<!--script type="text/javascript"> - - // The proxy for the alert and alertsources services running in Tuscany - var alertsService = new dojo.rpc.JsonService("AlertsServiceJSONRPC?smd"); - var alertSourcesService = new dojo.rpc.JsonService("AlertsSourcesServiceJSONRPC?smd"); - - // If you want to put an HTTP sniffer in the way to look at the JSONROPC packets you'll - // need to edit the target address of the service in the smd. The only way to do this easily - // is to read an smd from disc rather than generate one. There are two smds provided for this - //var alertsService = new dojo.rpc.JsonService("service.smd"); - //var alertSourcesService = new dojo.rpc.JsonService("sources.smd"); - - // The global list of alerts sources - var alertSourceList = null; - - // The global list of alerts - var alertList = null; - - // the constructor for entries on the alert source list - function alertSourceType(name,id,address,feedAddress,feedType,popUsername,popPassword,popServer,lastChecked,javaClass) { - this.name = name; - this.id = id; - this.address = address; - this.feedAddress = feedAddress; - this.feedType = feedType; - this.lastChecked = lastChecked; - this.javaClass = "org.apache.tuscany.sca.demos.aggregator.types.impl.SourceTypeImpl"; - - } - - function errorCallback(result, error, id) { - var resultsNode = document.getElementById("errors"); - // There seems to be a problem somewhere as I should be able to get the error - // details but all I can actually get is the Id from the error message - // resultsNode.innerHTML = "there was an error! message id = " + " error code = " + result.error.code + " error message = " + result.error.msg ; - resultsNode.innerHTML = "An error was returned by the server. Message id = " + result.id; - } - - // Generate the alert sources table - function getAlertSources() - { - response = alertSourcesService.getAlertSources("Dojo"); - response.addCallbacks(getAlertSourcesCallback, errorCallback); - - getAlerts(); - } - - function getAlertSourcesCallback(result) { - var resultsNode = document.getElementById("alertSourcesTable"); - if ( result.error != null ) { - resultsNode.innerHTML = result.error; - } else { - // stash away the source list for when we come to edit it - alertSourceList = result.source.list; - - // put out the html - var text = "" - var nextSourceId = 0 - for (var i in result.source.list){ - var source = result.source.list[i]; - - text = text + "<table>"; - text = text + "<TR CLASS='source_" + source.id + "' >"; - text = text + " <TD CLASS='source_name clickable' ONCLICK=\"displayAlert('" + source.address + "')\">"; - text = text + " <IMG SRC='rss.png'/> " + source.name; - text = text + " </TD>"; - text = text + " <TD CLASS='clickable link' ONCLICK=\"showEditSource('" + source.id + "')\">Edit</TD>"; - text = text + " <TD CLASS='clickable link' ONCLICK=\"deleteSource('" + source.id + "')\">Delete</TD>"; - text = text + "</TR>"; - text = text + "<TR ID='edit_source_" + source.id + "' CLASS='hidden source_" + source.id + "'>"; - text = text + " <TD COLSPAN='3'>"; - text = text + " <TABLE CLASS='sourceDetailsTable'>"; - text = text + " <TR>"; - text = text + " <TD>Source name:</TD>"; - text = text + " <TD>"; - text = text + " <INPUT ID='source_" + source.id + "_name' TYPE='TEXT' SIZE='50' VALUE='" + source.name + "'/>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " <TR>"; - text = text + " <TD>Source address:</TD>" - text = text + " <TD>"; - text = text + " <INPUT ID='source_" + source.id + "_address' TYPE='TEXT' SIZE='50' VALUE='" + source.address + "'/>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " <TR>"; - text = text + " <TD>"; - text = text + " <INPUT ID='source_" + source.id + "_type' TYPE='HIDDEN' VALUE='" + source.id + "'/>"; - text = text + " <INPUT TYPE='BUTTON' VALUE='Update' ONCLICK=\"updateSource('" + source.id + "')\"/>"; - text = text + " <INPUT TYPE='BUTTON' VALUE='Cancel' ONCLICK=\"hideEditSource('" + source.id + "')\"/>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " </TABLE>"; - text = text + " </TD>"; - text = text + "</TR>"; - - nextSourceId = eval(source.id); - } - - nextSourceId = nextSourceId + 1; - - text = text + "<TR CLASS='source_" + nextSourceId + "'>"; - text = text + " <TD COLSPAN='4' CLASS='clickable link' ONCLICK=\"showAddNewSource('" + nextSourceId + "')\">Add new Alert Source</TD>"; - text = text + "</TR>"; - text = text + "<TR ID='add_source_" + nextSourceId + "' CLASS='hidden source_" + nextSourceId + "'>"; - text = text + " <TD COLSPAN='4'>"; - text = text + " <TABLE CLASS='sourceDetailsTable'>"; - text = text + " <TR>"; - text = text + " <TD>Source name:</TD>"; - text = text + " <TD>"; - text = text + " <INPUT ID='source_" + nextSourceId + "_name' TYPE='TEXT' SIZE='50'>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " <TR>"; - text = text + " <TD>Source address:</TD>"; - text = text + " <TD>"; - text = text + " <INPUT ID='source_" + nextSourceId + "_address' TYPE='TEXT' SIZE='50'>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " <TR>"; - text = text + " <TD>Source type:</TD>"; - text = text + " <TD>"; - text = text + " <SELECT ID='source_" + nextSourceId + "_type' ONCHANGE=\"showSourceType('" + nextSourceId + "')\">"; - text = text + " <OPTION value='rss' selected='selected'>RSS/Atom feed</OPTION>"; - text = text + " </SELECT>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " <TR ID='add_rss_source'>"; - text = text + " <TD COLSPAN='2'>"; - text = text + " <TABLE CLASS='sourceDetailsTable'>"; - text = text + " <TR>"; - text = text + " <TD>Feed address:</TD>"; - text = text + " <TD>"; - text = text + " <INPUT ID='source_" + nextSourceId + "_feedAddress' TYPE='TEXT' SIZE='50'/>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " </TABLE>"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " <TR>"; - text = text + " <TD>"; - text = text + " <INPUT TYPE='BUTTON' VALUE='Add' ONCLICK=\"addSource('" + nextSourceId + "')\">"; - text = text + " <INPUT TYPE='BUTTON' VALUE='Cancel' ONCLICK=\"hideAddNewSource('" + nextSourceId + "')\">"; - text = text + " </TD>"; - text = text + " </TR>"; - text = text + " </TABLE>"; - text = text + " </TD>"; - text = text + "</TR>"; - text = text + "</table>"; - - resultsNode.innerHTML = text; - } - } - - function showEditSource(sourceid) - { - document.getElementById("edit_source_"+sourceid).className = "source_"+sourceid; - } - - function hideEditSource(sourceid) - { - document.getElementById("edit_source_"+sourceid).className = "hidden source_"+sourceid; - } - - function updateSource(sourceid) - { - hideEditSource(sourceid); - var source = getSource(sourceId); - alertSourcesService.updateAlertSource(source); - getAlertSources(); - } - - function deleteSource(sourceid) - { - alertSourcesService.removeAlertSource(sourceid); - getAlertSources(); - } - - function showAddNewSource(sourceid) - { - document.getElementById("add_source_"+sourceid).className = "source_"+sourceid; - } - - function hideAddNewSource(sourceid) - { - document.getElementById("add_source_"+sourceid).className = "hidden source_"+sourceid; - } - - function addSource(sourceid) - { - hideAddNewSource(sourceid); - var source = getSource(sourceid); - alertSourcesService.addAlertSource(source); - - // wait a little before getting the list back from the server - setTimeout("getAlertSources()",1250); - } - - function getSource(sourceid) - { - var source = alertSourceList[sourceid]; - - if ( source == null ){ - source = new alertSourceType("name","id","address","feedAddress","feedType","popUsername","popPassword","popServer","lastChecked","javaClass"); - alertSourceList[sourceid] = source; - } - - source.name = document.getElementById("source_"+sourceid+"_name").value; - source.id = sourceid; - source.address = document.getElementById("source_"+sourceid+"_address").value; - var typeElem = document.getElementById("source_"+sourceid+"_type"); - source.feedType = typeElem.options[typeElem.selectedIndex].value; - - if(source.feedType=="rss") - { - source.feedAddress = document.getElementById("source_"+sourceid+"_feedAddress").value; - - } - else if(source.feedType=="pop") - { - source.popServer = document.getElementById("source_"+sourceid+"_popServer").value; - source.popUsername = document.getElementById("source_"+sourceid+"_popUsername").value; - source.popPassword = document.getElementById("source_"+sourceid+"_popPassword").value; - } - return source; - } - - // Generate the alerts table - function getAlerts() - { - response = alertsService.getAllNewAlerts("Dojo"); - response.addCallbacks(getAlertsCallback, errorCallback); - } - - function getAlertsCallback(result) { - var resultsNode = document.getElementById("alertsTable"); - if ( result.error != null ) { - resultsNode.innerHTML = result.error; - } else { - alertList = result.alert.list; - var text = "" - for (var i in result.alert.list){ - var alert = result.alert.list[i]; - - text = text + "<table>"; - text = text + "<TR class='source_" + alert.sourceId + " clickable' onclick=\"displayAlert('" + alert.address + "')\">"; - text = text + " <TD class='alert_text'>"; - text = text + " <SPAN id='" + alert.id + "' class='unread_title'>" + alert.title + "</SPAN>"; - text = text + " <SPAN class='summary'> - " + alert.summary.substring(0, 80) + "...</SPAN>"; - text = text + " </TD>"; - text = text + " <TD>"; - text = text + alert.date; - text = text + " </TD>" - text = text + "</TR>" - text = text + "</table>"; - } - - resultsNode.innerHTML = text; - } - } - - - - function displayAlert(url) - { - document.getElementById("alertData").innerHTML="<IFRAME CLASS='alert_data' SRC='"+url+"'/>"; - window.location="#data"; - return; - } -</script--> - -<h1 id="top">Apache Tuscany Domain</h1> -<div id="errors"></div> - -<p>Domain Name<span id="domainName"></span>:</p> - -<div id="domainInfo"></div> - -<p /><input type="button" value="Refresh" onclick="getNodeInfo()" /> - -<div id="nodePage"></div> - -</body> -</html> diff --git a/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/node.png b/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/node.png Binary files differdeleted file mode 100644 index b3c949d224..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/node.png +++ /dev/null diff --git a/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/style.css b/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/style.css deleted file mode 100644 index f5bbf23379..0000000000 --- a/branches/sca-equinox/samples/domain-webapp/src/main/resources/webroot/style.css +++ /dev/null @@ -1,176 +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. - */ - -p,table,li,h1,h2,h3 -{ -font-family: verdana, arial, 'sans serif'; -} - -p, h1, h2, h3, table, li, hr -{ -margin-left: 10pt; -} - -table -{ -border-color: black; -border-collapse: separate; -border-spacing: 0px 1px; - -margin-right: 10pt; -margin-left: 10pt; -width: 800px; -} - -.sourceDetailsTable -{ -width: 600px; -} - -tr, td -{ -margin-left: 0pt; -margin-right: 0pt; -padding-left: 10pt; -font-size: 90%; -} - -p,li,th -{ -font-size: 90%; -margin-left: 10pt; -} - -pre -{ -margin-left: 10pt; -} - -body -{ -#ffffff; -} - -h1,h2,h3,hr -{ -color: firebrick; -} - -a:link {COLOR: firebrick;} -a:visited {COLOR: firebrick;} -a:active {COLOR: navy;} - -.link -{ -COLOR: firebrick; -text-decoration: underline; -} - -.clickable -{ -cursor: pointer -} - -.unread_title -{ -font-weight: bold; -} - -.read_title -{ -font-weight: normal; -} - -.summary -{ -color: DimGrey; -} - -.hidden -{ -display: none; -} - -.source_name -{ -width: 600px; -} - -.alert_text -{ -width: 600px; -} - -.alert_data -{ -margin-left: 10px; -width: 800px; -height: 800px; -} - -.source_0 -{ -background-color: LightGreen; -} - -.source_1 -{ -background-color: LightSkyBlue; -} - -.source_2 -{ -background-color: Khaki; -} - -.source_3 -{ -background-color: LightPink; -} - -.source_4 -{ -background-color: Orange; -} - -.source_5 -{ -background-color: LightCoral; -} - -.source_6 -{ -background-color: Orchid; -} - -.source_7 -{ -background-color: Peru; -} - -.source_8 -{ -background-color: SpringGreen; -} - -.source_9 -{ -background-color: LightGrey; -} - diff --git a/branches/sca-equinox/samples/helloworld-distributed/README b/branches/sca-equinox/samples/helloworld-distributed/README deleted file mode 100644 index 0ea891b07f..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/README +++ /dev/null @@ -1,28 +0,0 @@ -Distributed Helloworld Sample
-=============================
-
-This sample demonstrates a distributed SCA domain using the JMS implementation of binding.sca which
-automatically discovers available nodes and the services they contain.
-
-In this sample there are two nodes in the domain, a standalone node containing a Helloworld component,
-and a webapp using a JSP with <implementation.web> which invokes the Helloworld service in the domain.
-
-To run the sample:
-
-- Build the two sample modules with mvn or Ant.
-- Deploy the helloworld-webapp war to Tomcat.
-- Start the standalone node by:
- in the helloworld-node folder do "mvn dependency:copy-dependencies" then:
- java -Djava.ext.dirs=target\dependency -cp target\sample-helloworld-node.jar sample.HelloworldNode
-- On a web browser go to:
- http://localhost:8080/sample-helloworld-webapp
-
-You should see "Hello world" returned on the web page and the node console should show "HelloworldImpl.sayHello: world"
-
-How it works:
-
-
-
-
-
-
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/README b/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/README deleted file mode 100644 index 0ea891b07f..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/README +++ /dev/null @@ -1,28 +0,0 @@ -Distributed Helloworld Sample
-=============================
-
-This sample demonstrates a distributed SCA domain using the JMS implementation of binding.sca which
-automatically discovers available nodes and the services they contain.
-
-In this sample there are two nodes in the domain, a standalone node containing a Helloworld component,
-and a webapp using a JSP with <implementation.web> which invokes the Helloworld service in the domain.
-
-To run the sample:
-
-- Build the two sample modules with mvn or Ant.
-- Deploy the helloworld-webapp war to Tomcat.
-- Start the standalone node by:
- in the helloworld-node folder do "mvn dependency:copy-dependencies" then:
- java -Djava.ext.dirs=target\dependency -cp target\sample-helloworld-node.jar sample.HelloworldNode
-- On a web browser go to:
- http://localhost:8080/sample-helloworld-webapp
-
-You should see "Hello world" returned on the web page and the node console should show "HelloworldImpl.sayHello: world"
-
-How it works:
-
-
-
-
-
-
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/pom.xml b/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/pom.xml deleted file mode 100644 index 941cb2b4ed..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-helloworld-node</artifactId>
- <name>Apache Tuscany SCA Helloworld Node Sample</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-jms</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/Helloworld.java b/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/Helloworld.java deleted file mode 100644 index 386426df73..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/Helloworld.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 sample;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/HelloworldImpl.java b/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/HelloworldImpl.java deleted file mode 100644 index 033b4088c8..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/HelloworldImpl.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 sample;
-
-public class HelloworldImpl implements Helloworld {
-
- public String sayHello(String name) {
- System.out.println("HelloworldImpl.sayHello: " + name);
- return "Hello " + name;
- }
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/HelloworldNode.java b/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/HelloworldNode.java deleted file mode 100644 index 3cd8fe547a..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/java/sample/HelloworldNode.java +++ /dev/null @@ -1,40 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package sample;
-
-import org.apache.tuscany.sca.node.SCANode;
-import org.apache.tuscany.sca.node.SCANodeFactory;
-
-/**
- */
-public class HelloworldNode {
-
- public static void main(String[] args) throws Exception {
-
- SCANode node = SCANodeFactory.newInstance().createSCANodeFromClassLoader("Helloworld.composite", null);
- node.start();
-
- System.out.println("Hit enter to stop node...");
- System.in.read();
-
- node.stop();
- }
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/resources/Helloworld.composite b/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/resources/Helloworld.composite deleted file mode 100644 index 0f827390c8..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-node/src/main/resources/Helloworld.composite +++ /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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- name="Helloworld">
-
- <component name="HelloworldComponent">
- <implementation.java class="sample.HelloworldImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/README b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/README deleted file mode 100644 index 0ea891b07f..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/README +++ /dev/null @@ -1,28 +0,0 @@ -Distributed Helloworld Sample
-=============================
-
-This sample demonstrates a distributed SCA domain using the JMS implementation of binding.sca which
-automatically discovers available nodes and the services they contain.
-
-In this sample there are two nodes in the domain, a standalone node containing a Helloworld component,
-and a webapp using a JSP with <implementation.web> which invokes the Helloworld service in the domain.
-
-To run the sample:
-
-- Build the two sample modules with mvn or Ant.
-- Deploy the helloworld-webapp war to Tomcat.
-- Start the standalone node by:
- in the helloworld-node folder do "mvn dependency:copy-dependencies" then:
- java -Djava.ext.dirs=target\dependency -cp target\sample-helloworld-node.jar sample.HelloworldNode
-- On a web browser go to:
- http://localhost:8080/sample-helloworld-webapp
-
-You should see "Hello world" returned on the web page and the node console should show "HelloworldImpl.sayHello: world"
-
-How it works:
-
-
-
-
-
-
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/build.xml b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/build.xml deleted file mode 100644 index e08dd3027a..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/build.xml +++ /dev/null @@ -1,128 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<project name="sample-helloworld-webapp" default="compile">
-
- <target name="compile">
- <mkdir dir="target/classes"/>
- <javac destdir="target/classes" debug="on" source="1.5" target="1.5">
- <src path="src\main\java"/>
- <classpath>
- <fileset refid="tuscany.jars"/>
- <fileset refid="3rdparty.jars"/>
- </classpath>
- </javac>
- <copy todir="target/classes">
- <fileset dir="src\main\resources"/>
- <fileset dir="." includes="*" excludes="src, target, pom.xml, build.xml"/>
- </copy>
- <war destfile="target/sample-helloworld-webapp.war" webxml="src/main/webapp/WEB-INF/web.xml">
- <fileset dir="src/main/webapp"/>
- <lib refid="tuscany.jars"/>
- <lib refid="3rdparty.jars"/>
- <classes dir="target/classes"/>
- </war>
- </target>
-
- <target name="package" depends="compile"/>
-
- <target name="clean">
- <delete includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-
- <fileset id="tuscany.jars" dir="../../modules">
- <include name="tuscany-assembly-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-assembly-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-assembly-xsd-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-jms-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-jms-runtime-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-sca-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-sca-jms-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-sca-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-impl-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-java-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-namespace-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-core-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-core-databinding-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-core-spi-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-axiom-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-jaxb-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-definitions-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-definitions-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-endpoint-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-extensibility-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-host-embedded-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-host-http-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-host-webapp-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-java-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-java-runtime-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-java-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-node-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-web-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-web-runtime-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-java-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-java-jaxws-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-java-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-monitor-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-node-api-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-node-impl-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-policy-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-policy-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-sca-api-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-xsd-1.4-SNAPSHOT.jar"/>
- </fileset>
- <fileset id="3rdparty.jars" dir="../../lib">
- <include name="XmlSchema-1.3.2.jar"/>
- <include name="activation-1.1.jar"/>
- <include name="activeio-core-3.1.0-tests.jar"/>
- <include name="activeio-core-3.1.0.jar"/>
- <include name="activemq-core-5.1.0.jar"/>
- <include name="asm-all-3.1.jar"/>
- <include name="avalon-framework-4.1.3.jar"/>
- <include name="axiom-api-1.2.5.jar"/>
- <include name="axiom-impl-1.2.5.jar"/>
- <include name="backport-util-concurrent-2.1.jar"/>
- <include name="camel-core-1.3.0.jar"/>
- <include name="cglib-nodep-2.1_3.jar"/>
- <include name="commons-logging-1.1.jar"/>
- <include name="commons-logging-api-1.1.jar"/>
- <include name="geronimo-commonj_1.1_spec-1.0.jar"/>
- <include name="geronimo-j2ee-management_1.0_spec-1.0.jar"/>
- <include name="geronimo-jms_1.1_spec-1.1.1.jar"/>
- <include name="jaxb-api-2.1.jar"/>
- <include name="jaxb-impl-2.1.3.jar"/>
- <include name="jaxen-1.1-beta-9.jar"/>
- <include name="jaxws-api-2.1.jar"/>
- <include name="jsr181-api-1.0-MR1.jar"/>
- <include name="jsr250-api-1.0.jar"/>
- <include name="log4j-1.2.12.jar"/>
- <include name="logkit-1.0.1.jar"/>
- <include name="mail-1.4.jar"/>
- <include name="servlet-api-2.3.jar"/>
- <include name="stax-api-1.0-2.jar"/>
- <include name="wstx-asl-3.2.1.jar"/>
- </fileset>
-
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/pom.xml b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/pom.xml deleted file mode 100644 index ee51fd55db..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-helloworld-webapp</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA Distributed Helloworld WebApp Sample</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-sca-jms</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-maven-ant-generator</artifactId>
- <version>1.4-SNAPSHOT</version>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/java/sample/Helloworld.java b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/java/sample/Helloworld.java deleted file mode 100644 index 7dd39b82a4..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/java/sample/Helloworld.java +++ /dev/null @@ -1,27 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package sample;
-
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface Helloworld {
-
- String sayHello(String name);
-}
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/WEB-INF/web.composite b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/WEB-INF/web.composite deleted file mode 100644 index 0e8de1be42..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/WEB-INF/web.composite +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- name="Helloworld">
-
- <component name="foo">
- <implementation.web web-uri=""/>
- <reference name="service" target="HelloworldComponent" />
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 1eefec1c48..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
-Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
-
- <display-name>Apache Tuscany Distributed Helloworld Sample</display-name>
-
- <filter> - <filter-name>tuscany</filter-name> - <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class> - </filter> - - <filter-mapping> - <filter-name>tuscany</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <welcome-file-list id="WelcomeFileList">
- <welcome-file>hello.jsp</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/hello.jsp b/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/hello.jsp deleted file mode 100644 index 873329cf7c..0000000000 --- a/branches/sca-equinox/samples/helloworld-distributed/helloworld-webapp/src/main/webapp/hello.jsp +++ /dev/null @@ -1,36 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %>
-
-<sca:reference name="service" type="sample.Helloworld" />
-
-<html>
- <body >
-
- <h2>Apache Tuscany Distributed Helloworld Sample</h2>
-
- Calling service.sayHello("world") returns:
-
- <p>
-
- <%= service.sayHello("world") %>
-
- </body>
-</html>
diff --git a/branches/sca-equinox/samples/helloworld-jsp/pom.xml b/branches/sca-equinox/samples/helloworld-jsp/pom.xml deleted file mode 100644 index 05c303a013..0000000000 --- a/branches/sca-equinox/samples/helloworld-jsp/pom.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-helloworld-jsp</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA Helloworld JSP Sample</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-jsp/src/main/java/sample/HelloworldService.java b/branches/sca-equinox/samples/helloworld-jsp/src/main/java/sample/HelloworldService.java deleted file mode 100644 index 2b92fd4661..0000000000 --- a/branches/sca-equinox/samples/helloworld-jsp/src/main/java/sample/HelloworldService.java +++ /dev/null @@ -1,7 +0,0 @@ -package sample;
-
-public interface HelloworldService {
-
- String sayHello(String name);
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java b/branches/sca-equinox/samples/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java deleted file mode 100644 index be83d3b407..0000000000 --- a/branches/sca-equinox/samples/helloworld-jsp/src/main/java/sample/HelloworldServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package sample;
-
-import org.osoa.sca.annotations.Service;
-
-@Service(HelloworldService.class)
-public class HelloworldServiceImpl implements HelloworldService {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/META-INF/sca-deployables/web.composite b/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/META-INF/sca-deployables/web.composite deleted file mode 100644 index 16bc08fc10..0000000000 --- a/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/META-INF/sca-deployables/web.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://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://samples"
- name="Helloworld">
-
- <component name="WebClient">
- <implementation.web web-uri=""/>
- <reference name="service" target="HelloworldService" />
- </component>
-
- <component name="HelloworldService">
- <implementation.java class="sample.HelloworldServiceImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 46285614da..0000000000 --- a/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
-
- <display-name>Apache Tuscany Helloworld JSP Sample</display-name>
-
- <filter>
- <filter-name>tuscany</filter-name>
- <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>tuscany</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <welcome-file-list id="WelcomeFileList">
- <welcome-file>hello.jsp</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/hello.jsp b/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/hello.jsp deleted file mode 100644 index beac8e457f..0000000000 --- a/branches/sca-equinox/samples/helloworld-jsp/src/main/webapp/hello.jsp +++ /dev/null @@ -1,36 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="http://www.osoa.org/sca/sca_jsp.tld" prefix="sca" %>
-
-<sca:reference name="service" type="sample.HelloworldService" />
-
-<html>
- <body >
-
- <h2>Apache Tuscany Helloworld JSP Sample</h2>
-
- Calling HelloworldService sayHello("world") returns:
-
- <p>
-
- <%= service.sayHello("world") %>
-
- </body>
-</html>
diff --git a/branches/sca-equinox/samples/helloworld-servlet/pom.xml b/branches/sca-equinox/samples/helloworld-servlet/pom.xml deleted file mode 100644 index 84494d1598..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/pom.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-helloworld-servlet</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA Helloworld Sample using a servlet</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.3</version>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldService.java b/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldService.java deleted file mode 100644 index 2b92fd4661..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldService.java +++ /dev/null @@ -1,7 +0,0 @@ -package sample;
-
-public interface HelloworldService {
-
- String sayHello(String name);
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java b/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java deleted file mode 100644 index be83d3b407..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package sample;
-
-import org.osoa.sca.annotations.Service;
-
-@Service(HelloworldService.class)
-public class HelloworldServiceImpl implements HelloworldService {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java b/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java deleted file mode 100644 index 0cdcc32e70..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/src/main/java/sample/HelloworldServlet.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package sample; - -import java.io.IOException; -import java.io.Writer; - -import javax.servlet.ServletConfig; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.osoa.sca.ComponentContext; -import org.osoa.sca.annotations.Reference; - -/** - */ -public class HelloworldServlet extends HttpServlet { - private static final long serialVersionUID = 1L; - - @Reference - protected HelloworldService service; - - @Override - public void init(ServletConfig config) { - if (service == null) { - // The helloworldService reference will only be injected from the @Reference - // annotation in containers supporting SCA "deep" integration. In other - // environments in can be looked up from the ComponentContext. - ComponentContext cc = (ComponentContext)config.getServletContext().getAttribute("org.osoa.sca.ComponentContext"); - service = cc.getService(HelloworldService.class, "service"); - } - } - - @Override - protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException { - - String name = request.getParameter("name"); - String greeting = service.sayHello(name); - - Writer out = response.getWriter(); - out.write("<html><head><title>Apache Tuscany Helloworld Servlet Sample</title></head><body>"); - out.write("<h2>Apache Tuscany Helloworld Servlet Sample</h2>"); - out.write("<br><strong>Result: </strong>" + greeting); - out.write("</body></html>"); - out.flush(); - out.close(); - } -} diff --git a/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite b/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite deleted file mode 100644 index 23fd33a408..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/META-INF/sca-deployables/web.composite +++ /dev/null @@ -1,33 +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://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://samples"
- name="Helloworld">
-
- <component name="WebClient">
- <implementation.web web-uri=""/>
- <reference name="service" target="HelloworldService"/>
- </component>
-
- <component name="HelloworldService">
- <implementation.java class="sample.HelloworldServiceImpl"/>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 28cfdd3f6c..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
-
- <display-name>Apache Tuscany Helloworld Servlet Sample</display-name>
-
- <filter>
- <filter-name>tuscany</filter-name>
- <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>tuscany</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <servlet>
- <servlet-name>HelloworldServlet</servlet-name>
- <servlet-class>sample.HelloworldServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>HelloworldServlet</servlet-name>
- <url-pattern>/HelloworldServlet</url-pattern>
- </servlet-mapping>
-
- <welcome-file-list id="WelcomeFileList">
- <welcome-file>hello.html</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/hello.html b/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/hello.html deleted file mode 100644 index c4484916aa..0000000000 --- a/branches/sca-equinox/samples/helloworld-servlet/src/main/webapp/hello.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<html> - -<head> -<title>Apache Tuscany Helloworld Servlet Sample</title> -</head> - -<body> - -<h2>Apache Tuscany Helloworld Servlet Sample</h2> - -<form action="HelloworldServlet" method="post"> - <table> - <tr> - <td>Enter your name:</td> - <td> - <input type="text" name="name" width="10"> - </td> - </tr> - <tr> - <td align="left" colspan="2"> - <button name="submit" type="submit">Say hello</button> - </td> - </tr> - </table> -</form> - -</body> -</html>
\ No newline at end of file diff --git a/branches/sca-equinox/samples/helloworld-web-callback/pom.xml b/branches/sca-equinox/samples/helloworld-web-callback/pom.xml deleted file mode 100644 index 54b422d64f..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-helloworld-web-callback</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA Web 2.0 Callbacks Sample</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-dwr</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldCallback.java b/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldCallback.java deleted file mode 100644 index 661f703dc8..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldCallback.java +++ /dev/null @@ -1,30 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package sample;
-
-import org.osoa.sca.annotations.OneWay;
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-public interface HelloworldCallback {
-
- @OneWay
- void sayHelloCallback(String reply);
-}
diff --git a/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldService.java b/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldService.java deleted file mode 100644 index d2c1fc2def..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldService.java +++ /dev/null @@ -1,14 +0,0 @@ -package sample;
-
-import org.osoa.sca.annotations.Callback;
-import org.osoa.sca.annotations.OneWay;
-import org.osoa.sca.annotations.Remotable;
-
-@Remotable
-@Callback(HelloworldCallback.class)
-public interface HelloworldService {
-
- @OneWay
- void sayHello(String name);
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldServiceImpl.java b/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldServiceImpl.java deleted file mode 100644 index 8b52e42754..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/src/main/java/sample/HelloworldServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package sample;
-
-import org.osoa.sca.annotations.Callback;
-import org.osoa.sca.annotations.Service;
-
-@Service(HelloworldService.class)
-public class HelloworldServiceImpl implements HelloworldService {
-
- @Callback
- public HelloworldCallback callback;
-
- public void sayHello(final String name) {
- Thread t = new Thread(new Runnable() {
- public void run() {
- for (int i=0; i<5; i++) {
- callback.sayHelloCallback(i + "Hello " + name);
- try {
- Thread.sleep(5000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }});
- t.start();
- }
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/META-INF/sca-deployables/web.composite b/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/META-INF/sca-deployables/web.composite deleted file mode 100644 index fdd5a95f58..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/META-INF/sca-deployables/web.composite +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://samples"
- name="Helloworld">
-
- <component name="WebClient">
- <implementation.web web-uri=""/>
- <reference name="service" target="HelloworldService">
- <tuscany:binding.dwr />
- <callback>
- <tuscany:binding.dwr />
- </callback>
- </reference>
- </component>
-
- <component name="HelloworldService">
- <implementation.java class="sample.HelloworldServiceImpl"/>
- <service name="HelloworldService">
- <tuscany:binding.dwr />
- <callback>
- <tuscany:binding.dwr />
- </callback>
- </service>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index f29262a147..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
-
- <display-name>Apache Tuscany Helloworld Servlet Sample</display-name>
-
- <filter>
- <filter-name>tuscany</filter-name>
- <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>tuscany</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <welcome-file-list id="WelcomeFileList">
- <welcome-file>hello.html</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/hello.html b/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/hello.html deleted file mode 100644 index 6d4c17626b..0000000000 --- a/branches/sca-equinox/samples/helloworld-web-callback/src/main/webapp/hello.html +++ /dev/null @@ -1,63 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<html>
-
- <head>
- <title>Apache Tuscany Helloworld Web2.0 Callbacks Sample</title>
- <script type="text/javascript" src="org.osoa.sca.componentContext.js"></script>
-
- <script language="JavaScript">
-
- componentContext.getService("service").sayHelloCallback =
- function(reply) {
- document.getElementById('result').innerHTML=reply;
- };
-
- function callSayHello() {
- componentContext.getService("service").sayHello(document.getElementById('name').value);
- }
-
- </script>
-
- </head>
- <body >
-
- <h2>Apache Tuscany Helloworld Web2.0 Callbacks Sample</h2>
-
- <table>
- <tr>
- <td>Enter your name:</td>
- <td>
- <input type="text" id="name" width="10">
- </td>
- </tr>
- <tr>
- <td align="left" colspan="2">
- <button name="submit" onclick="callSayHello()">Say hello</button>
- </td>
- </tr>
- <tr>
- <td>
- <div id='result'></div>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/branches/sca-equinox/samples/helloworld-web/pom.xml b/branches/sca-equinox/samples/helloworld-web/pom.xml deleted file mode 100644 index 06b05a7c0e..0000000000 --- a/branches/sca-equinox/samples/helloworld-web/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-helloworld-web</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA Helloworld Web Sample</name>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-api</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-web-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-web/src/main/java/sample/HelloworldService.java b/branches/sca-equinox/samples/helloworld-web/src/main/java/sample/HelloworldService.java deleted file mode 100644 index 2b92fd4661..0000000000 --- a/branches/sca-equinox/samples/helloworld-web/src/main/java/sample/HelloworldService.java +++ /dev/null @@ -1,7 +0,0 @@ -package sample;
-
-public interface HelloworldService {
-
- String sayHello(String name);
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-web/src/main/java/sample/HelloworldServiceImpl.java b/branches/sca-equinox/samples/helloworld-web/src/main/java/sample/HelloworldServiceImpl.java deleted file mode 100644 index be83d3b407..0000000000 --- a/branches/sca-equinox/samples/helloworld-web/src/main/java/sample/HelloworldServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package sample;
-
-import org.osoa.sca.annotations.Service;
-
-@Service(HelloworldService.class)
-public class HelloworldServiceImpl implements HelloworldService {
-
- public String sayHello(String name) {
- return "Hello " + name;
- }
-
-}
diff --git a/branches/sca-equinox/samples/helloworld-web/src/main/webapp/META-INF/sca-deployables/web.composite b/branches/sca-equinox/samples/helloworld-web/src/main/webapp/META-INF/sca-deployables/web.composite deleted file mode 100644 index 20cebc2d53..0000000000 --- a/branches/sca-equinox/samples/helloworld-web/src/main/webapp/META-INF/sca-deployables/web.composite +++ /dev/null @@ -1,39 +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://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://samples"
- name="Helloworld">
-
- <component name="WebClient">
- <implementation.web web-uri=""/>
- <reference name="service" target="HelloworldService">
- <tuscany:binding.jsonrpc />
- </reference>
- </component>
-
- <component name="HelloworldService">
- <implementation.java class="sample.HelloworldServiceImpl"/>
- <service name="HelloworldService">
- <tuscany:binding.jsonrpc />
- </service>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-web/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/helloworld-web/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index f29262a147..0000000000 --- a/branches/sca-equinox/samples/helloworld-web/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-
-<web-app version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
-
- <display-name>Apache Tuscany Helloworld Servlet Sample</display-name>
-
- <filter>
- <filter-name>tuscany</filter-name>
- <filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>tuscany</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <welcome-file-list id="WelcomeFileList">
- <welcome-file>hello.html</welcome-file>
- </welcome-file-list>
-
-</web-app>
diff --git a/branches/sca-equinox/samples/helloworld-web/src/main/webapp/hello.html b/branches/sca-equinox/samples/helloworld-web/src/main/webapp/hello.html deleted file mode 100644 index 83ac0ae576..0000000000 --- a/branches/sca-equinox/samples/helloworld-web/src/main/webapp/hello.html +++ /dev/null @@ -1,62 +0,0 @@ -<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<html>
-
- <head>
- <title>Apache Tuscany Helloworld Web Sample</title>
- <script type="text/javascript" src="org.osoa.sca.componentContext.js"></script>
-
- <script language="JavaScript">
-
- function callSayHello() {
- componentContext.getService("service").sayHello(document.getElementById('name').value,
- function(reply) {
- document.getElementById('result').innerHTML=reply;
- }
- );
- }
-
- </script>
-
- </head>
- <body >
-
- <h2>Apache Tuscany Helloworld Web Sample</h2>
-
- <table>
- <tr>
- <td>Enter your name:</td>
- <td>
- <input type="text" id="name" width="10">
- </td>
- </tr>
- <tr>
- <td align="left" colspan="2">
- <button name="submit" onclick="callSayHello()">Say hello</button>
- </td>
- </tr>
- <tr>
- <td>
- <div id='result'></div>
- </td>
- </tr>
- </table>
-
- </body>
-</html>
diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/README b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/README deleted file mode 100644 index 66040004f8..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/README +++ /dev/null @@ -1 +0,0 @@ -http://localhost:8080/sample-helloworld-ws-service-webapp/SCA/HelloWorldService?wsdl
diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/build.xml b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/build.xml deleted file mode 100644 index bdb341d26a..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/build.xml +++ /dev/null @@ -1,158 +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.
--->
-<project name="sample-helloworld-ws-service-webapp" default="package">
- <property file="${user.home}/tuscany/build.properties" />
- <property file="${user.home}/build.properties" />
-
- <property name="tuscany.sca.manifest.location" value="../../lib/tuscany-sca-manifest.jar"/>
- <property name="tuscany.sca.lib.location" value="../../lib"/>
- <property name="tuscany.sca.modules.location" value="../../modules"/>
-
- <path id="project.classpath">
- <pathelement path="target/classes"/>
- <pathelement path="target/sdo-source"/>
- <pathelement location="${tuscany.sca.manifest.location}"/>
- </path>
-
- <target name="init">
- <mkdir dir="target/classes"/>
- <mkdir dir="target/sdo-source"/>
- </target>
-
-
- <target name="compile" depends="init">
- <javac destdir="target/classes"
- debug="on"
- source="1.5"
- target="1.5">
- <src location="src/main/java"/>
- <src location="target/sdo-source"/>
- <classpath refid="project.classpath"/>
- </javac>
- <copy todir="target/classes">
- <fileset dir="src/main/resources"/>
- <fileset dir="target/sdo-source"/>
- </copy>
- </target>
-
- <target name="package" depends="compile">
- <war destfile="target/sample-helloworld-ws-service-webapp.war"
- webxml="src/main/webapp/WEB-INF/web.xml">
- <fileset dir="src/main/webapp"/>
- <zipfileset dir="${tuscany.sca.modules.location}" prefix="WEB-INF/lib">
- <include name="sca-api-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-assembly-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-assembly-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-feed-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-jsonrpc-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-sca-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-sca-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-ws-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-ws-axis2-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-binding-ws-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-impl-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-java-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-contribution-namespace-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-core-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-core-databinding-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-core-spi-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-axiom-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-jaxb-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-databinding-sdo-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-distributed-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-extension-helper-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-host-embedded-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-host-http-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-host-webapp-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-java-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-java-runtime-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-implementation-java-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-java-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-java-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-wsdl-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-wsdl-runtime-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-interface-wsdl-xml-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-policy-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-policy-xml-1.4-SNAPSHOT.jar"/>
- </zipfileset>
- <lib dir="${tuscany.sca.lib.location}">
- <include name="XmlSchema-1.3.1.jar"/>
- <include name="activation-1.1.jar"/>
- <include name="annogen-0.1.0.jar"/>
- <include name="ant-1.7.0.jar"/>
- <include name="ant-launcher-1.7.0.jar"/>
- <include name="axiom-api-1.2.4.jar"/>
- <include name="axiom-dom-1.2.4.jar"/>
- <include name="axiom-impl-1.2.4.jar"/>
- <include name="axis2-java2wsdl-1.2.jar"/>
- <include name="axis2-kernel-1.2.jar"/>
- <include name="backport-util-concurrent-2.2.jar"/>
- <include name="backport-util-concurrent-3.0.jar"/>
- <include name="cglib-nodep-2.1_3.jar"/>
- <include name="common-2.2.3.jar"/>
- <include name="commons-codec-1.3.jar"/>
- <include name="commons-fileupload-1.1.1.jar"/>
- <include name="commons-httpclient-3.0.1.jar"/>
- <include name="commons-io-1.1.jar"/>
- <include name="commons-logging-1.1.jar"/>
- <include name="ecore-2.2.3.jar"/>
- <include name="ecore-change-2.2.3.jar"/>
- <include name="ecore-xmi-2.2.3.jar"/>
- <include name="geronimo-commonj_1.1_spec-1.0.jar"/>
- <include name="geronimo-jms_1.1_spec-1.1.jar"/>
- <include name="jakarta-httpcore-4.0-alpha4.jar"/>
- <include name="jaxb-api-2.1.jar"/>
- <include name="jaxb-impl-2.1.4.jar"/>
- <include name="jaxen-1.1-beta-9.jar"/>
- <include name="jaxws-api-2.1.jar"/>
- <include name="jdom-1.0.jar"/>
- <include name="json-rpc-1.0.jar"/>
- <include name="jsr181-api-1.0-MR1.jar"/>
- <include name="jsr250-api-1.0.jar"/>
- <include name="mail-1.4.jar"/>
- <include name="neethi-2.0.1.jar"/>
- <include name="rome-0.9.jar"/>
- <include name="saaj-api-1.3.jar"/>
- <include name="sca-api-1.4-SNAPSHOT.jar"/>
- <include name="stax-api-1.0-2.jar"/>
- <include name="stax-api-1.0.1.jar"/>
- <include name="woden-1.0-incubating-M7a.jar"/>
- <include name="wsdl4j-1.6.2.jar"/>
- <include name="wstx-asl-3.2.1.jar"/>
- <include name="xercesImpl-2.8.1.jar"/>
- <include name="xml-apis-1.3.03.jar"/>
- <include name="xsd-2.2.3.jar"/>
- <include name="tuscany-sdo-api-r2.1-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-sdo-impl-1.4-SNAPSHOT.jar"/>
- <include name="tuscany-sdo-lib-1.4-SNAPSHOT.jar"/>
- </lib>
- <classes dir="target/classes"/>
- <classes dir="target/sdo-source"/>
- </war>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/pom.xml b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/pom.xml deleted file mode 100644 index 1651656c64..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - </parent> - - <artifactId>sample-helloworld-ws-service-webapp</artifactId> - <name>Apache Tuscany SCA HelloWorld Web Service Sample Webapp</name> - <packaging>war</packaging> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-api</artifactId> - <version>1.4-SNAPSHOT</version> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <finalName>${artifactId}</finalName> - </build> - -</project> diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldImpl.java b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldImpl.java deleted file mode 100644 index 0de3c70303..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/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.osoa.sca.annotations.Service; - -/** - * This class implements the HelloWorld service. - */ -@Service(HelloWorldService.class) -public class HelloWorldImpl implements HelloWorldService { - - public String getGreetings(String name) { - return "Hello " + name; - } - -} diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldService.java b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldService.java deleted file mode 100644 index 268d90e910..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/java/helloworld/HelloWorldService.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package helloworld; - -import org.osoa.sca.annotations.Remotable; - -/** - * This is the business interface of the HelloWorld greetings service. - */ -@Remotable -public interface HelloWorldService { - - public String getGreetings(String name); -} diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/resources/META-INF/sca-deployables/helloworldws.composite b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/resources/META-INF/sca-deployables/helloworldws.composite deleted file mode 100644 index 114608e4d8..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/resources/META-INF/sca-deployables/helloworldws.composite +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- name="helloworldws">
-
- <service name="HelloWorldService" promote="HelloWorldComponent">
- <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
- <binding.ws />
- </service>
-
- <component name="HelloWorldComponent">
- <implementation.java class="helloworld.HelloWorldImpl" />
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/resources/wsdl/helloworld.wsdl b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/resources/wsdl/helloworld.wsdl deleted file mode 100644 index 0b95fbd14f..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/resources/wsdl/helloworld.wsdl +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<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="xsd:string"/> - </sequence> - </complexType> - </element> - - <element name="getGreetingsResponse"> - <complexType> - <sequence> - <element name="getGreetingsReturn" type="xsd:string"/> - </sequence> - </complexType> - </element> - - </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:8080/services/HelloWorldWebService"/> - </wsdl:port> - </wsdl:service> - -</wsdl:definitions> diff --git a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/webapp/WEB-INF/web.xml b/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 182fd38fd9..0000000000 --- a/branches/sca-equinox/samples/helloworld-ws-deep-webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> - -<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web -Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> -<web-app> - - <display-name>Apache Tuscany HelloWorld Web Service Sample</display-name> - -</web-app> diff --git a/branches/sca-equinox/samples/implementation-notification/README b/branches/sca-equinox/samples/implementation-notification/README deleted file mode 100644 index 5b59358080..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/README +++ /dev/null @@ -1,93 +0,0 @@ -Notification Implementation Sample
-===============================
-
-This sample illustrates the use of <implementation.notification/>
-
-The README in the samples directory (the directory above this) provides
-general instructions about building and running samples. Take a look there
-first.
-
-If you just want to run it to see what happens open a command prompt, navigate
-to this sample directory and do:
-
-ant run
-
-OR if you don't have ant, on Windows do
-
-java -cp ..\..\lib\tuscany-sca-manifest.jar;target\sample-implementation-notification.jar notification.TrafficAdvisoryClient
-
-OR you can also use Maven to test:
-
-mvn test
-
-Sample Overview
----------------
-
-This sample consists of a single composite that contains a notification component,
-a producer component and two consumer components. Take a look at the composite file
-or the .svg file which shows the composite file in pictorial form. The notification
-component has an <implementation.notification/> that refers to the component type
-that defines the TrafficAdvisory java interface. This interface indicates the
-makeup of the messages being sent and received and is also implemented by the
-consumer components.
-
-Sample directory structure:
-
-implementation-notification/
- src/
- main/
- java/
- notification/
- TestCaseProducer.java - interface for the producer component
- TrafficAdvisory.java - interface for the notification and consumer components
- TrafficAdvisoryConsumer.java - implementation for the consumer components
- TrafficAdvisoryProducer.java - implementation for the producer component
- test/
- java/
- notification/
- TrafficAdvisoryTestCase.java - JUnit test case
- resources/
- TrafficAdvisoryNotification.componentType - the component type referred to by
- <implementation.notification/>
- TrafficAdvisoryNotification.composite - the main composite including producer,
- notification component, and consumers
- pom.xml - the Maven build file
-
-Building And Running The Sample Using Ant
------------------------------------------
-With the binary distribution the sample can be built and run using Ant as
-follows
-
-cd implementation-notification
-ant compile
-ant run
-
-You should see the following output from the run target.
-
-run:
- [java] Consumer [Consumer1] received report: Nothing to report today
- [java] Consumer [Consumer2] received report: Nothing to report today
-
-Building And Running The Sample Using Maven
--------------------------------------------
-With either the binary or source distributions the sample can be built and run
-using Maven as follows.
-
-cd implementation-notification
-mvn
-
-You should see the following output from the test phase.
-
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running notification.TrafficAdvisoryTestCase
-Consumer [Consumer1] received report: Nothing to report today
-Consumer [Consumer2] received report: Nothing to report today
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.742 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-This shows that the Junit test cases have run successfully.
diff --git a/branches/sca-equinox/samples/implementation-notification/build.xml b/branches/sca-equinox/samples/implementation-notification/build.xml deleted file mode 100644 index 110c7b84c1..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/build.xml +++ /dev/null @@ -1,72 +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.
--->
-<project name="implementation-notification" default="compile">
- <property name="test.class" value="notification.TrafficAdvisoryClient" />
- <property name="test.jar" value="sample-implementation-notification.jar" />
-
- <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/${test.jar}" basedir="target/classes">
- <manifest>
- <attribute name="Main-Class" value="${test.class}" />
- </manifest>
- </jar>
- </target>
-
- <target name="run-classes">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/classes"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </java>
- </target>
-
- <target name="run">
- <java classname="${test.class}"
- fork="true">
- <classpath>
- <pathelement path="target/${test.jar}"/>
- <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
- </classpath>
- </java>
- </target>
-
- <target name="clean">
- <delete quiet="true" includeemptydirs="true">
- <fileset dir="target"/>
- </delete>
- </target>
-</project>
diff --git a/branches/sca-equinox/samples/implementation-notification/implementation-notification.png b/branches/sca-equinox/samples/implementation-notification/implementation-notification.png Binary files differdeleted file mode 100644 index 0b7ee34bf7..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/implementation-notification.png +++ /dev/null diff --git a/branches/sca-equinox/samples/implementation-notification/pom.xml b/branches/sca-equinox/samples/implementation-notification/pom.xml deleted file mode 100644 index 584e3cc4c7..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>sample-implementation-notification</artifactId>
- <name>Apache Tuscany SCA Notification Implementation Sample</name>
- <version>1.4-SNAPSHOT</version>
- <description>A sample illustrating use of implementation.notification</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-notification</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-embedded</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
- <!-- if this is not in, BuilderRegistryImpl throws NPE (line 96) -->
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>test</scope>
- </dependency>
- <!-- end -->
-
- <!-- test dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- </plugins>
- <defaultGoal>install</defaultGoal>
- </build>
-</project>
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TestCaseProducer.java b/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TestCaseProducer.java deleted file mode 100644 index bf8c72e0ce..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TestCaseProducer.java +++ /dev/null @@ -1,24 +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 notification;
-
-public interface TestCaseProducer {
-
- public void produceTrafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisory.java b/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisory.java deleted file mode 100644 index 7bbfda2122..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisory.java +++ /dev/null @@ -1,24 +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 notification;
-
-public interface TrafficAdvisory {
-
- void trafficNotification(String report);
-}
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryClient.java b/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryClient.java deleted file mode 100644 index da32bab58d..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryClient.java +++ /dev/null @@ -1,45 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification;
-
-import notification.TestCaseProducer;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class TrafficAdvisoryClient {
-
- public static void main(String[] args) throws Exception {
- try {
- SCADomain domain = SCADomain.newInstance("TrafficAdvisoryNotification.composite");
- TestCaseProducer testCaseProducer = domain.getService(TestCaseProducer.class, "TrafficAdvisoryProducer");
-
- testCaseProducer.produceTrafficNotification("Nothing to report today");
-
- domain.close();
- } catch(Throwable e) {
- e.printStackTrace();
- if (e instanceof Exception) {
- throw (Exception)e;
- }
- else {
- throw new Exception(e);
- }
- }
- }
-}
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryConsumer.java b/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryConsumer.java deleted file mode 100644 index 2aaae596be..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryConsumer.java +++ /dev/null @@ -1,39 +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 notification;
-
-import org.osoa.sca.annotations.Property;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-/**
- * @version $Rev$ $Date$
- */
-@Service(TrafficAdvisory.class)
-@Scope("COMPOSITE")
-public class TrafficAdvisoryConsumer implements TrafficAdvisory {
-
- @Property
- protected String name;
-
- public void trafficNotification(String report) {
-
- System.out.println("Consumer [" + name + "] received report: " + report);
- }
-}
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryProducer.java b/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryProducer.java deleted file mode 100644 index a0bb02e846..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/java/notification/TrafficAdvisoryProducer.java +++ /dev/null @@ -1,36 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package notification;
-
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
-
-@Service(TestCaseProducer.class)
-@Scope("COMPOSITE")
-public class TrafficAdvisoryProducer implements TestCaseProducer {
-
- @Reference
- protected TrafficAdvisory destination;
-
- public void produceTrafficNotification(String report) {
-
- destination.trafficNotification(report);
- }
-}
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.componentType b/branches/sca-equinox/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.componentType deleted file mode 100644 index 873e200613..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.componentType +++ /dev/null @@ -1,30 +0,0 @@ -<?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.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service name="TrafficAdvisoryNotificationService">
- <interface.java interface="notification.TrafficAdvisory"/>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.java interface="notification.TrafficAdvisory"/>
- </reference>
-</componentType>
diff --git a/branches/sca-equinox/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.composite b/branches/sca-equinox/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.composite deleted file mode 100644 index bbf2281352..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/main/resources/TrafficAdvisoryNotification.composite +++ /dev/null @@ -1,50 +0,0 @@ -<?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.
--->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="TrafficAdvisoryNotificationLocalComposite">
-
- <component name="TrafficAdvisoryProducer">
- <implementation.java class="notification.TrafficAdvisoryProducer"/>
- <reference name="destination" target="TrafficAdvisoryNotificationComponent"/>
- </component>
-
- <component name="TrafficAdvisoryNotificationComponent">
- <tuscany:implementation.notification name="TrafficAdvisoryNotification"/>
- <!-- Never use > 1 reference elements here !! -->
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n"
- target="TrafficAdvisoryConsumer1 TrafficAdvisoryConsumer2"/>
- </component>
-
- <component name="TrafficAdvisoryConsumer1">
- <implementation.java class="notification.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer1</property>
- </component>
-
- <component name="TrafficAdvisoryConsumer2">
- <implementation.java class="notification.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer2</property>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/implementation-notification/src/test/java/notification/TrafficAdvisoryTestCase.java b/branches/sca-equinox/samples/implementation-notification/src/test/java/notification/TrafficAdvisoryTestCase.java deleted file mode 100644 index 719141c94b..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/test/java/notification/TrafficAdvisoryTestCase.java +++ /dev/null @@ -1,60 +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 notification;
-
-import junit.framework.TestCase;
-
-import notification.TestCaseProducer;
-
-import org.apache.tuscany.sca.host.embedded.SCADomain;
-
-public class TrafficAdvisoryTestCase extends TestCase {
-
- private SCADomain domain;
- private TestCaseProducer testCaseProducer;
-
- public void testTrafficAdvisoryNotification() throws Exception {
- try {
- testCaseProducer.produceTrafficNotification("Nothing to report today");
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-
- @Override
- protected void setUp() throws Exception {
- try {
- domain = SCADomain.newInstance("TrafficAdvisoryNotification.composite");
- testCaseProducer = domain.getService(TestCaseProducer.class, "TrafficAdvisoryProducer");
- } catch(Throwable e) {
- e.printStackTrace();
- if (e instanceof Exception) {
- throw (Exception)e;
- }
- else {
- throw new Exception(e);
- }
- }
- }
-
- @Override
- protected void tearDown() throws Exception {
- domain.close();
- }
-}
diff --git a/branches/sca-equinox/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.componentType b/branches/sca-equinox/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.componentType deleted file mode 100644 index 873e200613..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.componentType +++ /dev/null @@ -1,30 +0,0 @@ -<?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.
--->
-
-<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service name="TrafficAdvisoryNotificationService">
- <interface.java interface="notification.TrafficAdvisory"/>
- </service>
-
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n">
- <interface.java interface="notification.TrafficAdvisory"/>
- </reference>
-</componentType>
diff --git a/branches/sca-equinox/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.composite b/branches/sca-equinox/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.composite deleted file mode 100644 index bbf2281352..0000000000 --- a/branches/sca-equinox/samples/implementation-notification/src/test/resources/TrafficAdvisoryNotification.composite +++ /dev/null @@ -1,50 +0,0 @@ -<?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.
--->
-
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
- targetNamespace="http://sample"
- xmlns:sample="http://sample"
- name="TrafficAdvisoryNotificationLocalComposite">
-
- <component name="TrafficAdvisoryProducer">
- <implementation.java class="notification.TrafficAdvisoryProducer"/>
- <reference name="destination" target="TrafficAdvisoryNotificationComponent"/>
- </component>
-
- <component name="TrafficAdvisoryNotificationComponent">
- <tuscany:implementation.notification name="TrafficAdvisoryNotification"/>
- <!-- Never use > 1 reference elements here !! -->
- <reference name="TrafficAdvisoryNotificationReference"
- multiplicity="0..n"
- target="TrafficAdvisoryConsumer1 TrafficAdvisoryConsumer2"/>
- </component>
-
- <component name="TrafficAdvisoryConsumer1">
- <implementation.java class="notification.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer1</property>
- </component>
-
- <component name="TrafficAdvisoryConsumer2">
- <implementation.java class="notification.TrafficAdvisoryConsumer"/>
- <property name="name">Consumer2</property>
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/samples/pom.xml b/branches/sca-equinox/samples/pom.xml index 5176eab59f..28ed3c1048 100644 --- a/branches/sca-equinox/samples/pom.xml +++ b/branches/sca-equinox/samples/pom.xml @@ -45,13 +45,13 @@ <modules> <module>binding-echo</module> <module>binding-echo-extension</module> - <module>binding-notification-broker</module> - <module>binding-notification-consumer</module> - <module>binding-notification-producer</module> <module>calculator</module> - <module>calculator-lean</module> + <module>calculator2</module> <module>calculator-distributed</module> <module>calculator-implementation-policies</module> + <module>calculator-lean</module> + <module>calculator-osgi</module> + <module>calculator-rcp</module> <module>calculator-rmi-reference</module> <module>calculator-rmi-service</module> <module>calculator-script</module> @@ -60,44 +60,46 @@ <module>calculator-ws-webapp</module> <module>callback-ws-client</module> <module>callback-ws-service</module> - <module>chat-webapp</module> <module>customer-dojo</module> <module>databinding-echo</module> - <!--module>domain-webapp</module--> <module>domain-management</module> <module>feed-aggregator</module> <module>feed-aggregator-webapp</module> <module>helloworld-bpel</module> + <module>helloworld-bpel-ws</module> <module>helloworld-dojo-webapp</module> <module>helloworld-jms-webapp</module> <module>helloworld-jsonrpc-webapp</module> + <module>helloworld-jsp</module> <module>helloworld-reference-jms</module> <module>helloworld-service-jms</module> - <module>helloworld-ws-service</module> - <module>helloworld-ws-service-jms</module> - <module>helloworld-ws-service-secure</module> + <module>helloworld-servlet</module> + <module>helloworld-web</module> + <module>helloworld-web-callback</module> <module>helloworld-ws-reference</module> <module>helloworld-ws-reference-lean</module> <module>helloworld-ws-reference-jms</module> <module>helloworld-ws-reference-secure</module> <module>helloworld-ws-sdo</module> <module>helloworld-ws-sdo-webapp</module> + <module>helloworld-ws-service</module> + <module>helloworld-ws-service-jms</module> + <module>helloworld-ws-service-secure</module> + <module>helloworld-ws-service-webapp</module> <module>implementation-composite</module> <module>implementation-crud</module> <module>implementation-crud-extension</module> - <module>implementation-notification</module> <module>implementation-pojo-extension</module> <module>loanapplication</module> - <module>osgi-supplychain</module> <module>photo-gallery</module> <module>quote-xquery</module> <module>simple-bigbank</module> <module>simple-bigbank-spring</module> - <module>spring-bigbank-checkaccount</module> - <module>spring-bigbank-calculator</module> - <module>spring-bigbank-stockquote</module> <module>simple-callback</module> <module>simple-callback-ws</module> + <module>spring-bigbank-calculator</module> + <module>spring-bigbank-checkaccount</module> + <module>spring-bigbank-stockquote</module> <module>store</module> <module>store-distributed</module> <module>supplychain</module> diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/pom.xml b/branches/sca-equinox/samples/spi-implementation-pojo/pom.xml deleted file mode 100644 index c78d035eba..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/pom.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>sample-spi-implementation-java</artifactId> - <name>Apache Tuscany Java Implementation SPI Sample</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-extension-helper</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.2</version> - <scope>test</scope> - </dependency> - - </dependencies> - - <build> - <finalName>${artifactId}</finalName> - </build> - -</project> diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementation.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementation.java deleted file mode 100644 index 73104c3166..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementation.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - - -public class JavaImplementation { - - private String className; - - public String getClass_() { - return className; - } - - public void setClass_(String className) { - this.className = className; - } - -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementationActivator.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementationActivator.java deleted file mode 100644 index 43efae32ca..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaImplementationActivator.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.spi.ImplementationActivator; -import org.apache.tuscany.sca.spi.InvokerFactory; - -public class JavaImplementationActivator implements ImplementationActivator<JavaImplementation> { - - public Class<JavaImplementation> getImplementationClass() { - return JavaImplementation.class; - } - - public InvokerFactory createInvokerFactory(RuntimeComponent rc, ComponentType ct, JavaImplementation implementation) { - return new JavaInvokerFactory(rc, ct, implementation); - } - -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaInvoker.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaInvoker.java deleted file mode 100644 index d65d4c8e4a..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaInvoker.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 sample; - -import java.lang.reflect.Method; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.osoa.sca.ServiceRuntimeException; - -public class JavaInvoker implements Invoker { - - protected Class clazz; - protected Object instance; - protected Operation operation; - - public JavaInvoker(Class clazz, Object instance, Operation operation) { - this.clazz = clazz; - this.instance = instance; - this.operation = operation; - } - - public Message invoke(Message msg) { - try { - msg.setBody(getMethod().invoke(instance, (Object[])msg.getBody())); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - return msg; - } - - protected Method getMethod() { - for (Method method : clazz.getMethods()) { - if (method.getName().equals(operation.getName())) { - return method; - } - } - throw new ServiceRuntimeException("no method found for operation: " + operation.getName()); - } - -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaInvokerFactory.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaInvokerFactory.java deleted file mode 100644 index 198befa928..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/java/sample/JavaInvokerFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package sample; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.spi.InvokerFactory; -import org.osoa.sca.ServiceRuntimeException; - -public class JavaInvokerFactory implements InvokerFactory { - - protected Object instance; - protected Class clazz; - - public JavaInvokerFactory(RuntimeComponent rc, ComponentType ct, JavaImplementation implementation) { - try { - this.clazz = Class.forName(implementation.getClass_()); - this.instance = clazz.newInstance(); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public Invoker createInvoker(Operation operation) { - return new JavaInvoker(clazz, instance, operation); - } - -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator b/branches/sca-equinox/samples/spi-implementation-pojo/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator deleted file mode 100644 index 95ee37c1aa..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator +++ /dev/null @@ -1,18 +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.
-# Implementation class for the ExtensionActivator
-sample.JavaImplementationActivator
diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorld.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorld.java deleted file mode 100644 index cc32929f09..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorld.java +++ /dev/null @@ -1,26 +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; - -public interface HelloWorld { - - String sayHello(String name); - -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldImpl.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldImpl.java deleted file mode 100644 index 02af1ccf22..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package helloworld; - -public class HelloWorldImpl implements HelloWorld { - - public String sayHello(String name) { - return "Hello " + name; - } - -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldTestCase.java b/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldTestCase.java deleted file mode 100644 index 5813fda330..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/java/helloworld/HelloWorldTestCase.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package helloworld; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - */ -public class HelloWorldTestCase extends TestCase { - - public void testHello() throws Exception { - SCADomain scaDomain = SCADomain.newInstance("helloworld/helloworld.composite"); - HelloWorld helloworld = scaDomain.getService(HelloWorld.class, "HelloWorldComponent"); - assertEquals("Hello petra", helloworld.sayHello("petra")); - scaDomain.close(); - } -} diff --git a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/resources/helloworld/helloworld.composite b/branches/sca-equinox/samples/spi-implementation-pojo/src/test/resources/helloworld/helloworld.composite deleted file mode 100644 index fa9cecc160..0000000000 --- a/branches/sca-equinox/samples/spi-implementation-pojo/src/test/resources/helloworld/helloworld.composite +++ /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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://test/helloworld" - name="helloworld">
-
- <component name="HelloWorldComponent">
- <implementation.java class="helloworld.HelloWorldImpl" />
- </component>
-
-</composite>
diff --git a/branches/sca-equinox/tools/eclipse/features/core/.project b/branches/sca-equinox/tools/eclipse/features/core/.project deleted file mode 100644 index 762ebae4a1..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/.project +++ /dev/null @@ -1,30 +0,0 @@ -<projectDescription> - <name>org.apache.tuscany.sca.feature.core</name> - <comment>The Apache Software Foundation provides support for the Apache community of open-source software projects. - The Apache projects are characterized by a collaborative, consensus based development process, an open and - pragmatic software license, and a desire to create high quality software that leads the way in its field. - We consider ourselves not simply a group of projects sharing a server, but rather a community of developers - and users.</comment> - <projects/> - <buildSpec> - <buildCommand> - <name>org.eclipse.pde.FeatureBuilder</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.common.project.facet.core.builder</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.validation.validationbuilder</name> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.FeatureNature</nature> - <nature>org.eclipse.wst.common.project.facet.core.nature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> - <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> - </natures> -</projectDescription>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/features/core/LICENSE b/branches/sca-equinox/tools/eclipse/features/core/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/features/core/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/features/core/META-INF/MANIFEST.MF deleted file mode 100644 index 63215d7c6f..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Tools Core Feature
-Bundle-SymbolicName: org.apache.tuscany.sca.feature.core
-Bundle-Version: 1.4.0
-Bundle-Vendor: Apache Software Foundation
diff --git a/branches/sca-equinox/tools/eclipse/features/core/NOTICE b/branches/sca-equinox/tools/eclipse/features/core/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/tools/eclipse/features/core/build.properties b/branches/sca-equinox/tools/eclipse/features/core/build.properties deleted file mode 100644 index f36e15c5d3..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/build.properties +++ /dev/null @@ -1,10 +0,0 @@ -bin.includes = feature.xml,\ - NOTICE,\ - LICENSE,\ - META-INF/ -src.includes = .project,\ - LICENSE,\ - NOTICE,\ - build.properties,\ - feature.xml,\ - META-INF/ diff --git a/branches/sca-equinox/tools/eclipse/features/core/feature.xml b/branches/sca-equinox/tools/eclipse/features/core/feature.xml deleted file mode 100644 index 3a2d14a054..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/feature.xml +++ /dev/null @@ -1,72 +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. ---> -<feature - id="org.apache.tuscany.sca.feature.core" - label="Apache Tuscany SCA Tools Core Feature" - version="1.4.0" - provider-name="Apache Software Foundation"> - <install-handler handler="org.eclipse.update.core.DefaultInstallHandler"/> - - <description url="http://tuscany.apache.org"> - Apache Tuscany SCA Tools Core Feature. - </description> - - <license url="http://www.apache.org/licenses/LICENSE-2.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. - </license> - - <requires> - <import plugin="org.eclipse.ui.ide"/> - <import plugin="org.eclipse.core.resources"/> - <import plugin="org.eclipse.core.runtime"/> - <import plugin="org.eclipse.core.jobs"/> - <import plugin="org.eclipse.debug.core"/> - <import plugin="org.eclipse.debug.ui"/> - <import plugin="org.eclipse.jdt.core"/> - <import plugin="org.eclipse.jdt.debug.ui"/> - <import plugin="org.eclipse.jdt.launching"/> - <import plugin="org.eclipse.jdt.ui"/> - <import plugin="org.eclipse.jface"/> - <import plugin="org.eclipse.swt"/> - <import plugin="org.eclipse.osgi"/> - </requires> - - <plugin - id="org.apache.tuscany.sca.core" - download-size="0" - install-size="0" - version="1.4.0" - unpack="false"/> - - <data - id="runtime/apache-tuscany-sca-1.4-SNAPSHOT.jar" - download-size="0" - install-size="0"/> - - <data - id="src/apache-tuscany-sca-1.4-SNAPSHOT-src.zip" - download-size="0" - install-size="0"/> - -</feature> diff --git a/branches/sca-equinox/tools/eclipse/features/core/pom.xml b/branches/sca-equinox/tools/eclipse/features/core/pom.xml deleted file mode 100644 index 30756fe9d6..0000000000 --- a/branches/sca-equinox/tools/eclipse/features/core/pom.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-eclipse-tools</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.feature.core</artifactId> - <name>Apache Tuscany SCA Eclipse Tools Core Feature</name> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/.project b/branches/sca-equinox/tools/eclipse/plugins/core/.project deleted file mode 100644 index 6fc647ac07..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/.project +++ /dev/null @@ -1,17 +0,0 @@ -<projectDescription> - <name>org.apache.tuscany.sca.core</name> - <comment>The Apache Software Foundation provides support for the Apache community of open-source software projects. - The Apache projects are characterized by a collaborative, consensus based development process, an open and - pragmatic software license, and a desire to create high quality software that leads the way in its field. - We consider ourselves not simply a group of projects sharing a server, but rather a community of developers - and users.</comment> - <projects/> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/LICENSE b/branches/sca-equinox/tools/eclipse/plugins/core/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/META-INF/MANIFEST.MF b/branches/sca-equinox/tools/eclipse/plugins/core/META-INF/MANIFEST.MF deleted file mode 100644 index 3096b99e66..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,31 +0,0 @@ -Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Tuscany SCA Tools Core Plugin
-Bundle-SymbolicName: org.apache.tuscany.sca.core;singleton:=true
-Bundle-Version: 1.4.0
-Import-Package: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.debug.core,
- org.eclipse.debug.core.model,
- org.eclipse.debug.ui,
- org.eclipse.debug.ui.sourcelookup,
- org.eclipse.jdt.core,
- org.eclipse.jdt.debug.ui.launchConfigurations,
- org.eclipse.jdt.launching,
- org.eclipse.jdt.ui.wizards,
- org.eclipse.jface.dialogs,
- org.eclipse.jface.operation,
- org.eclipse.jface.resource,
- org.eclipse.jface.viewers,
- org.eclipse.jface.wizard,
- org.eclipse.osgi.service.datalocation;version="1.0.0",
- org.eclipse.swt,
- org.eclipse.swt.graphics,
- org.eclipse.swt.widgets,
- org.eclipse.ui,
- org.eclipse.ui.progress,
- org.osgi.framework;version="1.3.0"
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui.ide
diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/NOTICE b/branches/sca-equinox/tools/eclipse/plugins/core/NOTICE deleted file mode 100644 index 6dcfe88195..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/NOTICE +++ /dev/null @@ -1,12 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/build.properties b/branches/sca-equinox/tools/eclipse/plugins/core/build.properties deleted file mode 100644 index c402b2eb45..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/build.properties +++ /dev/null @@ -1,23 +0,0 @@ -output.. = bin/ -bin.includes = META-INF/,\ - plugin.xml,\ - xsd/,\ - icons/,\ - .,\ - LICENSE,\ - NOTICE,\ - org/ -src.includes = xsd/,\ - plugin.xml,\ - .classpath,\ - .project,\ - LICENSE,\ - META-INF/,\ - NOTICE,\ - build.properties,\ - icons/,\ - .settings/,\ - org/,\ - pom.xml -jars.compile.order = . -source.. = . diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/exsd/runtimeLibraries.exsd b/branches/sca-equinox/tools/eclipse/plugins/core/exsd/runtimeLibraries.exsd deleted file mode 100644 index 700d056838..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/exsd/runtimeLibraries.exsd +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.apache.tuscany.sca.core"> -<annotation> - <appInfo> - <meta.schema plugin="org.apache.tuscany.sca.core" id="runtimeLibraries" name="Tuscany Runtime Libraries"/> - </appInfo> - <documentation> - [Enter description of this extension point.] - </documentation> - </annotation> - - <element name="extension"> - <complexType> - <attribute name="point" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string"> - <annotation> - <documentation> - - </documentation> - <appInfo> - <meta.attribute translatable="true"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <element name="classpathContainer"> - <complexType> - <attribute name="id" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="class" type="string"> - <annotation> - <documentation> - - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn=":org.eclipse.jdt.core.IClasspathContainer"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - [Enter the first release in which this extension point appears.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - [Enter extension point usage example here.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiInfo"/> - </appInfo> - <documentation> - [Enter API information here.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - [Enter information about supplied implementation of this extension point.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="copyright"/> - </appInfo> - <documentation> - - </documentation> - </annotation> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/icons/t.gif b/branches/sca-equinox/tools/eclipse/plugins/core/icons/t.gif Binary files differdeleted file mode 100644 index ba896ced08..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/icons/t.gif +++ /dev/null diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/icons/tuscany.gif b/branches/sca-equinox/tools/eclipse/plugins/core/icons/tuscany.gif Binary files differdeleted file mode 100644 index 849dd76d4a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/icons/tuscany.gif +++ /dev/null diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java deleted file mode 100644 index 81ba746fd5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/ClasspathUtil.java +++ /dev/null @@ -1,170 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.core.classpath;
-
-import static org.apache.tuscany.sca.core.log.LogUtil.error;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-
-/**
- * Utility functions to help determine the runtime classpath.
- *
- * @version $Rev: $ $Date: $
- */
-public class ClasspathUtil {
-
- private static final String TUSCANY_RUNTIME_LIBRARIES = "org.apache.tuscany.sca.core.runtimeLibraries";
-
- private static final String TUSCANY_FEATURE = "org.apache.tuscany.sca.feature.core";
- private static final String TUSCANY_VERSION = "1.4.0";
-
- /**
- * Return the installed runtime classpath entries.
- *
- * @return
- * @throws CoreException
- */
- public static String installedRuntimeClasspath() throws CoreException {
-
- List<IClasspathEntry> classpathEntries = new ArrayList<IClasspathEntry>();
- for (IExtension extension: Platform.getExtensionRegistry().getExtensionPoint(TUSCANY_RUNTIME_LIBRARIES).getExtensions()) {
- for (IConfigurationElement configuration: extension.getConfigurationElements()) {
- IClasspathContainer container = (IClasspathContainer)configuration.createExecutableExtension("class");
- classpathEntries.addAll(Arrays.asList(container.getClasspathEntries()));
- }
- }
-
- String separator = System.getProperty("path.separator");
- StringBuffer classpath = new StringBuffer();
- for (int i = 0, n = classpathEntries.size(); i < n; i++) {
- IClasspathEntry entry = classpathEntries.get(i);
- if (i >0) {
- classpath.append(separator);
- }
- classpath.append(entry.getPath().toFile().toURI().getPath());
- }
-
- return classpath.toString();
- }
-
- /**
- * Returns the Tuscany feature location.
- *
- * @return
- */
- static IPath feature() {
- try {
- URL location = Platform.getInstallLocation().getURL();
- File feature = new File(location.getPath() + "/features/" + TUSCANY_FEATURE + "_" + TUSCANY_VERSION);
- return new Path(feature.getPath());
- } catch (Exception e) {
- error("Tuscany runtime feature not found", e);
- return null;
- }
- }
-
- /**
- * Returns the location of the runtime distribution under the Tuscany feature.
- *
- * @param feature
- * @return
- */
- static IPath runtime(IPath feature) {
- IPath runtimePath = null;
- try {
-
- // Find the Tuscany distribution under the feature's runtime directory
- // Typically runtime/distro-archive-name/un-archived-distro-dir
- File file = new File(feature.toFile(), "runtime");
- if (file.exists()) {
- File distro = null;
- for (File f: file.listFiles()) {
- if (f.getName().contains("tuscany-sca")) {
- distro = f;
- break;
- }
- }
- if (distro != null) {
- for (File f: distro.listFiles()) {
- if (f.getName().contains("tuscany-sca")) {
- runtimePath = new Path(f.getPath());
- break;
- }
- }
- if (runtimePath == null) {
- error("Tuscany runtime distribution directory not found", new FileNotFoundException(distro.getAbsolutePath()));
- }
- } else {
- error("Tuscany runtime distribution archive not found", new FileNotFoundException(file.getAbsolutePath()));
- }
- } else {
- error("Tuscany runtime feature not found", new FileNotFoundException(file.getAbsolutePath()));
- }
- } catch (Exception e) {
- error("Tuscany runtime feature not found", e);
- }
- return runtimePath;
- }
-
- /**
- * Returns the location of the src distribution under the Tuscany feature.
- *
- * @param feature
- * @return
- */
- static IPath src(IPath feature) {
- IPath sourcePath = null;
- try {
-
- // Find the Tuscany source distribution under the feature's src directory
- // Typically src/distro-archive-src.zip
- File file = new File(feature.toFile(), "src");
- if (file.exists()) {
- File distro = null;
- for (File f: file.listFiles()) {
- if (f.getName().contains("tuscany-sca") && f.getName().endsWith("-src.zip")) {
- distro = f;
- break;
- }
- }
- if (distro != null) {
- sourcePath = new Path(distro.getPath());
- }
- }
- } catch (Exception e) {
- }
- return sourcePath;
- }
-
-}
diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java deleted file mode 100644 index c1a674a46a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainer.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.classpath; - -import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.feature; -import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.runtime; -import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.src; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; - -/** - * A classpath container for the Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public class TuscanyClasspathContainer implements IClasspathContainer { - - public static final IPath TUSCANY_LIBRARY_CONTAINER = new Path("org.apache.tuscany.sca.runtime.library"); - - private static final String TUSCANY_HOME = "TUSCANY_HOME"; - private static final String TUSCANY_SRC = "TUSCANY_SRC"; - - public TuscanyClasspathContainer() { - } - - public IClasspathEntry[] getClasspathEntries() { - List<IClasspathEntry> list = new ArrayList<IClasspathEntry>(); - - // Find the Tuscany feature - IPath feature = feature(); - - // Get the runtime location from the installed Tuscany feature - IPath runtimePath = runtime(feature); - - if (runtimePath == null) { - - // Try to get the location of the Tuscany binary distribution from - // the TUSCANY_HOME property or environment variable - String home = System.getProperty(TUSCANY_HOME); - if (home == null || home.length() == 0) { - home = System.getenv(TUSCANY_HOME); - } - if (home != null && home.length() != 0) { - if (new File(home).exists()) { - runtimePath = new Path(home); - } - } - } - - // Get the source location from the installed Tuscany feature - IPath sourcePath = src(feature); - - if (sourcePath == null) { - - // Try to get the location of the Tuscany source distribution from - // the TUSCANY_SRC property or environment variable - String source = System.getProperty(TUSCANY_SRC); - if (source == null || source.length() == 0) { - source = System.getenv(TUSCANY_SRC); - } - if (source != null && source.length() != 0) { - if (new File(source).exists()) { - sourcePath = new Path(source); - } - } - } - - // Add the JARs from runtime/lib and runtime/modules as classpath entries - if (runtimePath != null) { - - // Add a selection of the jars from runtime/modules - File modulesDirectory = runtimePath.append("modules").toFile(); - if (modulesDirectory != null && modulesDirectory.exists()) { - for (File file : modulesDirectory.listFiles()) { - IPath path = new Path(file.getPath()); - String name = path.lastSegment(); - String extension = path.getFileExtension(); - - // Only include API and launcher JARs - if (!"jar".equals(extension)) { - continue; - } - if (name.indexOf("-api-") == -1 && name.indexOf("-launcher-") == -1) { - continue; - } - if (name.startsWith("tuscany-node-api-") || name.startsWith("tuscany-domain-api-")) { - continue; - } - - list.add(JavaCore.newLibraryEntry(path, sourcePath, null)); - } - } - - File libDirectory = runtimePath.append("lib").toFile(); - if (libDirectory != null && libDirectory.exists()) { - for (File file : libDirectory.listFiles()) { - IPath path = new Path(file.getPath()); - String name = path.lastSegment(); - String extension = path.getFileExtension(); - - // Only include jaxb, jaxws and jsr API JARs - if (!"jar".equals(extension)) { - continue; - } - if (name.indexOf("-api-") != -1) { - if (name.startsWith("jaxb") || name.startsWith("jaxws") || name.startsWith("jsr")) { - list.add(JavaCore.newLibraryEntry(path, sourcePath, null)); - } - } - } - } - } - - return (IClasspathEntry[])list.toArray(new IClasspathEntry[list.size()]); - } - - public String getDescription() { - return "Tuscany Library"; - } - - public int getKind() { - return IClasspathContainer.K_APPLICATION; - } - - public IPath getPath() { - return TUSCANY_LIBRARY_CONTAINER; - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java deleted file mode 100644 index c82281b243..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyClasspathContainerInitializer.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.classpath; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.ClasspathContainerInitializer; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; - -/** - * A classpath container initializer for the Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public class TuscanyClasspathContainerInitializer extends ClasspathContainerInitializer { - - @Override - public void initialize(IPath containerPath, IJavaProject project) throws CoreException { - - TuscanyClasspathContainer classpathContainer = new TuscanyClasspathContainer(); - JavaCore.setClasspathContainer(containerPath, - new IJavaProject[] {project}, - new IClasspathContainer[] {classpathContainer}, - null); - } - - @Override - public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) { - return true; - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java deleted file mode 100644 index 21f6f27a6f..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyLibraryEntryPage.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.classpath; - -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.ui.wizards.IClasspathContainerPage; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; - -/** - * A classpath container page for the Tuscany runtime library. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLibraryEntryPage extends WizardPage implements IClasspathContainerPage { - - private IClasspathEntry classpathEntry; - - public TuscanyLibraryEntryPage() { - super("Tuscany"); - } - - public void createControl(Composite parent) { - setTitle("Tuscany Library"); - - Label label = new Label(parent, SWT.NONE); - label.setText("Press Finish to add the Tuscany Library"); - label.setFont(parent.getFont()); - - setControl(label); - } - - public boolean finish() { - classpathEntry = JavaCore.newContainerEntry(TuscanyClasspathContainer.TUSCANY_LIBRARY_CONTAINER); - return true; - } - - public boolean isPageComplete() { - return true; - } - - public IClasspathEntry getSelection() { - return classpathEntry; - } - - public void setSelection(IClasspathEntry containerEntry) { - this.classpathEntry = containerEntry; - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java deleted file mode 100644 index df73402b67..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/classpath/TuscanyRuntimeClasspathContainer.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.classpath; - -import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.feature; -import static org.apache.tuscany.sca.core.classpath.ClasspathUtil.runtime; - -import java.io.File; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.jdt.core.IClasspathContainer; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.JavaCore; - -/** - * A classpath container for the Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public class TuscanyRuntimeClasspathContainer implements IClasspathContainer { - - public static final IPath TUSCANY_LIBRARY_CONTAINER = new Path("org.apache.tuscany.sca.runtime.library"); - - private static final String TUSCANY_HOME = "TUSCANY_HOME"; - - public TuscanyRuntimeClasspathContainer() { - } - - public IClasspathEntry[] getClasspathEntries() { - - // Find the Tuscany feature - IPath feature = feature(); - - // Get the runtime location from the installed Tuscany feature - IPath runtimePath = runtime(feature); - - if (runtimePath == null) { - - // Try to get the location of the Tuscany binary distribution from - // the TUSCANY_HOME property or environment variable - String home = System.getProperty(TUSCANY_HOME); - if (home == null || home.length() == 0) { - home = System.getenv(TUSCANY_HOME); - } - if (home != null && home.length() != 0) { - if (new File(home).exists()) { - runtimePath = new Path(home); - } - } - } - - if (runtimePath != null) { - return new IClasspathEntry[] {JavaCore.newLibraryEntry(runtimePath, null, null)}; - } else { - return new IClasspathEntry[0]; - } - } - - public String getDescription() { - return "Tuscany Library"; - } - - public int getKind() { - return IClasspathContainer.K_APPLICATION; - } - - public IPath getPath() { - return TUSCANY_LIBRARY_CONTAINER; - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java deleted file mode 100644 index bd255f4a15..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/DomainManagerLauncherUtil.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.launch; - -import static org.apache.tuscany.sca.core.launch.TuscanyLaunchConfigurationDelegate.TUSCANY_LAUNCH_CONFIGURATIONTYPE; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.Socket; - -import org.apache.tuscany.sca.core.classpath.ClasspathUtil; -import org.apache.tuscany.sca.core.classpath.TuscanyClasspathContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; -import org.eclipse.jdt.launching.JavaRuntime; - -/** - * Provides utility methods to launch the SCA Domain Manager. - * - * @version $Rev: $ $Date: $ - */ -public class DomainManagerLauncherUtil { - - private static final String TUSCANY_DOMAIN_LAUNCH_CONFIGURATION = "SCA Domain Manager"; - private static final String TUSCANY_SCA_DOMAIN_PROJECT = "tuscany-sca-domain"; - - private static final String PING_HEADER = - "GET /ping HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String PING_CONTENT = ""; - private static final String PING = - PING_HEADER + PING_CONTENT.getBytes().length + "\n\n" + PING_CONTENT; - - /** - * Returns the SCA domain project. - * - * @return - * @throws CoreException - */ - static IProject domainProject(IProgressMonitor progressMonitor) throws CoreException { - - IProject domainProject = ResourcesPlugin.getWorkspace().getRoot().getProject(TUSCANY_SCA_DOMAIN_PROJECT); - if (progressMonitor.isCanceled()) { - return domainProject; - } - if (!domainProject.exists()) { - progressMonitor.subTask("Creating SCA domain resources"); - - // Create SCA domain project if necessary - domainProject.create(new SubProgressMonitor(progressMonitor, 5)); - domainProject.open(new SubProgressMonitor(progressMonitor, 5)); - - String html = "<html>\n" + - "<head>\n" + - "<meta http-equiv=\"refresh\" content=\"0;url=http://localhost:9990/ui/home\">\n" + - "</head>\n" + - "<body>\n" + - "<a href=\"http://localhost:9990/ui/home\">SCA Domain</a>\n" + - "</body>\n" + - "</html>"; - - IFile file = domainProject.getFile(new Path("domain.html")); - file.create(new ByteArrayInputStream(html.getBytes()), true, new SubProgressMonitor(progressMonitor, 5)); - - IProjectDescription description = domainProject.getDescription(); - String[] prevNatures= description.getNatureIds(); - String[] newNatures= new String[prevNatures.length + 1]; - System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length); - newNatures[prevNatures.length]= JavaCore.NATURE_ID; - description.setNatureIds(newNatures); - domainProject.setDescription(description, new SubProgressMonitor(progressMonitor, 5)); - - IJavaProject javaProject = JavaCore.create(domainProject); - javaProject.setOutputLocation(domainProject.getFullPath(), new SubProgressMonitor(progressMonitor, 5)); - - IClasspathEntry classPath = JavaCore.newContainerEntry(TuscanyClasspathContainer.TUSCANY_LIBRARY_CONTAINER); - IClasspathEntry jrePath = JavaRuntime.getDefaultJREContainerEntry(); - javaProject.setRawClasspath(new IClasspathEntry[] {jrePath, classPath}, new SubProgressMonitor(progressMonitor, 5)); - - } else { - domainProject.open(new SubProgressMonitor(progressMonitor, 5)); - } - - return domainProject; - } - - /** - * Returns true if the SCA domain controller is running. - * - * @return - */ - private static boolean isDomainManagerRunning() { - try { - Socket client = new Socket("localhost", 9990); - OutputStream os = client.getOutputStream(); - os.write(DomainManagerLauncherUtil.PING.getBytes()); - os.flush(); - String response = DomainManagerLauncherUtil.read(client); - if (response.indexOf("<span id=\"ping\">") != -1) { - return true; - } else { - return false; - } - } catch (IOException e) { - return false; - } - } - - /** - * Wait for domain to be running. - * - * @return - */ - private static boolean waitForDomainManager(IProgressMonitor progressMonitor) throws InterruptedException { - progressMonitor.subTask("Contacting SCA domain manager"); - for (int i = 0; i < 40; i++) { - if (progressMonitor.isCanceled()) { - return false; - } - if (isDomainManagerRunning()) { - return true; - } - Thread.sleep(500); - } - return false; - } - - static void launchDomainManager(IProgressMonitor progressMonitor) throws JavaModelException, CoreException, InterruptedException { - - progressMonitor.beginTask("Starting SCA Domain Manager", 100); - - // If the SCA domain controller is not running yet, launch it - if (!isDomainManagerRunning()) { - - progressMonitor.subTask("Starting SCA domain manager"); - if (progressMonitor.isCanceled()) { - return; - } - - // Get the SCA domain project - IProject domainProject = domainProject(progressMonitor); - - // Get the domain manager launch configuration - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType launchConfigurationType =launchManager.getLaunchConfigurationType(TUSCANY_LAUNCH_CONFIGURATIONTYPE); - ILaunchConfiguration configuration = null; - for (ILaunchConfiguration c : launchManager.getLaunchConfigurations(launchConfigurationType)) { - if (TUSCANY_DOMAIN_LAUNCH_CONFIGURATION.equals(c.getName())) { - configuration = c; - break; - } - } - - if (configuration == null) { - progressMonitor.worked(10); - if (progressMonitor.isCanceled()) { - return; - } - - // Create a new launch configuration - ILaunchConfigurationWorkingCopy newConfiguration = launchConfigurationType.newInstance(null, TUSCANY_DOMAIN_LAUNCH_CONFIGURATION); - - // Set the project and type to launch - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, domainProject.getProject().getName()); - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.tuscany.sca.node.launcher.DomainManagerLauncher"); - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, domainProject.getLocation().toString()); - - // Pass the runtime classpath as a system property - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "\"-DTUSCANY_PATH=" + ClasspathUtil.installedRuntimeClasspath() + "\""); - - // Save the configuration - newConfiguration.doSave(); - - configuration = newConfiguration; - } - - // Launch - configuration.launch(ILaunchManager.RUN_MODE, new SubProgressMonitor(progressMonitor, 20)); - - if (progressMonitor.isCanceled()) { - return; - } - if (!waitForDomainManager(progressMonitor)) { - throw new RuntimeException("SCA Domain Manager could not be started."); - } - } - if (progressMonitor.isCanceled()) { - return; - } - progressMonitor.done(); - - } - - /** - * Read a String from a socket. - * - * @param socket - * @return - * @throws IOException - */ - static String read(Socket socket) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java deleted file mode 100644 index c9b96c7031..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/NodeLauncherUtil.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.launch; - -import static org.apache.tuscany.sca.core.launch.DomainManagerLauncherUtil.domainProject; -import static org.apache.tuscany.sca.core.launch.DomainManagerLauncherUtil.launchDomainManager; -import static org.apache.tuscany.sca.core.launch.TuscanyLaunchConfigurationDelegate.TUSCANY_LAUNCH_CONFIGURATIONTYPE; - -import java.io.IOException; -import java.io.OutputStream; -import java.net.MalformedURLException; -import java.net.Socket; - -import org.apache.tuscany.sca.core.classpath.ClasspathUtil; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants; - -/** - * Provides utility methods to launch SCA nodes. - * - * @version $Rev: $ $Date: $ - */ -public class NodeLauncherUtil { - - private static final String START_HEADER1 = - "GET /quickstart?"; - private static final String START_HEADER2 = - " HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String START_CONTENT = ""; - - /** - * Launch an SCA node. - * - * @param mode - * @param file - * @param launchManager - * @param launchConfigurationType - * @throws CoreException - * @throws JavaModelException - */ - static void launchNode(String mode, - IFile file, - IProgressMonitor progressMonitor) throws CoreException, JavaModelException, IOException, InterruptedException { - progressMonitor.subTask("Starting SCA node"); - if (progressMonitor.isCanceled()) { - return; - } - - // First start the SCA domain manager - launchDomainManager(new SubProgressMonitor(progressMonitor, 20)); - - // Get the Java project - IJavaProject javaProject = JavaCore.create(file.getProject()); - - // Get the contribution location and URI - String contributionLocation = contributionLocation(javaProject); - String contributionURI = contributionURI(javaProject); - - // Determine the composite file URI - String compositeURI = compositeURI(javaProject, file); - - // Configure the node - String nodeName = configureNode(contributionURI, contributionLocation, compositeURI, progressMonitor); - - // Get the node launch configuration - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType launchConfigurationType =launchManager.getLaunchConfigurationType(TUSCANY_LAUNCH_CONFIGURATIONTYPE); - ILaunchConfiguration configuration = null; - for (ILaunchConfiguration c : launchManager.getLaunchConfigurations(launchConfigurationType)) { - if (file.getFullPath().toString().equals(c.getAttribute("COMPOSITE_PATH", ""))) { - configuration = c; - break; - } - } - - if (configuration == null) { - progressMonitor.worked(10); - if (progressMonitor.isCanceled()) { - return; - } - - // Create a new launch configuration - ILaunchConfigurationWorkingCopy newConfiguration = launchConfigurationType.newInstance(null, - launchManager.generateUniqueLaunchConfigurationNameFrom(file.getName())); - - // Set the project and type to launch - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, file.getProject().getName()); - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.tuscany.sca.node.launcher.NodeLauncher"); - - // Pass the URL of the node install image to the launcher - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, - "http://localhost:9990/node-config/" + nodeName); - - // Save the composite path in the launch configuration - newConfiguration.setAttribute("COMPOSITE_PATH", file.getFullPath().toString()); - - // Pass the runtime classpath as a system property - newConfiguration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "\"-DTUSCANY_PATH=" + ClasspathUtil.installedRuntimeClasspath() + "\""); - - // Save the configuration - newConfiguration.doSave(); - - configuration = newConfiguration; - } - - // Launch - configuration.launch(mode, null); - } - - /** - * Returns the location of the SCA contribution representing a Java project. - * @param javaProject - * @return - * @throws MalformedURLException - * @throws JavaModelException - */ - private static String contributionLocation(IJavaProject javaProject) throws MalformedURLException, JavaModelException { - IPath location = javaProject.getOutputLocation(); - IResource resource; - if (location.segmentCount() == 1) { - resource = javaProject.getProject(); - } else { - resource = javaProject.getProject().getWorkspace().getRoot().getFolder(location); - } - location = resource.getLocation(); - String url = location.toFile().toURI().toURL().toString(); - if (url.endsWith("/")) { - url = url.substring(0, url.length() - 1); - } - return url; - } - - /** - * Returns the URI of the SCA contribution representing a Java project. - * @param javaProject - * @return - */ - private static String contributionURI(IJavaProject javaProject) { - return javaProject.getProject().getName(); - } - - /** - * Returns the SCA artifact URI of a composite file inside a Java project. - * - * @param javaProject - * @param file - * @return - * @throws JavaModelException - */ - private static String compositeURI(IJavaProject javaProject, IFile file) throws JavaModelException { - - // Find the Java source container containing the specified file - IClasspathEntry[] classpathEntries = javaProject.getRawClasspath(); - int sourceFolderSegments = 0; - for (IClasspathEntry entry : classpathEntries) { - if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { - sourceFolderSegments = entry.getPath().matchingFirstSegments(file.getFullPath()); - if (sourceFolderSegments > 0) - break; - } - } - - // Determine the composite URI - String compositeURI = file.getFullPath().removeFirstSegments(sourceFolderSegments).toString(); - return compositeURI; - } - - /** - * Send a request to the SCA domain manager to configure an SCA node for - * the specified composite. - * - * @param contributionURI - * @param contributionLocation - * @param compositeURI - * @return - * @throws IOException - */ - private static String configureNode(String contributionURI, String contributionLocation, String compositeURI, - IProgressMonitor progressMonitor) throws IOException, CoreException { - progressMonitor.subTask("Configuring node"); - - // Send the request to configure the node - Socket client = new Socket("localhost", 9990); - OutputStream os = client.getOutputStream(); - String request = START_HEADER1 + - "contribution=" + contributionURI + "&location=" + contributionLocation + "&composite=" + compositeURI + - START_HEADER2 + START_CONTENT.getBytes().length + "\n\n" + START_CONTENT; - os.write(request.getBytes()); - os.flush(); - String response = DomainManagerLauncherUtil.read(client); - - // Refresh the domain project - domainProject(progressMonitor).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); - - int i = response.indexOf("<span id=\"node\">"); - if (i != -1) { - - // Extract the node name - response = response.substring(i + 16); - i = response.indexOf("</span>"); - String nodeName = response.substring(0, i); - return nodeName; - - } else { - throw new RuntimeException("Node could not be configured: " + response); - } - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java deleted file mode 100644 index ddcfb66b63..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationDelegate.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.launch; - -import java.io.File; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.model.ILaunchConfigurationDelegate; -import org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate; -import org.eclipse.jdt.launching.ExecutionArguments; -import org.eclipse.jdt.launching.IVMInstall; -import org.eclipse.jdt.launching.IVMRunner; -import org.eclipse.jdt.launching.VMRunnerConfiguration; - -/** - * Launch configuration delegate for the Tuscany launch configuration. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate implements - ILaunchConfigurationDelegate { - - public static final String TUSCANY_LAUNCH_CONFIGURATIONTYPE = "org.apache.tuscany.sca.core.launch.configurationtype"; - - public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) - throws CoreException { - - // Verify the configuration - String mainTypeName = verifyMainTypeName(configuration); - IVMInstall vm = verifyVMInstall(configuration); - IVMRunner runner = vm.getVMRunner(mode); - - ExecutionArguments execArgs = - new ExecutionArguments(getVMArguments(configuration), getProgramArguments(configuration)); - Map vmAttributesMap = getVMSpecificAttributesMap(configuration); - String[] classpath = getClasspath(configuration); - - File workingDir = verifyWorkingDirectory(configuration); - String workingDirName = null; - if (workingDir != null) - workingDirName = workingDir.getAbsolutePath(); - - // Create a VM runner configuration - VMRunnerConfiguration runConfig = new VMRunnerConfiguration(mainTypeName, classpath); - runConfig.setProgramArguments(execArgs.getProgramArgumentsArray()); - runConfig.setVMArguments(execArgs.getVMArgumentsArray()); - runConfig.setVMSpecificAttributesMap(vmAttributesMap); - runConfig.setWorkingDirectory(workingDirName); - runConfig.setBootClassPath(getBootpath(configuration)); - - // Run!! - runner.run(runConfig, launch, monitor); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java deleted file mode 100644 index 738fe2638e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchConfigurationTabGroup.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.launch; - -import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; -import org.eclipse.debug.ui.CommonTab; -import org.eclipse.debug.ui.EnvironmentTab; -import org.eclipse.debug.ui.ILaunchConfigurationDialog; -import org.eclipse.debug.ui.ILaunchConfigurationTab; -import org.eclipse.debug.ui.ILaunchConfigurationTabGroup; -import org.eclipse.debug.ui.sourcelookup.SourceLookupTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaArgumentsTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab; -import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab; - -/** - * Tab groups from the Tuscany launch configuration. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup implements - ILaunchConfigurationTabGroup { - - public void createTabs(ILaunchConfigurationDialog dialog, String mode) { - ILaunchConfigurationTab[] tabs = - new ILaunchConfigurationTab[] {new JavaArgumentsTab(), new JavaJRETab(), new JavaClasspathTab(), - new SourceLookupTab(), new EnvironmentTab(), new CommonTab()}; - - setTabs(tabs); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchDomainManagerAction.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchDomainManagerAction.java deleted file mode 100644 index 895cde6922..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchDomainManagerAction.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.core.launch; - -import static org.apache.tuscany.sca.core.launch.DomainManagerLauncherUtil.launchDomainManager; -import static org.apache.tuscany.sca.core.log.LogUtil.error; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.IWorkbenchWindowActionDelegate; - -/** - * Launch the SCA DomainManager. - * - * @version $Rev: $ $Date: $ - */ -public class TuscanyLaunchDomainManagerAction implements IWorkbenchWindowActionDelegate { - - private IWorkbenchWindow window; - - public TuscanyLaunchDomainManagerAction() { - } - - public void run(IAction action) { - - try { - - // Run with a progress monitor - window.run(true, true, new IRunnableWithProgress() { - - public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException { - try { - - launchDomainManager(progressMonitor); - - } catch (Exception e) { - throw new InvocationTargetException(e); - } finally { - progressMonitor.done(); - } - } - }); - - } catch (Exception e) { - error("Could not launch SCA Domain Manager", e); - } - } - - public void selectionChanged(IAction action, ISelection selection) { - } - - public void dispose() { - } - - public void init(IWorkbenchWindow window) { - this.window = window; - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeFilter.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeFilter.java deleted file mode 100644 index c5aeefb891..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeFilter.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 org.apache.tuscany.sca.core.launch; - -/** - * TuscanyLaunchNodeFilter - * - * @version $Rev: $ $Date: $ - */ -public class TuscanyLaunchNodeFilter { - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeShortcut.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeShortcut.java deleted file mode 100644 index 94ab29ce9a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/launch/TuscanyLaunchNodeShortcut.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.launch; - -import static org.apache.tuscany.sca.core.launch.NodeLauncherUtil.launchNode; -import static org.apache.tuscany.sca.core.log.LogUtil.error; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.ui.ILaunchShortcut; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.PlatformUI; - -/** - * A launch shortcut for SCA .composite files. - * - * @version $Rev$ $Date$ - */ -public class TuscanyLaunchNodeShortcut implements ILaunchShortcut { - - public void launch(final ISelection selection, final String mode) { - - try { - - // Make sure we have a .composite file selected - if (!(selection instanceof IStructuredSelection)) { - return; - } - Object[] selections = ((IStructuredSelection)selection).toArray(); - if (selections.length == 0) { - return; - } - final IFile file = (IFile)selections[0]; - if (!file.getFileExtension().equals("composite")) { - return; - } - - // Run with a progress monitor - PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, new IRunnableWithProgress() { - - public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException { - try { - progressMonitor.beginTask("Starting SCA Composite", 100); - - launchNode(mode, file, progressMonitor); - - progressMonitor.done(); - - } catch (Exception e) { - throw new InvocationTargetException(e); - } finally { - progressMonitor.done(); - } - } - }); - - } catch (Exception e) { - error("Could not launch SCA composite", e); - } - } - - public void launch(IEditorPart editor, String mode) { - //TODO later... - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/log/LogUtil.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/log/LogUtil.java deleted file mode 100644 index 3bbdc81dde..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/log/LogUtil.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.log; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; - -/** - * A log utility - * - * @version $Rev: $ $Date: $ - */ -public class LogUtil { - - public static void error(String msg, Exception e) { - Platform.getLog( - Platform.getBundle("org.apache.tuscany.sca.core")).log( - new Status(IStatus.ERROR, "org.apache.tuscany.sca.core", IStatus.OK, msg, e)); - } - -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java deleted file mode 100644 index 09b800fe1b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizard.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.newwizards; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWizard; - -/** - * A wizard to create new .componentType files. - * - * @version $Rev$ $Date$ - */ -public class NewComponentTypeWizard extends Wizard implements IWorkbenchWizard { - - private IWorkbench workbench; - private IStructuredSelection selection; - private NewComponentTypeWizardPage mainPage; - - public void init(IWorkbench workbench, IStructuredSelection selection) { - this.workbench = workbench; - this.selection = selection; - setWindowTitle("New SCA ComponentType"); - } - - public void addPages() { - mainPage = new NewComponentTypeWizardPage(workbench, selection); - addPage(mainPage); - } - - @Override - public boolean performFinish() { - return mainPage.finish(); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java deleted file mode 100644 index 53b9607159..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewComponentTypeWizardPage.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.newwizards; - -import static org.apache.tuscany.sca.core.log.LogUtil.error; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintWriter; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.dialogs.WizardNewFileCreationPage; -import org.eclipse.ui.ide.IDE; - -/** - * Wizard page for the new .componentType file wizard. - * - * @version $Rev$ $Date$ - */ -public class NewComponentTypeWizardPage extends WizardNewFileCreationPage { - - private IWorkbench workbench; - - public NewComponentTypeWizardPage(IWorkbench workbench, IStructuredSelection selection) { - super("New SCA ComponentType Page", selection); - - this.workbench = workbench; - - setTitle("SCA ComponentType"); - setDescription("Create a new SCA ComponentType."); - - try { - String location = FileLocator.toFileURL(Platform.getBundle("org.apache.tuscany.sca.core").getEntry("/")).getFile().toString(); - setImageDescriptor(ImageDescriptor.createFromImageData((new ImageLoader()).load(location + "/icons/tuscany.gif")[0])); - } catch (Exception e) { - error("Could not create wizard", e); - } - - setFileName("sample.componentType"); - - } - - public boolean finish() { - try { - IFile file = createNewFile(); - - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); - IDE.openEditor(workbenchPage, file, true); - } catch (Exception e) { - error("Could not open editor", e); - return false; - } - return true; - } - - @Override - protected InputStream getInitialContents() { - - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - PrintWriter printWriter = new PrintWriter(outputStream); - printWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - printWriter.println("<componentType xmlns=\"http://www.osoa.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:t=\"http://tuscany.apache.org/xmlns/sca/1.0\">"); - printWriter.println(); - printWriter.println(); - printWriter.println("</componentType>"); - printWriter.close(); - - return new ByteArrayInputStream(outputStream.toByteArray()); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java deleted file mode 100644 index f07f0b643c..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizard.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.newwizards; - -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWizard; - -/** - * A wizard to create new .composite files. - * - * @version $Rev$ $Date$ - */ -public class NewCompositeWizard extends Wizard implements IWorkbenchWizard { - - private IWorkbench workbench; - private IStructuredSelection selection; - private NewCompositeWizardPage mainPage; - - public void init(IWorkbench workbench, IStructuredSelection selection) { - this.workbench = workbench; - this.selection = selection; - setWindowTitle("New SCA Composite"); - } - - public void addPages() { - mainPage = new NewCompositeWizardPage(workbench, selection); - addPage(mainPage); - } - - @Override - public boolean performFinish() { - return mainPage.finish(); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java b/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java deleted file mode 100644 index bbca96196d..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/org/apache/tuscany/sca/core/newwizards/NewCompositeWizardPage.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.core.newwizards; - -import static org.apache.tuscany.sca.core.log.LogUtil.error; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintWriter; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.dialogs.WizardNewFileCreationPage; -import org.eclipse.ui.ide.IDE; - -/** - * Wizard page for the new .composite file wizard. - * - * @version $Rev$ $Date$ - */ -public class NewCompositeWizardPage extends WizardNewFileCreationPage { - - private IWorkbench workbench; - - public NewCompositeWizardPage(IWorkbench workbench, IStructuredSelection selection) { - super("New SCA Composite Page", selection); - - this.workbench = workbench; - - setTitle("SCA Composite"); - setDescription("Create a new SCA Composite."); - - try { - String location = FileLocator.toFileURL(Platform.getBundle("org.apache.tuscany.sca.core").getEntry("/")).getFile().toString(); - setImageDescriptor(ImageDescriptor.createFromImageData((new ImageLoader()).load(location + "/icons/tuscany.gif")[0])); - } catch (Exception e) { - error("Could not create wizard", e); - } - - setFileName("sample.composite"); - - } - - public boolean finish() { - try { - IFile file = createNewFile(); - - IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); - IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); - IDE.openEditor(workbenchPage, file, true); - } catch (Exception e) { - error("Could not open editor", e); - return false; - } - return true; - } - - @Override - protected InputStream getInitialContents() { - - IPath path = new Path(getFileName()); - String name = path.removeFileExtension().toString(); - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - PrintWriter printWriter = new PrintWriter(outputStream); - printWriter.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); - printWriter.println("<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:t=\"http://tuscany.apache.org/xmlns/sca/1.0\""); - printWriter.println(" xmlns:c=\"http://" + name + "\""); - printWriter.println(" targetNamespace=\"http://" + name + "\""); - printWriter.println(" name=\"" + name + "\">"); - printWriter.println(); - printWriter.println(); - printWriter.println("</composite>"); - printWriter.close(); - - return new ByteArrayInputStream(outputStream.toByteArray()); - } -} diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/plugin.xml b/branches/sca-equinox/tools/eclipse/plugins/core/plugin.xml deleted file mode 100644 index 97c1d86623..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/plugin.xml +++ /dev/null @@ -1,149 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.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. ---> -<plugin> - - <extension-point id="runtimeLibraries" - name="Tuscany Runtime Libraries" - schema="exsd/runtimeLibraries.exsd"/> - - <extension point = "org.eclipse.wst.xml.core.catalogContributions"> - <catalogContribution id="default"> - <uri name="http://www.osoa.org/xmlns/sca/1.0" uri="xsd/sca-all.xsd"/> - </catalogContribution> - </extension> - - <extension point = "org.eclipse.wst.xml.core.catalogContributions"> - <catalogContribution id="default"> - <uri name="http://tuscany.apache.org/xmlns/sca/1.0" uri="xsd/tuscany-sca.xsd"/> - </catalogContribution> - </extension> - - <extension point="org.eclipse.core.runtime.contentTypes"> - <file-association content-type="org.eclipse.core.runtime.xml" file-extensions="composite"/> - <file-association content-type="org.eclipse.core.runtime.xml" file-extensions="componentType"/> - </extension> - - <extension - point="org.apache.tuscany.sca.core.runtimeLibraries"> - <classpathContainer - id="org.apache.tuscany.sca.runtime.library" - class="org.apache.tuscany.sca.core.classpath.TuscanyRuntimeClasspathContainer"/> - </extension> - - <extension point="org.eclipse.jdt.core.classpathContainerInitializer"> - <classpathContainerInitializer - id="org.apache.tuscany.sca.runtime.library" - class="org.apache.tuscany.sca.core.classpath.TuscanyClasspathContainerInitializer"/> - </extension> - - <extension point="org.eclipse.jdt.ui.classpathContainerPage"> - <classpathContainerPage - id="org.apache.tuscany.sca.runtime.library" - name="Tuscany Library" - class="org.apache.tuscany.sca.core.classpath.TuscanyLibraryEntryPage"> - </classpathContainerPage> - </extension> - - <extension - point="org.eclipse.ui.actionSets"> - <actionSet - label="Tuscany" - visible="true" - id="org.apache.tuscany.sca.core.launch.actionSet"> - <action - label="&Start SCA Domain Manager" - icon="icons/t.gif" - class="org.apache.tuscany.sca.core.launch.TuscanyLaunchDomainManagerAction" - tooltip="Start SCA Domain Manager" - toolbarPath="tuscanyGroup" - id="org.apache.tuscany.sca.core.launch.TuscanyLaunchDomainManagerAction"> - </action> - </actionSet> - </extension> - - <extension point="org.eclipse.debug.core.launchConfigurationTypes"> - <launchConfigurationType - name="Tuscany" - delegate="org.apache.tuscany.sca.core.launch.TuscanyLaunchConfigurationDelegate" - modes="run, debug" - sourceLocatorId="org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector" - sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer" - id="org.apache.tuscany.sca.core.launch.configurationtype"> - </launchConfigurationType> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"> - <launchConfigurationTypeImage - icon="icons/t.gif" - configTypeID="org.apache.tuscany.sca.core.launch.configurationtype" - id="org.apache.tuscany.sca.core.launch.configurationtypeimage"> - </launchConfigurationTypeImage> - </extension> - - <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"> - <launchConfigurationTabGroup - type="org.apache.tuscany.sca.core.launch.configurationtype" - class="org.apache.tuscany.sca.core.launch.TuscanyLaunchConfigurationTabGroup" - id="org.apache.tuscany.sca.core.launch.configurationtypetabgroup"> - </launchConfigurationTabGroup> - </extension> - - <extension point="org.eclipse.debug.ui.launchShortcuts"> - <shortcut - id="org.apache.tuscany.sca.core.launchshortcut" - class="org.apache.tuscany.sca.core.launch.TuscanyLaunchNodeShortcut" - label="Tuscany" - icon="icons/t.gif" - modes="run, debug"> - <contextualLaunch> - <enablement> - <with variable="selection"> - <count value="1"/> - <iterate> - <or> - <test property="org.eclipse.debug.ui.matchesPattern" value="*.composite"/> - </or> - </iterate> - </with> - </enablement> - </contextualLaunch> - </shortcut> - </extension> - - <extension point="org.eclipse.ui.newWizards"> - <category name="Tuscany" id="org.apache.tuscany.sca.core.newwizards" /> - <wizard name="Composite" icon="icons/t.gif" - category="org.apache.tuscany.sca.core.newwizards" - class="org.apache.tuscany.sca.core.newwizards.NewCompositeWizard" - preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective" - id="org.apache.tuscany.sca.core.newwizards.newcompositewizard"> - <description>Create a new SCA Composite</description> - </wizard> - <wizard name="ComponentType" icon="icons/t.gif" - category="org.apache.tuscany.sca.core.newwizards" - class="org.apache.tuscany.sca.core.newwizards.NewComponentTypeWizard" - preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective" - id="org.apache.tuscany.sca.core.newwizards.newcompositewizard"> - <description>Create a new SCA ComponentType</description> - </wizard> - </extension> - -</plugin> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/pom.xml b/branches/sca-equinox/tools/eclipse/plugins/core/pom.xml deleted file mode 100644 index 9ae1fd1e1f..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-eclipse-tools</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.core</artifactId> - <name>Apache Tuscany SCA Eclipse Tools Core Plugin</name> - - <dependencies> - <dependency> - <groupId>org.eclipse.jdt.debug</groupId> - <artifactId>ui</artifactId> - <version>3.2.100-v20070531-1800</version> - <!-- - Exclude org.eclipse.equinox:app to avoid maven bug/bad equinox version scheme. i.e.: - - Couldn't find a version in [1.0.0-v20070606] to match range [1.0.0,2.0.0) - org.eclipse.equinox:app:jar:null - --> - <exclusions> - <exclusion> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.eclipse.swt.win32.win32</groupId> - <artifactId>x86</artifactId> - <version>3.3.0-v3346</version> - </dependency> - <!-- - Now include org.eclipse.equinox:app explicitly - --> - <dependency> - <groupId>org.eclipse.equinox</groupId> - <artifactId>app</artifactId> - <version>1.0.0-v20070606</version> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}</sourceDirectory> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/*.java</exclude> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - </build> - - <repositories> - <repository> - <id>repo1.eclipse</id> - <url>http://repo1.maven.org/eclipse/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-all.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-all.xsd deleted file mode 100644 index 1b19ede427..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-all.xsd +++ /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. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"> - - <include schemaLocation="sca.xsd"/> - - <include schemaLocation="sca-contribution.xsd"/> - - <include schemaLocation="sca-binding-ejb.xsd"/> - - <include schemaLocation="sca-implementation-bpel.xsd"/> - <include schemaLocation="sca-implementation-spring.xsd"/> - <include schemaLocation="sca-implementation-ejb.xsd"/> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd deleted file mode 100644 index 26bedfcce5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-ejb.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - <include schemaLocation="sca-core.xsd"/> - - <element name="binding.ejb" type="sca:EJBSessionBeanBinding" - substitutionGroup="sca:binding" /> - - <simpleType name="BeanType"> - <restriction base="string"> - <enumeration value="stateless"/> - <enumeration value="stateful"/> - </restriction> - </simpleType> - - <simpleType name="VersionValue"> - <restriction base="string"> - <enumeration value="EJB2"/> - <enumeration value="EJB3"/> - </restriction> - </simpleType> - - - <complexType name="EJBSessionBeanBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="homeInterface" type="NCName" use="optional"/> - <attribute name="ejb-link-name" type="NCName" use="optional"/> - <attribute name="session-type" type="sca:BeanType" use="optional" default="stateless"/> - <attribute name="ejb-version" type="sca:VersionValue" use="optional" default="EJB2"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd deleted file mode 100644 index 850f32b56a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-jms.xsd +++ /dev/null @@ -1,135 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <complexType name="JMSBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <element name="destination" type="sca:Destination" minOccurs="0"/> - <element name="connectionFactory" type="sca:ConnectionFactory" - minOccurs="0"/> - <element name="activationSpec" type="sca:ActivationSpec" - minOccurs="0"/> - <element name="response" type="sca:Response" minOccurs="0"/> - <element name="headers" type="sca:Headers" minOccurs="0"/> - <element name="resourceAdapter" type="sca:ResourceAdapter" - minOccurs="0"/> - <element name="operationProperties" type="sca:OperationProperties" - minOccurs="0" maxOccurs="unbounded"/> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="correlationScheme" - default="RequestMsgIDToCorrelID"> - <simpleType> - <restriction base="string"> - <enumeration value="RequestMsgIDToCorrelID"/> - <enumeration value="RequestCorrelIDToCorrelID"/> - <enumeration value="None"/> - </restriction> - </simpleType> - </attribute> - - <attribute name="initialContextFactory" type="anyURI"/> - <attribute name="jndiURL" type="anyURI"/> - <attribute name="requestConnection" type="QName"/> - <attribute name="responseConnection" type="QName"/> - <attribute name="operationProperties" type="QName"/> - <anyAttribute/> - </extension> - </complexContent> - </complexType> - - <simpleType name="CreateResource"> - <restriction base="string"> - <enumeration value="always"/> - <enumeration value="never"/> - <enumeration value="ifnotexist"/> - </restriction> - </simpleType> - - <complexType name="Destination"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="anyURI" use="required"/> - <attribute name="type" use="optional" default="queue"> - <simpleType> - <restriction base="string"> - <enumeration value="queue"/> - <enumeration value="topic"/> - </restriction> - </simpleType> - </attribute> - <attribute name="create" type="sca:CreateResource" - use="optional" default="ifnotexist"/> - </complexType> - - <complexType name="ConnectionFactory"> - <sequence> <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="anyURI" use="required"/> - <attribute name="create" type="sca:CreateResource" - use="optional" default="ifnotexist"/> - </complexType> - - <complexType name="ActivationSpec"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="anyURI" use="required"/> - <attribute name="create" type="sca:CreateResource" - use="optional" default="ifnotexist"/> - </complexType> - - <complexType name="Response"> - <sequence> - <element name="destination" type="sca:Destination" minOccurs="0"/> - <element name="connectionFactory" type="sca:ConnectionFactory" - minOccurs="0"/> - <element name="activationSpec" type="sca:ActivationSpec" minOccurs="0"/> - </sequence> - </complexType> - - <complexType name="Headers"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="JMSType" type="string"/> - <attribute name="JMSCorrelationID" type="string"/> - <attribute name="JMSDeliveryMode" type="string"/> - <attribute name="JMSTimeToLive" type="int"/> - <attribute name="JMSPriority" type="string"/> - </complexType> - - <complexType name="ResourceAdapter"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="string" use="required"/> - </complexType> - - <complexType name="OperationProperties"> - <sequence> - <element name="property" type="string" - minOccurs="0" maxOccurs="unbounded"/> - <element name="headers" type="sca:Headers"/> - </sequence> - <attribute name="name" type="string" use="required"/> - <attribute name="nativeOperation" type="string"/> - </complexType> - - <element name="binding.jms" type="sca:JMSBinding" - substitutionGroup="sca:binding"/> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd deleted file mode 100644 index 02703402ef..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-sca.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
- elementFormDefault="qualified">
-
- <include schemaLocation="sca-core.xsd"/>
-
- <element name="binding.sca" type="sca:SCABinding"
- substitutionGroup="sca:binding"/>
- <complexType name="SCABinding">
- <complexContent>
- <extension base="sca:Binding">
- <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence>
- <anyAttribute namespace="##any" processContents="lax"/>
- </extension>
- </complexContent>
- </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd deleted file mode 100644 index 3e92de193b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-binding-webservice.xsd +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance" - xmlns:wsa="http://www.w3.org/2004/12/addressing" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="binding.ws" type="sca:WebServiceBinding" - substitutionGroup="sca:binding"/> - <complexType name="WebServiceBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="wsdlElement" type="anyURI" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-contribution.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-contribution.xsd deleted file mode 100644 index c7f92f6c3b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-contribution.xsd +++ /dev/null @@ -1,38 +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://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="contribution" type="sca:Contribution"/> - - <complexType name="Contribution"> - <sequence> - <choice minOccurs="0" maxOccurs="unbounded"> - <any namespace="##any" processContents="lax"/> - </choice> - </sequence> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-core.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-core.xsd deleted file mode 100644 index 1c6291792b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-core.xsd +++ /dev/null @@ -1,350 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <element name="componentType" type="sca:ComponentType"/> - <complexType name="ComponentType"> - <sequence> - <choice minOccurs="0" maxOccurs="1"> - <element ref="sca:implementation"/> - <any namespace="##other" processContents="lax"/> - </choice> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="service" type="sca:ComponentService" /> - <element name="reference" type="sca:ComponentReference"/> - <element name="property" type="sca:Property"/> - </choice> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="constrainingType" type="QName" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="composite" type="sca:Composite"/> - <complexType name="Composite"> - <sequence> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="include" type="sca:Include"/> - <element name="service" type="sca:Service"/> - <element name="property" type="sca:Property"/> - <element name="component" type="sca:Component"/> - <element name="reference" type="sca:Reference"/> - <element name="wire" type="sca:Wire"/> - <any namespace="##other" processContents="lax"/> - </choice> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="targetNamespace" type="anyURI" use="optional"/> - <attribute name="local" type="boolean" use="optional" default="false"/> - <attribute name="autowire" type="boolean" use="optional" default="false"/> - <attribute name="constrainingType" type="QName" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Service"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1" /> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax"/> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1" /> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded" /> - --> - </sequence> - <attribute name="name" type="NCName" use="required" /> - <attribute name="promote" type="anyURI" use="required" /> - <attribute name="requires" type="sca:listOfQNames" use="optional" /> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax" /> - </complexType> - - <element name="interface" type="sca:Interface" abstract="true" /> - <complexType name="Interface" abstract="true"/> - - <complexType name="Reference"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1" /> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax" /> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1" /> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded" /> - --> - </sequence> - <attribute name="name" type="NCName" use="required" /> - <attribute name="target" type="sca:listOfAnyURIs" use="optional"/> - <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/> - <attribute name="multiplicity" type="sca:Multiplicity" - use="optional" default="1..1" /> - <attribute name="promote" type="sca:listOfAnyURIs" use="required" /> - <attribute name="requires" type="sca:listOfQNames" use="optional" /> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax" /> - </complexType> - - <complexType name="SCAPropertyBase" mixed="true"> - <!-- mixed="true" to handle simple type --> - <sequence> - <any namespace="##any" processContents="lax" minOccurs="0" - maxOccurs="1" /> - <!-- NOT an extension point; This xsd:any exists to accept - the element-based or complex type property - i.e. no element-based extension point under "sca:property" --> - </sequence> - </complexType> - - <!-- complex type for sca:property declaration --> - <complexType name="Property" mixed="true"> - <complexContent> - <extension base="sca:SCAPropertyBase"> - <!-- extension defines the place to hold default value --> - <attribute name="name" type="NCName" use="required"/> - <attribute name="type" type="QName" use="optional"/> - <attribute name="element" type="QName" use="optional"/> - <attribute name="many" type="boolean" default="false" - use="optional"/> - <attribute name="noDefault" type="boolean" default="false" - use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - <!-- an extension point ; attribute-based only --> - </extension> - </complexContent> - </complexType> - - <complexType name="PropertyValue" mixed="true"> - <complexContent> - <extension base="sca:SCAPropertyBase"> - <attribute name="name" type="NCName" use="required"/> - <attribute name="type" type="QName" use="optional"/> - <attribute name="element" type="QName" use="optional"/> - <attribute name="many" type="boolean" default="false" - use="optional"/> - <attribute name="source" type="string" use="optional"/> - <attribute name="file" type="anyURI" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - <!-- an extension point ; attribute-based only --> - </extension> - </complexContent> - </complexType> - - <element name="binding" type="sca:Binding" abstract="true"/> - <complexType name="Binding" abstract="true"> - <sequence> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - </sequence> - <attribute name="uri" type="anyURI" use="optional"/> - <attribute name="name" type="QName" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - </complexType> - - <element name="bindingType" type="sca:BindingType"/> - <complexType name="BindingType"> - <sequence minOccurs="0" maxOccurs="unbounded"> - <any namespace="##other" processContents="lax" /> - </sequence> - <attribute name="type" type="QName" use="required"/> - <attribute name="alwaysProvides" type="sca:listOfQNames" use="optional"/> - <attribute name="mayProvide" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="callback" type="sca:Callback"/> - <complexType name="Callback"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Component"> - <sequence> - <choice minOccurs="0" maxOccurs="1"> - <element ref="sca:implementation"/> - <any namespace="##other" processContents="lax"/> - </choice> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="service" type="sca:ComponentService"/> - <element name="reference" type="sca:ComponentReference"/> - <element name="property" type="sca:PropertyValue" /> - </choice> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="autowire" type="boolean" use="optional" default="false"/> - <attribute name="constrainingType" type="QName" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="ComponentService"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1"/> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax"/> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1"/> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - --> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="requires" type="sca:listOfQNames" - use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" - use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="ComponentReference"> - <sequence> - <element ref="sca:interface" minOccurs="0" maxOccurs="1" /> - <element name="operation" type="sca:Operation" minOccurs="0" - maxOccurs="unbounded" /> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:binding" /> - <any namespace="##other" processContents="lax" /> - </choice> - <element ref="sca:callback" minOccurs="0" maxOccurs="1" /> - <!-- - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded" /> - --> - </sequence> - <attribute name="name" type="NCName" use="required" /> - <attribute name="target" type="sca:listOfAnyURIs" use="optional"/> - <attribute name="multiplicity" type="sca:Multiplicity" - use="optional" default="1..1" /> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" - use="optional"/> - <anyAttribute namespace="##any" processContents="lax" /> - </complexType> - - <element name="implementation" type="sca:Implementation" - abstract="true" /> - <complexType name="Implementation" abstract="true"> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - </complexType> - - <element name="implementationType" type="sca:ImplementationType"/> - <complexType name="ImplementationType"> - <sequence minOccurs="0" maxOccurs="unbounded"> - <any namespace="##other" processContents="lax" /> - </sequence> - <attribute name="type" type="QName" use="required"/> - <attribute name="alwaysProvides" type="sca:listOfQNames" use="optional"/> - <attribute name="mayProvide" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Wire"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="source" type="anyURI" use="required"/> - <attribute name="target" type="anyURI" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="include" type="sca:Include"/> - <complexType name="Include"> - <attribute name="name" type="QName"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Operation"> - <attribute name="name" type="NCName" use="required"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <attribute name="policySets" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="constrainingType" type="sca:ConstrainingType"/> - <complexType name="ConstrainingType"> - <sequence> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="service" type="sca:ComponentService"/> - <element name="reference" type="sca:ComponentReference"/> - <element name="property" type="sca:Property" /> - </choice> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="NCName" use="required"/> - <attribute name="targetNamespace" type="anyURI"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - - <simpleType name="Multiplicity"> - <restriction base="string"> - <enumeration value="0..1"/> - <enumeration value="1..1"/> - <enumeration value="0..n"/> - <enumeration value="1..n"/> - </restriction> - </simpleType> - - <simpleType name="OverrideOptions"> - <restriction base="string"> - <enumeration value="no"/> - <enumeration value="may"/> - <enumeration value="must"/> - </restriction> - </simpleType> - - <!-- Global attribute definition for @requires to permit use of intents - within WSDL documents --> - <attribute name="requires" type="sca:listOfQNames"/> - - <!-- Global attribute defintion for @endsConversation to mark operations - as ending a conversation --> - <attribute name="endsConversation" type="boolean" default="false"/> - - <simpleType name="listOfQNames"> - <list itemType="QName"/> - </simpleType> - - <simpleType name="listOfAnyURIs"> - <list itemType="anyURI"/> - </simpleType> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-definitions.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-definitions.xsd deleted file mode 100644 index 0249882a92..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-definitions.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - <include schemaLocation="sca-policy.xsd"/> - - <element name="definitions"> - <complexType> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="sca:intent"/> - <element ref="sca:policySet"/> - <element ref="sca:binding"/> - <element ref="sca:bindingType"/> - <element ref="sca:implementationType"/> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </choice> - <attribute name="targetNamespace" type="anyURI" use="optional"/> - </complexType> - </element> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd deleted file mode 100644 index 87b443fb36..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-bpel.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<xsd:schema xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified"> - - <xsd:include schemaLocation="sca-core.xsd" /> - - <xsd:element name="implementation.bpel" type="BpelImplementation" - substitutionGroup="implementation" /> - - <xsd:complexType name="BpelImplementation"> - <xsd:complexContent> - <xsd:extension base="Implementation"> - <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="process" type="xsd:QName" use="required" /> - <xsd:anyAttribute namespace="##any" processContents="lax" /> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="interface.partnerLinkType" type="BpelPartnerLinkType" - substitutionGroup="interface" /> - - <xsd:complexType name="BpelPartnerLinkType"> - <xsd:complexContent> - <xsd:extension base="Interface"> - <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="type" type="xsd:QName" use="required" /> - <xsd:attribute name="serviceRole" type="xsd:NCName" use="optional" /> - <xsd:anyAttribute namespace="##any" processContents="lax" /> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - -</xsd:schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd deleted file mode 100644 index 99669bc672..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-composite.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - <element name="implementation.composite" type="sca:SCAImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="SCAImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="QName" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd deleted file mode 100644 index 6f1cf14a4b..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-cpp.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sdo="commonj.sdo/XML" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.cpp" type="sca:CPPImplementation" substitutionGroup="sca:implementation" /> - <complexType name="CPPImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <element name="method" type="sca:CPPImplementationMethod" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="library" type="NCName" use="required"/> - <attribute name="header" type="NCName" use="required"/> - <attribute name="path" type="NCName" use="optional"/> - <attribute name="class" type="Name" use="optional"/> - <attribute name="scope" type="sca:CPPImplementationScope" use="optional"/> - <attribute name="eagerInit" type="boolean" use="optional"/> - <attribute name="allowsPassByReference" type="boolean" use="optional"/> - <attribute name="conversationMaxAge" type="string" use="optional"/> - <attribute name="conversationMaxIdle" type="string" use="optional"/> - <attribute name="conversationSinglePrincipal" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - - <simpleType name="CPPImplementationScope"> - <restriction base="string"> - <enumeration value="stateless"/> - <enumeration value="composite"/> - <enumeration value="request"/> - <enumeration value="converstion"/> - </restriction> - </simpleType> - - <complexType name="CPPImplementationMethod"> - <complexContent> - <attribute name="name" type="NCName" use="required"/> - <attribute name="allowsPassByReference" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexContent> - </complexType> - -</schema> - - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd deleted file mode 100644 index 1bca6199cb..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-ejb.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.ejb" type="sca:EJBImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="EJBImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <!-- we might want to make this refer to the JEE ejb-link type --> - <attribute name="ejb-link" type="token" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd deleted file mode 100644 index f9d8171b8e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-java.xsd +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.java" type="sca:JavaImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="JavaImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="class" type="NCName" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd deleted file mode 100644 index 1cf9fb3ea9..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-implementation-spring.xsd +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="implementation.spring" type="sca:SpringImplementation" - substitutionGroup="sca:implementation"/> - <complexType name="SpringImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd deleted file mode 100644 index 44f14e5ed5..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-cpp.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.commonj.org/xmlns/sca/1.0/" - xmlns:sca="http://www.commonj.org/xmlns/sca/1.0/" - xmlns:sdo="commonj.sdo/XML" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="interface.cpp" type="sca:CPPInterface" substitutionGroup="sca:interface"/> - - <complexType name="CPPInterface"> - <complexContent> - <extension base="sca:Interface"> - <sequence> - <element name="method" type="sca:CPPMethod" minOccurs="0" maxOccurs="unbounded" /> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="header" type="NCName" use="required"/> - <attribute name="class" type="Name" use="required"/> - <attribute name="callbackHeader" type="NCName" use="optional"/> - <attribute name="callbackClass" type="Name" use="optional"/> - <attribute name="remotable" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - - <complexType name="CPPMethod"> - <complexContent> - <attribute name="name" type="NCName" use="required"/> - <attribute name="oneWay" type="boolean" use="optional"/> - <attribute name="endConversation" type="boolean" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexContent> - </complexType> - -</schema> - diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd deleted file mode 100644 index 81f939bdb4..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-java.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="interface.java" type="sca:JavaInterface" substitutionGroup="sca:interface"/> - <complexType name="JavaInterface"> - <complexContent> - <extension base="sca:Interface"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="interface" type="NCName" use="required"/> - <attribute name="callbackInterface" type="NCName" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd deleted file mode 100644 index c1fdfd8f3c..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-interface-wsdl.xsd +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="interface.wsdl" type="sca:WSDLPortType" substitutionGroup="sca:interface"/> - <complexType name="WSDLPortType"> - <complexContent> - <extension base="sca:Interface"> - <sequence> - <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="interface" type="anyURI" use="required"/> - <attribute name="callbackInterface" type="anyURI" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-policy.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-policy.xsd deleted file mode 100644 index c22ffd6618..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca-policy.xsd +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" - elementFormDefault="qualified"> - - <include schemaLocation="sca-core.xsd"/> - - <element name="intent" type="sca:Intent"/> - <complexType name="Intent"> - <sequence> - <element name="description" type="string" minOccurs="0" maxOccurs="1" /> - <any namespace="##other" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="QName" use="required"/> - <attribute name="constrains" type="sca:listOfQNames" use="optional"/> - <attribute name="requires" type="sca:listOfQNames" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="policySet" type="sca:PolicySet"/> - <complexType name="PolicySet"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="policySetReference" type="sca:PolicySetReference"/> - <element name="intentMap" type="sca:IntentMap"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="name" type="QName" use="required"/> - <attribute name="provides" type="sca:listOfQNames" use="optional"/> - <attribute name="appliesTo" type="string" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="PolicySetReference"> - <attribute name="name" type="QName" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="IntentMap"> - <choice minOccurs="1" maxOccurs="unbounded"> - <element name="qualifier" type="sca:Qualifier"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="provides" type="QName" use="required"/> - <attribute name="default" type="string" use="optional"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <complexType name="Qualifier"> - <choice minOccurs="1" maxOccurs="unbounded"> - <element name="intentMap" type="sca:IntentMap"/> - <any namespace="##other" processContents="lax"/> - </choice> - <attribute name="name" type="string" use="required"/> - <anyAttribute namespace="##any" processContents="lax"/> - </complexType> - - <element name="allow" type="sca:Allow"/> - <complexType name="Allow"> - <attribute name="roles" type="string" use="required"/> - </complexType> - - <element name="permitAll" type="sca:PermitAll"/> - <complexType name="PermitAll"/> - - <element name="denyAll" type="sca:DenyAll"/> - <complexType name="DenyAll"/> - - <element name="runAs" type="sca:RunAs"/> - <complexType name="RunAs"> - <attribute name="role" type="string" use="required"/> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca.xsd deleted file mode 100644 index 10f54275d0..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/sca.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- (c) Copyright SCA Collaboration 2006, 2007 --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.osoa.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"> - - <include schemaLocation="sca-core.xsd"/> - - <include schemaLocation="sca-interface-java.xsd"/> - <include schemaLocation="sca-interface-wsdl.xsd"/> - - <include schemaLocation="sca-implementation-java.xsd"/> - <include schemaLocation="sca-implementation-composite.xsd"/> - - <include schemaLocation="sca-binding-webservice.xsd"/> - <include schemaLocation="sca-binding-jms.xsd"/> - <include schemaLocation="sca-binding-sca.xsd"/> - - <include schemaLocation="sca-definitions.xsd"/> - <include schemaLocation="sca-policy.xsd"/> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd deleted file mode 100644 index c93a1d72de..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-atom.xsd +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.atom" type="t:AtomBinding"/> - - <complexType name="AtomBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="title" type="string" use="optional"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd deleted file mode 100644 index d0da5421ec..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-dwr.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.dwr" type="t:DWRBinding"/> - - <complexType name="DWRBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd deleted file mode 100644 index ff48b97d7a..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-http.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.http" type="t:HTTPBinding"/> - - <complexType name="HTTPBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd deleted file mode 100644 index 7c79738898..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-jsonrpc.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.jsonrpc" type="t:JSONRPCBinding"/> - - <complexType name="JSONRPCBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd deleted file mode 100644 index 6d5468b2f9..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-notification.xsd +++ /dev/null @@ -1,42 +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://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.notification" type="t:NotificationBinding"/> - - <complexType name="NotificationBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="ntm" type="anyURI" use="optional"/> - <attribute name="notificationType" type="anyURI" use="optional"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd deleted file mode 100644 index 2697a1ea98..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rmi.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.rmi" type="t:RMIBinding"/> - - <complexType name="RMIBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="host" type="anyURI" use="optional"/> - <attribute name="port" type="int" use="optional"/> - <attribute name="serviceName" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd deleted file mode 100644 index 821f323d73..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-binding-rss.xsd +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="binding.rss" type="t:RSSBinding"/> - - <complexType name="RSSBinding"> - <complexContent> - <extension base="sca:Binding"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" minOccurs="0" - maxOccurs="unbounded"/> - </sequence> - <attribute name="title" type="string" use="optional"/> - </extension> - </complexContent> - </complexType> -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd deleted file mode 100644 index 1b5c8aece2..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-node.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.node" type="t:NodeImplementation"/> - - <complexType name="NodeImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="uri" type="string" use="required"/> - <attribute name="composite" type="QName" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd deleted file mode 100644 index f8d437310e..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-notification.xsd +++ /dev/null @@ -1,42 +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://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.notification" type="t:NotificationImplementation"/> - - <complexType name="NotificationImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="name" type="NCName" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd deleted file mode 100644 index f8ece54a07..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-osgi.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.osgi" type="t:OSGiImplementation"/> - - <!-- TODO Declare the proper attributes and elements --> - <complexType name="OSGiImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##any" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <anyAttribute namespace="##any" processContents="lax"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd deleted file mode 100644 index dd596821ea..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-resource.xsd +++ /dev/null @@ -1,42 +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://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.resource" type="t:ResourceImplementation"/> - - <complexType name="ResourceImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd deleted file mode 100644 index e1723d65f0..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-script.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.script" type="t:ScriptImplementation"/> - - <complexType name="ScriptImplementation"> - <complexContent mixed="true"> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="script" type="anyURI" use="optional"/> - <attribute name="language" type="NCName" use="optional"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd deleted file mode 100644 index 0c0998595f..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-widget.xsd +++ /dev/null @@ -1,42 +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://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.widget" type="t:WidgetImplementation"/> - - <complexType name="WidgetImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd deleted file mode 100644 index cdabb697aa..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca-implementation-xquery.xsd +++ /dev/null @@ -1,42 +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://tuscany.apache.org/xmlns/sca/1.0" - xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" - xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0" - elementFormDefault="qualified"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-core.xsd"/> - - <element name="implementation.xquery" type="t:XQueryImplementation"/> - - <complexType name="XQueryImplementation"> - <complexContent> - <extension base="sca:Implementation"> - <sequence> - <any namespace="##targetNamespace" processContents="lax" - minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="location" type="anyURI" use="required"/> - </extension> - </complexContent> - </complexType> - -</schema> diff --git a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd b/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd deleted file mode 100644 index da5e696e01..0000000000 --- a/branches/sca-equinox/tools/eclipse/plugins/core/xsd/tuscany-sca.xsd +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"> - - <import namespace="http://www.osoa.org/xmlns/sca/1.0" schemaLocation="sca-all.xsd"/> - - <include schemaLocation="tuscany-sca-binding-atom.xsd"/> - <include schemaLocation="tuscany-sca-binding-dwr.xsd"/> - <include schemaLocation="tuscany-sca-binding-http.xsd"/> - <include schemaLocation="tuscany-sca-binding-jsonrpc.xsd"/> - <include schemaLocation="tuscany-sca-binding-notification.xsd"/> - <include schemaLocation="tuscany-sca-binding-rmi.xsd"/> - <include schemaLocation="tuscany-sca-binding-rss.xsd"/> - - <!-- - <include schemaLocation="tuscany-sca-implementation-das.xsd"/> - <include schemaLocation="tuscany-sca-implementation-data.xsd"/> - --> - <include schemaLocation="tuscany-sca-implementation-node.xsd"/> - <include schemaLocation="tuscany-sca-implementation-notification.xsd"/> - <include schemaLocation="tuscany-sca-implementation-osgi.xsd"/> - <include schemaLocation="tuscany-sca-implementation-resource.xsd"/> - <include schemaLocation="tuscany-sca-implementation-script.xsd"/> - <include schemaLocation="tuscany-sca-implementation-widget.xsd"/> - <include schemaLocation="tuscany-sca-implementation-xquery.xsd"/> - -</schema>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/pom.xml b/branches/sca-equinox/tools/eclipse/pom.xml deleted file mode 100644 index ef096ac09b..0000000000 --- a/branches/sca-equinox/tools/eclipse/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-tools</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <packaging>pom</packaging> - <artifactId>tuscany-sca-eclipse-tools</artifactId> - <name>Apache Tuscany SCA Eclipse Tools</name> - - <profiles> - <profile> - <id>default</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <modules> - <module>features/core</module> - <module>plugins/core</module> - <module>site/updatesite</module> - </modules> - </profile> - </profiles> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/.project b/branches/sca-equinox/tools/eclipse/site/updatesite/.project deleted file mode 100644 index fd6959f412..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/.project +++ /dev/null @@ -1,24 +0,0 @@ -<projectDescription> - <name>org.apache.tuscany.sca.updatesite</name> - <comment>The Apache Software Foundation provides support for the Apache community of open-source software projects. - The Apache projects are characterized by a collaborative, consensus based development process, an open and - pragmatic software license, and a desire to create high quality software that leads the way in its field. - We consider ourselves not simply a group of projects sharing a server, but rather a community of developers - and users.</comment> - <projects> - <project>org.apache.tuscany.sca.core</project> - <project>org.apache.tuscany.sca.feature.core</project> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.pde.UpdateSiteBuilder</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.UpdateSiteNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription>
\ No newline at end of file diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/LICENSE b/branches/sca-equinox/tools/eclipse/site/updatesite/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/NOTICE b/branches/sca-equinox/tools/eclipse/site/updatesite/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/pom.xml b/branches/sca-equinox/tools/eclipse/site/updatesite/pom.xml deleted file mode 100644 index 32c0ec6f16..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/pom.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-sca-eclipse-tools</artifactId> - <version>1.4-SNAPSHOT</version> - <relativePath>../../pom.xml</relativePath> - </parent> - <artifactId>org.apache.tuscany.sca.updatesite</artifactId> - <name>Apache Tuscany SCA Eclipse Tools Update Site</name> - - <properties> - <tuscany.version>${pom.version}</tuscany.version> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.core</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>org.apache.tuscany.sca.feature.core</artifactId> - <version>1.4-SNAPSHOT</version> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>${basedir}</directory> - <excludes> - <exclude>**/.*/**</exclude> - <exclude>pom.xml</exclude> - <exclude>build.*</exclude> - <exclude>target/**</exclude> - </excludes> - </resource> - </resources> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-assembly-plugin</artifactId> - <executions> - <execution> - <id>updatesite-package</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - <configuration> - <descriptors> - <descriptor>src/main/assembly/updatesite.xml</descriptor> - </descriptors> - <tarLongFileMode>gnu</tarLongFileMode> - <finalName>apache-tuscany-sca-${pom.version}</finalName> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project> diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/site.xml b/branches/sca-equinox/tools/eclipse/site/updatesite/site.xml deleted file mode 100644 index 1ba6c0c004..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/site.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<site> - <description url="http://tuscany.apache.org"> - Apache Tuscany SCA Tools. - </description> - - <feature id="org.apache.tuscany.sca.feature.core" version="1.4.0" - url="features/org.apache.tuscany.sca.feature.core-1.4-SNAPSHOT.jar"/> - - <archive path="plugins/org.apache.tuscany.sca.core_1.4.0.jar" - url="plugins/org.apache.tuscany.sca.core-1.4-SNAPSHOT.jar"/> - - <archive path="features/org.apache.tuscany.sca.feature.core_1.4.0/runtime/apache-tuscany-sca-1.4-SNAPSHOT.jar" - url="../apache-tuscany-sca-1.4-SNAPSHOT.zip"/> - - <archive path="features/org.apache.tuscany.sca.feature.core_1.4.0/src/apache-tuscany-sca-1.4-SNAPSHOT-src.zip" - url="../apache-tuscany-sca-1.4-SNAPSHOT-src.zip"/> -</site> diff --git a/branches/sca-equinox/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml b/branches/sca-equinox/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml deleted file mode 100644 index 1ba06af971..0000000000 --- a/branches/sca-equinox/tools/eclipse/site/updatesite/src/main/assembly/updatesite.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<assembly> - <id>updatesite</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>zip</format> - </formats> - - <fileSets> - <fileSet> - <outputDirectory>tuscany-sca-${tuscany.version}-updatesite</outputDirectory> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - <include>site.xml</include> - </includes> - </fileSet> - </fileSets> - - <dependencySets> - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}-updatesite/plugins</outputDirectory> - <unpack>false</unpack> - <includes> - <include>org.apache.tuscany.sca:org.apache.tuscany.sca.core</include> - </includes> - <scope>runtime</scope> - </dependencySet> - - <dependencySet> - <outputDirectory>tuscany-sca-${tuscany.version}-updatesite/features</outputDirectory> - <unpack>false</unpack> - <includes> - <include>org.apache.tuscany.sca:org.apache.tuscany.sca.feature.core</include> - </includes> - <scope>runtime</scope> - </dependencySet> - </dependencySets> - -</assembly> diff --git a/branches/sca-equinox/tools/pom.xml b/branches/sca-equinox/tools/pom.xml index b3ab8cb275..66f10ca65b 100644 --- a/branches/sca-equinox/tools/pom.xml +++ b/branches/sca-equinox/tools/pom.xml @@ -36,11 +36,10 @@ <activeByDefault>true</activeByDefault>
</activation>
<modules>
- <module>eclipse</module>
+ <module>eclipse34</module>
<module>java2wsdl</module>
<module>maven</module>
<module>wsdl2java</module>
- <module>runtime-inspector</module>
</modules>
</profile>
</profiles>
diff --git a/branches/sca-equinox/tools/runtime-inspector/LICENSE b/branches/sca-equinox/tools/runtime-inspector/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/LICENSE +++ /dev/null @@ -1,205 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - - diff --git a/branches/sca-equinox/tools/runtime-inspector/NOTICE b/branches/sca-equinox/tools/runtime-inspector/NOTICE deleted file mode 100644 index fdfa0e9faa..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2008 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/branches/sca-equinox/tools/runtime-inspector/pom.xml b/branches/sca-equinox/tools/runtime-inspector/pom.xml deleted file mode 100644 index 6c5e314e15..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-sca-tools</artifactId>
- <version>1.4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>tools-runtime-inspector</artifactId>
- <name>Apache Tuscany SCA Tools Runtime Inspector</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-http</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-node-impl</artifactId>
- <version>1.4-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-implementation-java-runtime</artifactId>
- <version>1.4-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.2</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <finalName>${artifactId}</finalName>
- </build>
-</project>
diff --git a/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/AssemblyInspector.java b/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/AssemblyInspector.java deleted file mode 100644 index ff32d1b48f..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/AssemblyInspector.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.tools.inspector; - -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.impl.NodeImpl; - - -/** - * Prints out the composite XML. - */ -public class AssemblyInspector { - - - public String assemblyAsString(SCANode node) { - StringBuffer assemblyString = new StringBuffer(); - - // get at the node internals - Composite composite = ((NodeImpl)node).getComposite(); - ExtensionPointRegistry registry = ((NodeImpl)node).getExtensionPointRegistry(); - - // Get the output factory - ModelFactoryExtensionPoint modelFactories = registry.getExtensionPoint(ModelFactoryExtensionPoint.class); - XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - StAXArtifactProcessorExtensionPoint staxProcessors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - StAXArtifactProcessor<Composite> compositeProcessor = (StAXArtifactProcessor<Composite>)staxProcessors.getProcessor(Composite.class); - - // Write the composite - try { - XMLStreamWriter writer = outputFactory.createXMLStreamWriter(System.out); - compositeProcessor.write(composite, writer); - } catch (Exception e) { - assemblyString.append(e.toString()); - } - - return assemblyString.toString(); - } - - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java b/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java deleted file mode 100644 index 283d5e3df9..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RegistryInspector.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.tools.inspector; - -import java.lang.reflect.Field; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.impl.NodeImpl; - - -/** - * An implementation of the ExtensionPointRegistryInspector service. - */ -public class RegistryInspector { - - public String registryAsString(SCANode node) { - StringBuffer extensionPointRegistryString = new StringBuffer("Extension Point Registry \n"); - - // Get the interesting extension points out of the registry and print them out - - try { - - // get the extension point registry we are hanging onto - // We have to assume the type of the extension point registry here! - DefaultExtensionPointRegistry extensionPointRegistry = (DefaultExtensionPointRegistry)((NodeImpl)node).getExtensionPointRegistry(); - - // get the Map of extension points - // This is a private (!) field so a bit of sneaky reflection is required - Field extensionPointsField = extensionPointRegistry.getClass().getDeclaredField("extensionPoints"); - extensionPointsField.setAccessible(true); - Map<Class<?>, Object> extensionPoints = (Map<Class<?>, Object>) extensionPointsField.get(extensionPointRegistry); - - // Record all the registered extension points - Set<Class<?>> keySet = extensionPoints.keySet(); - for(Class<?>key : keySet){ - extensionPointRegistryString.append(key.getName()); - extensionPointRegistryString.append("\n"); - } - - } catch (Exception ex) { - System.out.println(ex.toString()); - } - - return extensionPointRegistryString.toString(); - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RuntimeInspector.java b/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RuntimeInspector.java deleted file mode 100644 index 26080b2e12..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/main/java/org/apache/tuscany/sca/tools/inspector/RuntimeInspector.java +++ /dev/null @@ -1,285 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.tools.inspector; - -import java.beans.BeanInfo; -import java.beans.IntrospectionException; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.impl.NodeImpl; -import org.w3c.dom.Node; - - -/** - * Prints out the assembly and the runtime hierarchy as XML - */ -public class RuntimeInspector { - - private boolean useGetters = false; - private PrintWriter out; - private int indent; - - - void indent() { - for (int i = 0; i < indent; i++) { - out.print(" "); - } - } - - public String runtimeAsString(SCANode node) { - StringBuffer assemblyString = new StringBuffer(); - this.out = new PrintWriter(new OutputStreamWriter(System.out), true); - - // Get the interesting extension points out of the registry and print them out - - try { - Composite composite = ((NodeImpl)node).getComposite(); - - print(composite); - - - } catch (Exception ex) { - System.out.println(ex.toString()); - } - - return assemblyString.toString(); - } - - /** - * Print an object. - * - * @param object - */ - public void print(Object object) { - Set<Integer> objects = new HashSet<Integer>(); - print(object, objects); - } - - /** - * Print an object. - * - * @param object - */ - private void print(Object object, Set<Integer> printed) { - if (object == null) { - return; - } - int id = System.identityHashCode(object); - if (printed.contains(id)) { - - // If we've already printed an object, print just it's HashCode - indent(); - out.println("<" + object.getClass().getName() + " IDREF=\"" + id + "\"/>"); - } else { - printed.add(id); - try { - - // Print the object class name - indent(); - out.println("<" + object.getClass().getName() + " ID=\"" + id + "\">"); - - // Get the object's properties - ValueAccessor accessor = useGetters ? new PropertyAccessor(object) : new FieldAccessor(object); - for (int i = 0; i < accessor.size(); i++) { - try { - - // Get the value of each property - Object value = accessor.getValue(i); - if (value != null) { - - // Convert array value into a list - if (value.getClass().isArray()) { - value = Arrays.asList((Object[])value); - } - - // Print elements in a list - if (value instanceof List) { - if (!((List)value).isEmpty()) { - indent++; - indent(); - out.println("<" + accessor.getName(i) + ">"); - // Print each element, recursively - for (Object element : (List)value) { - indent++; - print(element, printed); - indent--; - } - indent(); - out.println("</" + accessor.getName(i) + ">"); - indent--; - } - } else { - Class<?> valueClass = value.getClass(); - - // Print a primitive, java built in type or - // enum, using toString() - if (valueClass.isPrimitive() || valueClass.getName().startsWith("java.") - || valueClass.getName().startsWith("javax.") - || valueClass.isEnum()) { - if (!accessor.getName(i).equals("class")) { - if (!(Boolean.FALSE.equals(value))) { - indent++; - indent(); - out.println("<" + accessor.getName(i) + ">" + value.toString() + "</" + accessor.getName(i) + ">" ); - indent--; - } - } - } else if (value instanceof Node) { - indent++; - indent(); - out.println("<" + accessor.getName(i) + ">" + value.toString() + "</" + accessor.getName(i) + ">"); - indent--; - } else { - - // Print an object, recursively - indent++; - indent(); - out.println("<" + accessor.getName(i) + ">"); - indent++; - print(value, printed); - indent--; - indent(); - out.println("</" + accessor.getName(i) + ">"); - indent--; - } - } - } - } catch (Exception e) { - } - } - indent(); - out.println("</" + object.getClass().getName() + ">"); - } catch (Exception e) { - indent(); - out.println(e); - } - } - } - - public static interface ValueAccessor { - int size(); - - String getName(int i); - - Object getValue(int i) throws Exception; - } - - /** - * Java field reflection based value accessor - */ - private static class FieldAccessor implements ValueAccessor { - - private Object object; - private List<Field> fields; - - public FieldAccessor(Object object) { - this.fields = getAllFields(object.getClass()); - this.object = object; - } - - public String getName(int i) { - return fields.get(i).getName(); - } - - public Object getValue(int i) throws Exception { - return fields.get(i).get(object); - } - - public int size() { - return fields.size(); - } - - } - - /** - * JavaBean-based value accessor - */ - private static class PropertyAccessor implements ValueAccessor { - - private Object object; - private PropertyDescriptor[] fields; - - public PropertyAccessor(Object object) throws IntrospectionException { - BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass()); - this.fields = beanInfo.getPropertyDescriptors(); - this.object = object; - } - - public String getName(int i) { - return fields[i].getName(); - } - - public Object getValue(int i) throws Exception { - Method getter = fields[i].getReadMethod(); - if (getter != null) { - return getter.invoke(object); - } - return null; - } - - public int size() { - return fields.length; - } - - } - - /** - * Returns a collection of fields declared by a class - * or one of its supertypes - */ - private static List<Field> getAllFields(Class<?> clazz) { - return getAllFields(clazz, new ArrayList<Field>()); - } - - /** - * Recursively evaluates the type hierarchy to return all fields - */ - private static List<Field> getAllFields(Class<?> clazz, List<Field> fields) { - if (clazz == null || clazz.isArray() || Object.class.equals(clazz)) { - return fields; - } - fields = getAllFields(clazz.getSuperclass(), fields); - Field[] declaredFields = clazz.getDeclaredFields(); - for (final Field field : declaredFields) { - AccessController.doPrivileged(new PrivilegedAction<Object>() { - public Object run() { - field.setAccessible(true); // ignore Java accessibility - return null; - } - }); - fields.add(field); - } - return fields; - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/AddService.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/AddService.java deleted file mode 100644 index 188451ebac..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/AddService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The Add service interface - */ -public interface AddService { - - double add(double n1, double n2); - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/AddServiceImpl.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/AddServiceImpl.java deleted file mode 100644 index 7ca8fb04b5..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/AddServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * An implementation of the Add service - */ -public class AddServiceImpl implements AddService { - - public double add(double n1, double n2) { - Logger logger = Logger.getLogger("calculator"); - logger.log(Level.FINEST, "Adding " + n1 + " and " + n2); - return n1 + n2; - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorClient.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorClient.java deleted file mode 100644 index 8001ab7818..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorClient.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package calculator; - -import org.apache.tuscany.sca.node.SCAClient; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.SCANodeFactory; - -/** - * This client program shows how to create an SCA runtime, start it, - * and locate and invoke a SCA component - */ -public class CalculatorClient { - public static void main(String[] args) throws Exception { - - SCANode node = SCANodeFactory.newInstance().createSCANodeFromClassLoader("Calculator.composite", CalculatorClient.class.getClassLoader()); - node.start(); - - CalculatorService calculatorService = - ((SCAClient) node).getService(CalculatorService.class, "CalculatorServiceComponent"); - - // Calculate - System.out.println("3 + 2=" + calculatorService.add(3, 2)); - System.out.println("3 - 2=" + calculatorService.subtract(3, 2)); - System.out.println("3 * 2=" + calculatorService.multiply(3, 2)); - System.out.println("3 / 2=" + calculatorService.divide(3, 2)); - - node.stop(); - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorService.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorService.java deleted file mode 100644 index 031fa8b912..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorService.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - - -/** - * The Calculator service interface. - */ -public interface CalculatorService { - - double add(double n1, double n2); - - double subtract(double n1, double n2); - - double multiply(double n1, double n2); - - double divide(double n1, double n2); - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorServiceImpl.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorServiceImpl.java deleted file mode 100644 index 3d861f2018..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/CalculatorServiceImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import org.osoa.sca.annotations.Reference; - - -/** - * An implementation of the Calculator service. - */ -public class CalculatorServiceImpl implements CalculatorService { - - private AddService addService; - private SubtractService subtractService; - private MultiplyService multiplyService; - private DivideService divideService; - - @Reference - public void setAddService(AddService addService) { - this.addService = addService; - } - - @Reference - public void setSubtractService(SubtractService subtractService) { - this.subtractService = subtractService; - } - - @Reference - public void setDivideService(DivideService divideService) { - this.divideService = divideService; - } - - @Reference - public void setMultiplyService(MultiplyService multiplyService) { - this.multiplyService = multiplyService; - } - - public double add(double n1, double n2) { - return addService.add(n1, n2); - } - - public double subtract(double n1, double n2) { - return subtractService.subtract(n1, n2); - } - - public double multiply(double n1, double n2) { - return multiplyService.multiply(n1, n2); - } - - public double divide(double n1, double n2) { - return divideService.divide(n1, n2); - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/DivideService.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/DivideService.java deleted file mode 100644 index 30d248208b..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/DivideService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The divide service interface - */ -public interface DivideService { - - double divide(double n1, double n2); - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/DivideServiceImpl.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/DivideServiceImpl.java deleted file mode 100644 index 1323edf55a..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/DivideServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * An implementation of the Divide service. - */ -public class DivideServiceImpl implements DivideService { - - public double divide(double n1, double n2) { - Logger logger = Logger.getLogger("calculator"); - logger.log(Level.FINEST, "Dividing " + n1 + " with " + n2); - return n1 / n2; - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/MultiplyService.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/MultiplyService.java deleted file mode 100644 index 5290605938..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/MultiplyService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The interface for the multiply service - */ -public interface MultiplyService { - - double multiply(double n1, double n2); - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/MultiplyServiceImpl.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/MultiplyServiceImpl.java deleted file mode 100644 index 91b803bc9e..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/MultiplyServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * An implementation of the Multiply service. - */ -public class MultiplyServiceImpl implements MultiplyService { - - public double multiply(double n1, double n2) { - Logger logger = Logger.getLogger("calculator"); - logger.log(Level.FINEST, "Multiplying " + n1 + " with " + n2); - return n1 * n2; - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/SubtractService.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/SubtractService.java deleted file mode 100644 index bf0d1882b6..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/SubtractService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -/** - * The interface for the multiply service - */ -public interface SubtractService { - - double subtract(double n1, double n2); - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/SubtractServiceImpl.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/SubtractServiceImpl.java deleted file mode 100644 index 58cc4a3547..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/calculator/SubtractServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package calculator; - -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * An implementation of the subtract service. - */ -public class SubtractServiceImpl implements SubtractService { - - public double subtract(double n1, double n2) { - Logger logger = Logger.getLogger("calculator"); - logger.log(Level.FINEST, "Subtracting " + n1 + " from " + n2); - return n1 - n2; - } - -} diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java b/branches/sca-equinox/tools/runtime-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java deleted file mode 100644 index 0710b670cd..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/java/org/apache/tuscany/sca/tools/inspector/RegistryInspectorTestCase.java +++ /dev/null @@ -1,68 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.tools.inspector;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sca.node.SCAClient;
-import org.apache.tuscany.sca.node.SCAContribution;
-import org.apache.tuscany.sca.node.SCANode;
-import org.apache.tuscany.sca.node.SCANodeFactory;
-
-import calculator.CalculatorService;
-
-/**
- * This shows how to test the Calculator service component.
- */
-public class RegistryInspectorTestCase extends TestCase {
-
- private CalculatorService calculatorService;
- private SCANode node;
-
- @Override
- protected void setUp() throws Exception {
- SCANodeFactory nodeFactory = SCANodeFactory.newInstance();
- node = nodeFactory.createSCANode(new File("src/test/resources/Calculator.composite").toURL().toString(),
- new SCAContribution("TestContribution",
- new File("src/test/resources").toURL().toString()));
- node.start();
- calculatorService = ((SCAClient)node).getService(CalculatorService.class, "CalculatorServiceComponent");
- }
-
- @Override
- protected void tearDown() throws Exception {
- node.stop();
- }
-
- public void testCalculator() throws Exception {
- RegistryInspector registryInspector = new RegistryInspector();
-
- System.out.println(registryInspector.registryAsString(node));
-
- RuntimeInspector runtimeInspector = new RuntimeInspector();
-
- //System.out.println(runtimeInspector.runtimeAsString(node));
-
- AssemblyInspector assemblyInspector = new AssemblyInspector();
-
- //System.out.println(assemblyInspector.assemblyAsString(node));
- }
-}
diff --git a/branches/sca-equinox/tools/runtime-inspector/src/test/resources/Calculator.composite b/branches/sca-equinox/tools/runtime-inspector/src/test/resources/Calculator.composite deleted file mode 100644 index 90872041b0..0000000000 --- a/branches/sca-equinox/tools/runtime-inspector/src/test/resources/Calculator.composite +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. ---> -<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" - targetNamespace="http://sample" - xmlns:sample="http://sample" - name="Calculator"> - - <component name="CalculatorServiceComponent"> - <implementation.java class="calculator.CalculatorServiceImpl"/> - <reference name="addService" target="AddServiceComponent" /> - <reference name="subtractService" target="SubtractServiceComponent" /> - <reference name="multiplyService" target="MultiplyServiceComponent" /> - <reference name="divideService" target="DivideServiceComponent" /> - </component> - - <component name="AddServiceComponent"> - <implementation.java class="calculator.AddServiceImpl"/> - </component> - - <component name="SubtractServiceComponent"> - <implementation.java class="calculator.SubtractServiceImpl"/> - </component> - - <component name="MultiplyServiceComponent"> - <implementation.java class="calculator.MultiplyServiceImpl"/> - </component> - - <component name="DivideServiceComponent"> - <implementation.java class="calculator.DivideServiceImpl"/> - </component> - -</composite> |