summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2013-10-07 22:23:21 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2013-10-07 22:23:21 +0000
commit5963a2d3d6860fe57afc138f095bf2d2eb5a7b80 (patch)
tree018d3d8c637e265b8292d34e5f7c11ca8ce11b7d /sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs
parent132aa8a77685ec92bc90c03f987650d275a7b639 (diff)
Official Tuscany 2.0.1 Release
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1530096 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs')
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementation.java39
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementationFactory.java33
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationFactoryImpl.java37
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationImpl.java85
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/xml/JAXRSImplementationProcessor.java162
5 files changed, 0 insertions, 356 deletions
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementation.java b/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementation.java
deleted file mode 100644
index 8180ab2849..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementation.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.jaxrs;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.assembly.Base;
-import org.apache.tuscany.sca.assembly.Implementation;
-
-/**
- * The model representing an Web implementation in an SCA assembly model.
- */
-public interface JAXRSImplementation extends Implementation {
- QName TYPE = new QName(Base.SCA11_TUSCANY_NS, "implementation.jaxrs");
-
- String getApplication();
-
- void setApplication(String application);
-
- Class<?> getApplicationClass();
-
- void setApplicationClass(Class<?> applicationClass);
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementationFactory.java b/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementationFactory.java
deleted file mode 100644
index 109857741c..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/JAXRSImplementationFactory.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.jaxrs;
-
-/**
- * Factory for the JAX-RS implementation model.
- */
-public interface JAXRSImplementationFactory {
-
- /**
- * Creates a new JAX-RS implementation.
- * @return a new JAX-RS implementation
- */
- JAXRSImplementation createJAXRSImplementation();
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationFactoryImpl.java b/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationFactoryImpl.java
deleted file mode 100644
index 46d38e4131..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationFactoryImpl.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.jaxrs.impl;
-
-import org.apache.tuscany.sca.implementation.jaxrs.JAXRSImplementation;
-import org.apache.tuscany.sca.implementation.jaxrs.JAXRSImplementationFactory;
-
-/**
- * Factory for the Web implementation model.
- */
-public class JAXRSImplementationFactoryImpl implements JAXRSImplementationFactory {
-
- public JAXRSImplementationFactoryImpl() {
- }
-
- public JAXRSImplementation createJAXRSImplementation() {
- return new JAXRSImplementationImpl();
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationImpl.java b/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationImpl.java
deleted file mode 100644
index 4c19f1b52e..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/impl/JAXRSImplementationImpl.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.implementation.jaxrs.impl;
-
-import org.apache.tuscany.sca.assembly.impl.ImplementationImpl;
-import org.apache.tuscany.sca.implementation.jaxrs.JAXRSImplementation;
-
-/**
- * The model representing an Web implementation in an SCA assembly model.
- */
-public class JAXRSImplementationImpl extends ImplementationImpl implements JAXRSImplementation {
-
- private String application;
- private Class<?> applicationClass;
-
- /**
- * Constructs a new JAXRS implementation.
- */
- public JAXRSImplementationImpl() {
- super(TYPE);
- }
-
- public String getApplication() {
- return application;
- }
-
- public void setApplication(String application) {
- this.application = application;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = super.hashCode();
- result = prime * result + ((application == null) ? 0 : application.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (!super.equals(obj)) {
- return false;
- }
- if (!(obj instanceof JAXRSImplementationImpl)) {
- return false;
- }
- JAXRSImplementationImpl other = (JAXRSImplementationImpl)obj;
- if (application == null) {
- if (other.application != null) {
- return false;
- }
- } else if (!application.equals(other.application)) {
- return false;
- }
- return true;
- }
-
- public Class<?> getApplicationClass() {
- return applicationClass;
- }
-
- public void setApplicationClass(Class<?> applicationClass) {
- this.applicationClass = applicationClass;
- }
-
-}
diff --git a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/xml/JAXRSImplementationProcessor.java b/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/xml/JAXRSImplementationProcessor.java
deleted file mode 100644
index da25b6edd5..0000000000
--- a/sca-java-2.x/tags/2.0.1-RC1/modules/implementation-jaxrs/src/main/java/org/apache/tuscany/sca/implementation/jaxrs/xml/JAXRSImplementationProcessor.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * 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.jaxrs.xml;
-
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Application;
-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.Service;
-import org.apache.tuscany.sca.binding.rest.RESTBinding;
-import org.apache.tuscany.sca.binding.rest.RESTBindingFactory;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
-import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
-import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ClassReference;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.implementation.jaxrs.JAXRSImplementation;
-import org.apache.tuscany.sca.implementation.jaxrs.JAXRSImplementationFactory;
-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.oasisopen.sca.ServiceRuntimeException;
-
-/**
- * Implements a StAX artifact processor for Web implementations.
- */
-public class JAXRSImplementationProcessor extends BaseStAXArtifactProcessor implements
- StAXArtifactProcessor<JAXRSImplementation> {
- private static final QName IMPLEMENTATION_JAXRS = JAXRSImplementation.TYPE;
-
- private AssemblyFactory assemblyFactory;
- private JAXRSImplementationFactory implementationFactory;
- private RESTBindingFactory restBindingFactory;
- private JavaInterfaceFactory javaInterfaceFactory;
-
- public JAXRSImplementationProcessor(ExtensionPointRegistry extensionPoints) {
- FactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class);
- this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
- this.implementationFactory = modelFactories.getFactory(JAXRSImplementationFactory.class);
- this.restBindingFactory = modelFactories.getFactory(RESTBindingFactory.class);
- this.javaInterfaceFactory = modelFactories.getFactory(JavaInterfaceFactory.class);
- }
-
- public QName getArtifactType() {
- // Returns the QName of the XML element processed by this processor
- return IMPLEMENTATION_JAXRS;
- }
-
- public Class<JAXRSImplementation> getModelType() {
- // Returns the type of model processed by this processor
- return JAXRSImplementation.class;
- }
-
- public JAXRSImplementation read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException,
- XMLStreamException {
-
- // Read an <implementation.web> element
- JAXRSImplementation implementation = implementationFactory.createJAXRSImplementation();
- implementation.setUnresolved(true);
-
- String application = reader.getAttributeValue(null, "application");
- if (application != null) {
- implementation.setApplication(application);
- }
-
- // Skip to end element
- while (reader.hasNext()) {
- if (reader.next() == END_ELEMENT && IMPLEMENTATION_JAXRS.equals(reader.getName())) {
- break;
- }
- }
-
- return implementation;
- }
-
- public void resolve(JAXRSImplementation implementation, ModelResolver resolver, ProcessorContext context)
- throws ContributionResolveException {
-
- ClassReference classReference = new ClassReference(implementation.getApplication());
- classReference = resolver.resolveModel(ClassReference.class, classReference, context);
- implementation.setApplicationClass(classReference.getJavaClass());
- implementation.setUnresolved(false);
-
- Application application;
- try {
- application = (Application) implementation.getApplicationClass().newInstance();
- } catch (Exception e) {
- throw new ContributionResolveException(e);
- }
-
- for(Class<?> rootResourceClass: application.getClasses()) {
- addService(implementation, rootResourceClass);
- }
- for(Object rootResource: application.getSingletons()) {
- addService(implementation, rootResource.getClass());
- }
-
- }
-
- private void addService(JAXRSImplementation implementation, Class<?> rootResourceClass) {
- Service service = assemblyFactory.createService();
- JavaInterfaceContract contract = javaInterfaceFactory.createJavaInterfaceContract();
- JavaInterface javaInterface;
- try {
- javaInterface = javaInterfaceFactory.createJavaInterface(rootResourceClass);
- } catch (InvalidInterfaceException e) {
- throw new ServiceRuntimeException(e);
- }
- contract.setInterface(javaInterface);
- service.setInterfaceContract(contract);
- RESTBinding binding = restBindingFactory.createRESTBinding();
- // FIXME: The @ApplicationPath is available for JAX-RS 1.1
- // binding.setURI("/");
- Path path = rootResourceClass.getAnnotation(Path.class);
- if (path != null) {
- binding.setURI(path.value());
- }
- service.getBindings().add(binding);
- service.setName(rootResourceClass.getSimpleName());
- implementation.getServices().add(service);
- }
-
- public void write(JAXRSImplementation implementation, XMLStreamWriter writer, ProcessorContext context)
- throws ContributionWriteException, XMLStreamException {
-
- // Write <implementation.jaxrs>
- writeStart(writer,
- IMPLEMENTATION_JAXRS.getNamespaceURI(),
- IMPLEMENTATION_JAXRS.getLocalPart(),
- new XAttr("application", implementation.getApplication()));
-
- writeEnd(writer);
- }
-}