diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:06:50 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-11 23:06:50 +0000 |
commit | 0f3f9b59b310833f31ba234ee4aefa808649833c (patch) | |
tree | 4f8b3354beb0643151424eb978eece9e55038c90 /branches/sca-java-0.91/modules/implementation-resource/src | |
parent | f860c2f35b2f94e379d2ff7d5c13f54cd4a3132a (diff) |
Moving 1.x branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835120 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-0.91/modules/implementation-resource/src')
21 files changed, 0 insertions, 1262 deletions
diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/DefaultHTTPResourceBindingFactory.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/DefaultHTTPResourceBindingFactory.java deleted file mode 100644 index 7de2c3a2ca..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/DefaultHTTPResourceBindingFactory.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.binding.resource; - -import org.apache.tuscany.sca.binding.resource.impl.HTTPResourceBindingImpl; - -/** - * A factory for the sample Echo binding model. - */ -public class DefaultHTTPResourceBindingFactory implements HTTPResourceBindingFactory { - - public HTTPResourceBinding createHTTPResourceBinding() { - return new HTTPResourceBindingImpl(); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/HTTPResourceBinding.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/HTTPResourceBinding.java deleted file mode 100644 index 8679f0cf84..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/HTTPResourceBinding.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.binding.resource; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * A model for the HTTP resource binding. - */ -public interface HTTPResourceBinding extends Binding { -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/HTTPResourceBindingFactory.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/HTTPResourceBindingFactory.java deleted file mode 100644 index b2fb2eae1d..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/HTTPResourceBindingFactory.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.binding.resource; - -/** - * A factory for the HTTP resource binding model. - */ -public interface HTTPResourceBindingFactory { - - /** - * Creates a new HTTP resource binding. - * - * @return a new HTTP resource binding - */ - HTTPResourceBinding createHTTPResourceBinding(); -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/impl/HTTPResourceBindingImpl.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/impl/HTTPResourceBindingImpl.java deleted file mode 100644 index 247041d47f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/impl/HTTPResourceBindingImpl.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.resource.impl; - -import java.util.Collections; -import java.util.List; - -import org.apache.tuscany.sca.binding.resource.HTTPResourceBinding; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; - - -/** - * Implementation of the HTTP resource binding model. - */ -public class HTTPResourceBindingImpl implements HTTPResourceBinding { - - private String name; - private String uri; - - 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 List<PolicySet> getPolicySets() { - // The sample binding does not support policies - return Collections.emptyList(); - } - - public List<Intent> getRequiredIntents() { - // The sample binding does not support policies - return Collections.emptyList(); - } - - public List<Object> getExtensions() { - // The sample binding does not support extensions - return Collections.emptyList(); - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - // The sample binding is always resolved - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/impl/HTTPResourceBindingProcessor.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/impl/HTTPResourceBindingProcessor.java deleted file mode 100644 index 80162fa77f..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/impl/HTTPResourceBindingProcessor.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.binding.resource.impl; - -import static org.osoa.sca.Constants.SCA_NS; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.binding.resource.HTTPResourceBinding; -import org.apache.tuscany.sca.binding.resource.HTTPResourceBindingFactory; -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; - - -/** - * A processor for <binding.resource> elements. - */ -public class HTTPResourceBindingProcessor implements StAXArtifactProcessor<HTTPResourceBinding> { - - private QName BINDING_RESOURCE = new QName(SCA_NS, "binding.resource"); - - private final HTTPResourceBindingFactory factory; - - public HTTPResourceBindingProcessor(HTTPResourceBindingFactory factory) { - this.factory = factory; - } - - public QName getArtifactType() { - return BINDING_RESOURCE; - } - - public Class<HTTPResourceBinding> getModelType() { - return HTTPResourceBinding.class; - } - - public HTTPResourceBinding read(XMLStreamReader reader) throws ContributionReadException { - String uri = reader.getAttributeValue(null, "uri"); - HTTPResourceBinding echoBinding = factory.createHTTPResourceBinding(); - if (uri != null) { - echoBinding.setURI(uri.trim()); - } - return echoBinding; - } - - public void write(HTTPResourceBinding echoBinding, XMLStreamWriter writer) throws ContributionWriteException { - } - - public void resolve(HTTPResourceBinding echoBinding, ModelResolver resolver) throws ContributionResolveException { - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/provider/HTTPResourceBindingProviderFactory.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/provider/HTTPResourceBindingProviderFactory.java deleted file mode 100644 index 0c2221a6b2..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/provider/HTTPResourceBindingProviderFactory.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.resource.provider; - -import org.apache.tuscany.sca.binding.resource.HTTPResourceBinding; -import org.apache.tuscany.sca.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; - - -/** - * Implementation of the Echo binding model. - */ -public class HTTPResourceBindingProviderFactory implements BindingProviderFactory<HTTPResourceBinding> { - - private ServletHost servletHost; - - public HTTPResourceBindingProviderFactory(ServletHost servletHost) { - this.servletHost = servletHost; - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, RuntimeComponentReference reference, HTTPResourceBinding binding) { - return null; - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, RuntimeComponentService service, HTTPResourceBinding binding) { - return new HTTPResourceServiceBindingProvider(component, service, binding, servletHost); - } - - public Class<HTTPResourceBinding> getModelType() { - return HTTPResourceBinding.class; - } -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/provider/HTTPResourceServiceBindingProvider.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/provider/HTTPResourceServiceBindingProvider.java deleted file mode 100644 index 9564175df4..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/binding/resource/provider/HTTPResourceServiceBindingProvider.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.resource.provider; - -import java.net.URL; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.binding.resource.HTTPResourceBinding; -import org.apache.tuscany.sca.http.DefaultResourceServlet; -import org.apache.tuscany.sca.http.ServletHost; -import org.apache.tuscany.sca.implementation.resource.ResourceImplementation; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -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 Echo binding provider. - */ -public class HTTPResourceServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponent component; - private RuntimeComponentService service; - private HTTPResourceBinding binding; - private ServletHost servletHost; - private String uri; - - public HTTPResourceServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - HTTPResourceBinding binding, - ServletHost servletHost) { - this.component = component; - this.service = service; - this.binding = binding; - this.servletHost = servletHost; - - if (binding.getURI() != null) { - uri = binding.getURI(); - if (!uri.endsWith("/")) { - uri += "/"; - } - if (!uri.endsWith("*")) { - uri += "*"; - } - } else { - uri = "/" + this.component.getName() + "/*"; - } - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public void start() { - - // Get the target component implementation, for now we are assuming - // that it's an implementation.resource - RuntimeComponentService componentService = (RuntimeComponentService) service; - RuntimeWire wire = componentService.getRuntimeWire(binding); - Implementation implementation = wire.getTarget().getComponent().getImplementation(); - ResourceImplementation resourceImplementation = (ResourceImplementation)implementation; - - // Get the resource location URL - URL locationURL = resourceImplementation.getLocationURL(); - - // Register the default resource servlet with the servlet host - DefaultResourceServlet resourceServlet = new DefaultResourceServlet(locationURL.toString()); - servletHost.addServletMapping(uri, resourceServlet); - - } - - public void stop() { - - // Unregister from the hosting server - servletHost.removeServletMapping(uri); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/DefaultResourceImplementationFactory.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/DefaultResourceImplementationFactory.java deleted file mode 100644 index a94abfc2a1..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/DefaultResourceImplementationFactory.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.implementation.resource; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.binding.resource.HTTPResourceBindingFactory; -import org.apache.tuscany.sca.implementation.resource.impl.ResourceImplementationImpl; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector; - - -/** - * A default factory for the resource implementation model. - */ -public class DefaultResourceImplementationFactory implements ResourceImplementationFactory { - - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaFactory; - private JavaInterfaceIntrospector introspector; - private HTTPResourceBindingFactory bindingFactory; - - public DefaultResourceImplementationFactory(AssemblyFactory assemblyFactory, - JavaInterfaceFactory javaFactory, - JavaInterfaceIntrospector introspector, - HTTPResourceBindingFactory bindingFactory) { - this.assemblyFactory = assemblyFactory; - this.javaFactory = javaFactory; - this.introspector = introspector; - this.bindingFactory = bindingFactory; - } - - public ResourceImplementation createResourceImplementation() { - return new ResourceImplementationImpl(assemblyFactory, javaFactory, introspector, bindingFactory); - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/Resource.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/Resource.java deleted file mode 100644 index 2c28d9d823..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/Resource.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.resource; - -import java.net.URL; - -/** - * The service interface of resource implementations. - * - * @version $Rev$ $Date$ - */ -public interface Resource { - - /** - * Returns the resource location URL. - * - * @return - */ - public URL getLocationURL(); - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementation.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementation.java deleted file mode 100644 index 44cb1b56eb..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementation.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resource; - -import java.net.URL; - -import org.apache.tuscany.sca.assembly.Implementation; - -/** - * The model representing a resource implementation in an SCA assembly model. - */ -public interface ResourceImplementation extends Implementation { - - /** - * Returns the location of the directory containing the resources. - * - * @return the location of the directory containing the resources - */ - public String getLocation(); - - /** - * Sets the location of the directory containing the resources. - * - * @param location the location of the directory containing the resources - */ - public void setLocation(String location); - - /** - * Returns the resource location URL. - * - * @return the location URL - */ - public URL getLocationURL(); - - /** - * Sets the resource location URL. - * - * @param url the resource location URL - */ - public void setLocationURL(URL url); - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationFactory.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationFactory.java deleted file mode 100644 index d38cbaff7b..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationFactory.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.resource; - - -/** - * A factory for the resource implementation model. - */ -public interface ResourceImplementationFactory { - - /** - * Creates a new resource implementation. - * @return a new resource implementation - */ - ResourceImplementation createResourceImplementation(); - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationImpl.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationImpl.java deleted file mode 100644 index 5391cac218..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationImpl.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.implementation.resource.impl; - -import java.net.URL; -import java.util.Collections; -import java.util.List; - -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.binding.resource.HTTPResourceBinding; -import org.apache.tuscany.sca.binding.resource.HTTPResourceBindingFactory; -import org.apache.tuscany.sca.implementation.resource.Resource; -import org.apache.tuscany.sca.implementation.resource.ResourceImplementation; -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.introspect.JavaInterfaceIntrospector; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; - - -/** - * The model representing a resource implementation in an SCA assembly model. - */ -public class ResourceImplementationImpl implements ResourceImplementation { - - private Service resourceService; - - private String location; - private URL url; - private boolean unresolved; - - /** - * Constructs a new resource implementation. - */ - public ResourceImplementationImpl(AssemblyFactory assemblyFactory, - JavaInterfaceFactory javaFactory, - JavaInterfaceIntrospector introspector, - HTTPResourceBindingFactory bindingFactory) { - - // Resource implementation always provide a single service exposing - // the Resource interface, and have no references and properties - resourceService = assemblyFactory.createService(); - resourceService.setName("Resource"); - - // Create the Java interface contract for the Resource service - JavaInterface javaInterface; - try { - javaInterface = introspector.introspect(Resource.class); - } catch (InvalidInterfaceException e) { - throw new IllegalArgumentException(e); - } - JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract(); - interfaceContract.setInterface(javaInterface); - resourceService.setInterfaceContract(interfaceContract); - - // Configure the resource service with a default HTTP resource binding - HTTPResourceBinding resourceBinding = bindingFactory.createHTTPResourceBinding(); - resourceService.getBindings().add(resourceBinding); - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public URL getLocationURL() { - return url; - } - - public void setLocationURL(URL url) { - this.url = url; - } - - public ConstrainingType getConstrainingType() { - // The resource implementation does not support constrainingTypes - return null; - } - - public List<Property> getProperties() { - // The resource implementation does not support properties - return Collections.emptyList(); - } - - public List<Service> getServices() { - // The resource implementation does not support services - return Collections.singletonList(resourceService); - } - - public List<Reference> getReferences() { - // The resource implementation does not support properties - return Collections.emptyList(); - } - - public String getURI() { - return location; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - // The resource implementation does not support constrainingTypes - } - - public void setURI(String uri) { - this.location = uri; - } - - public List<PolicySet> getPolicySets() { - // The resource implementation does not support policy sets - return Collections.emptyList(); - } - - public List<Intent> getRequiredIntents() { - // The resource implementation does not support intents - return Collections.emptyList(); - } - - public List<Object> getExtensions() { - // The resource implementation does not support extensions - return Collections.emptyList(); - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationProcessor.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationProcessor.java deleted file mode 100644 index 60d7b7fb5d..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationProcessor.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resource.impl; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; - -import java.io.IOException; -import java.net.URL; - -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.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.implementation.resource.ResourceImplementation; -import org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory; - - -/** - * Implements a STAX artifact processor for resource implementations. - */ -public class ResourceImplementationProcessor implements StAXArtifactProcessor<ResourceImplementation> { - private static final QName IMPLEMENTATION_RESOURCE = new QName("http://www.osoa.org/xmlns/sca/1.0", "implementation.resource"); - - private ResourceImplementationFactory resourceFactory; - private ContributionFactory contributionFactory; - - public ResourceImplementationProcessor(ResourceImplementationFactory resourceFactory, ContributionFactory contributionFactory) { - this.resourceFactory = resourceFactory; - this.contributionFactory = contributionFactory; - } - - public QName getArtifactType() { - // Returns the qname of the XML element processed by this processor - return IMPLEMENTATION_RESOURCE; - } - - public Class<ResourceImplementation> getModelType() { - // Returns the type of model processed by this processor - return ResourceImplementation.class; - } - - public ResourceImplementation read(XMLStreamReader reader) throws ContributionReadException { - assert IMPLEMENTATION_RESOURCE.equals(reader.getName()); - - // Read an <implementation.resource> element - try { - // Read the directory attribute. This is where the sample - // CRUD implementation will persist resources. - String location = reader.getAttributeValue(null, "location"); - - // Create an initialize the resource implementationmodel - ResourceImplementation implementation = resourceFactory.createResourceImplementation(); - implementation.setLocation(location); - implementation.setUnresolved(true); - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && IMPLEMENTATION_RESOURCE.equals(reader.getName())) { - break; - } - } - - return implementation; - } catch (XMLStreamException e) { - throw new ContributionReadException(e); - } - } - - public void resolve(ResourceImplementation impl, ModelResolver resolver) throws ContributionResolveException { - - // Resolve the resource directory location - DeployedArtifact artifact = contributionFactory.createDeployedArtifact(); - artifact.setURI(impl.getLocation()); - DeployedArtifact resolved = resolver.resolveModel(DeployedArtifact.class, artifact); - if (resolved.getLocation() != null) { - try { - impl.setLocationURL(new URL(resolved.getLocation())); - impl.setUnresolved(false); - } catch (IOException e) { - throw new ContributionResolveException(e); - } - } - } - - public void write(ResourceImplementation model, XMLStreamWriter outputSource) throws ContributionWriteException { - } -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/module/ResourceImplementationModuleActivator.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/module/ResourceImplementationModuleActivator.java deleted file mode 100644 index c53bec5234..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/module/ResourceImplementationModuleActivator.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.implementation.resource.module; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.binding.resource.DefaultHTTPResourceBindingFactory; -import org.apache.tuscany.sca.binding.resource.HTTPResourceBindingFactory; -import org.apache.tuscany.sca.binding.resource.impl.HTTPResourceBindingProcessor; -import org.apache.tuscany.sca.binding.resource.provider.HTTPResourceBindingProviderFactory; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ModuleActivator; -import org.apache.tuscany.sca.http.ServletHost; -import org.apache.tuscany.sca.implementation.resource.DefaultResourceImplementationFactory; -import org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory; -import org.apache.tuscany.sca.implementation.resource.impl.ResourceImplementationProcessor; -import org.apache.tuscany.sca.implementation.resource.provider.ResourceImplementationProviderFactory; -import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.introspect.ExtensibleJavaInterfaceIntrospector; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; - -/** - * Implements a module activator for the resource implementation extension module. - */ -public class ResourceImplementationModuleActivator implements ModuleActivator { - - public Object[] getExtensionPoints() { - // This module extension does not contribute any new extension point - return null; - } - - public void start(ExtensionPointRegistry registry) { - - // Create the resource binding factory - ModelFactoryExtensionPoint factories = registry.getExtensionPoint(ModelFactoryExtensionPoint.class); - HTTPResourceBindingFactory bindingFactory = new DefaultHTTPResourceBindingFactory(); - factories.addFactory(bindingFactory); - - // Create the resource implementation factory - AssemblyFactory assemblyFactory = factories.getFactory(AssemblyFactory.class); - JavaInterfaceFactory javaFactory = new DefaultJavaInterfaceFactory(); - JavaInterfaceIntrospectorExtensionPoint visitors = registry.getExtensionPoint(JavaInterfaceIntrospectorExtensionPoint.class); - JavaInterfaceIntrospector introspector = new ExtensibleJavaInterfaceIntrospector(javaFactory, visitors); - ResourceImplementationFactory resourceFactory = new DefaultResourceImplementationFactory(assemblyFactory, javaFactory, introspector, bindingFactory); - factories.addFactory(resourceFactory); - - // Add the resource binding extension to the StAXArtifactProcessor - // extension point - StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - HTTPResourceBindingProcessor bindingArtifactProcessor = new HTTPResourceBindingProcessor(bindingFactory); - processors.addArtifactProcessor(bindingArtifactProcessor); - - // Add the resource implementation extension to the StAXArtifactProcessor - // extension point - ContributionFactory contributionFactory = factories.getFactory(ContributionFactory.class); - ResourceImplementationProcessor implementationArtifactProcessor = new ResourceImplementationProcessor(resourceFactory, contributionFactory); - processors.addArtifactProcessor(implementationArtifactProcessor); - - // Add the provider factories to the provider factory extension point - ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class); - ServletHost servletHost = registry.getExtensionPoint(ServletHost.class); - providerFactories.addProviderFactory(new HTTPResourceBindingProviderFactory(servletHost)); - providerFactories.addProviderFactory(new ResourceImplementationProviderFactory()); - - } - - public void stop(ExtensionPointRegistry registry) { - } -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProvider.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProvider.java deleted file mode 100644 index a6294fc327..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProvider.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.resource.provider; - -import org.apache.tuscany.sca.implementation.resource.ResourceImplementation; -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; - -/** - * The model representing a resource implementation in an SCA assembly model. - */ -public class ResourceImplementationProvider implements ImplementationProvider { - - private ResourceImplementation implementation; - - /** - * Constructs a new resource implementation provider. - */ - public ResourceImplementationProvider(RuntimeComponent component, ResourceImplementation implementation) { - this.implementation = implementation; - } - - public Invoker createInvoker(RuntimeComponentService service, Operation operation) { - ResourceInvoker invoker = new ResourceInvoker(implementation.getLocationURL()); - return invoker; - } - - public Invoker createCallbackInvoker(Operation operation) { - return null; - } - - public void start() { - } - - public void stop() { - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProviderFactory.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProviderFactory.java deleted file mode 100644 index c5e6d34184..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProviderFactory.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.implementation.resource.provider; - -import org.apache.tuscany.sca.implementation.resource.ResourceImplementation; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * The model representing a resource implementation in an SCA assembly model. - */ -public class ResourceImplementationProviderFactory implements ImplementationProviderFactory<ResourceImplementation> { - - /** - * Constructs a resource implementation. - */ - public ResourceImplementationProviderFactory() { - } - - public ImplementationProvider createImplementationProvider(RuntimeComponent component, ResourceImplementation implementation) { - return new ResourceImplementationProvider(component, implementation); - } - - public Class<ResourceImplementation> getModelType() { - return ResourceImplementation.class; - } -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceInvoker.java b/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceInvoker.java deleted file mode 100644 index 96717642b3..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceInvoker.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.resource.provider; - -import java.net.URL; - -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; - -/** - * Implements an invoker for resource component implementations. - */ -public class ResourceInvoker implements Invoker { - private URL locationURL; - - public ResourceInvoker(URL locationURL) { - this.locationURL = locationURL; - } - - public Message invoke(Message msg) { - // Return the location URL - msg.setBody(locationURL); - return msg; - } - -} diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/branches/sca-java-0.91/modules/implementation-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index f85ec0c7b7..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/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.resource.module.ResourceImplementationModuleActivator
diff --git a/branches/sca-java-0.91/modules/implementation-resource/src/test/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationTestCase.java b/branches/sca-java-0.91/modules/implementation-resource/src/test/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationTestCase.java deleted file mode 100644 index 9d334c7247..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/test/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationTestCase.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.implementation.resource; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.Socket; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * @version $Rev$ $Date$ - */ -public class ResourceImplementationTestCase extends TestCase { - -// private static final String REQUEST1_HEADER = -// "GET /ResourceServiceComponent/test.html HTTP/1.0\n" + "Host: localhost\n" -// + "Content-Type: text/xml\n" -// + "Connection: close\n" -// + "Content-Length: "; -// private static final String REQUEST1_CONTENT = ""; -// private static final String REQUEST1 = -// REQUEST1_HEADER + REQUEST1_CONTENT.getBytes().length + "\n\n" + REQUEST1_CONTENT; - - private static final String REQUEST2_HEADER = - "GET /webcontent/test.html HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String REQUEST2_CONTENT = ""; - private static final String REQUEST2 = - REQUEST2_HEADER + REQUEST2_CONTENT.getBytes().length + "\n\n" + REQUEST2_CONTENT; - - private static final int HTTP_PORT = 8085; - - private SCADomain scaDomain; - - protected void setUp() throws Exception { - scaDomain = SCADomain.newInstance("resource.composite"); - } - - protected void tearDown() throws Exception { - scaDomain.close(); - } - - // This works with port 8080 but we can't use that port on the build - // machine as it's already in use -// public void testResourceImplementation() throws Exception { -// Socket client = new Socket("127.0.0.1", HTTP_PORT); -// OutputStream os = client.getOutputStream(); -// os.write(REQUEST1.getBytes()); -// os.flush(); -// -// String document = read(client); -// assertTrue(document.indexOf("<body><p>hello</body>") != -1); -// } - - public void testResourceImplementationWithBindingURI() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - os.write(REQUEST2.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("<body><p>hello</body>") != -1); - } - - private 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-java-0.91/modules/implementation-resource/src/test/resources/content/test.html b/branches/sca-java-0.91/modules/implementation-resource/src/test/resources/content/test.html deleted file mode 100644 index f4b79d7f01..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/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-java-0.91/modules/implementation-resource/src/test/resources/resource.composite b/branches/sca-java-0.91/modules/implementation-resource/src/test/resources/resource.composite deleted file mode 100644 index 6fb7052410..0000000000 --- a/branches/sca-java-0.91/modules/implementation-resource/src/test/resources/resource.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" - targetNamespace="http://sample/resource" - xmlns:sr="http://sample/resource" - name="resource"> - - <!-- This works with port 8080 but we can't test this on the build machine - as 8080 is already in use --> - <!-- - <component name="ResourceServiceComponent"> - <implementation.resource location="content"/> - </component> - --> - - <component name="ResourceServiceComponent2"> - <service name="Resource"> - <binding.resource uri="http://localhost:8085/webcontent"/> - </service> - <implementation.resource location="content"/> - </component> - -</composite> |