You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2010/01/18 15:12:35 UTC
svn commit: r900401 - in /camel/trunk/components/camel-web: pom.xml
src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java
src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java
Author: cmoulliard
Date: Mon Jan 18 14:12:35 2010
New Revision: 900401
URL: http://svn.apache.org/viewvc?rev=900401&view=rev
Log:
Solve issue related to JSON (Json providers were not imported)
Added:
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java (with props)
Modified:
camel/trunk/components/camel-web/pom.xml
camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java
Modified: camel/trunk/components/camel-web/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/pom.xml?rev=900401&r1=900400&r2=900401&view=diff
==============================================================================
--- camel/trunk/components/camel-web/pom.xml (original)
+++ camel/trunk/components/camel-web/pom.xml Mon Jan 18 14:12:35 2010
@@ -587,7 +587,7 @@
com.sun.jersey.spi.container;resolution:=optional,
com.sun.jersey.spi.inject;resolution:=optional,
com.sun.jersey.spi.resource;resolution:=optional,
- com.sun.jersey.spi.spring.container.servlet;resolution:=optional
+ com.sun.jersey.spi.spring.container.servlet;resolution:=optional,
com.sun.org.apache.xerces.internal.jaxp;resolution:=optional,
com.sun.research.ws.wadl;resolution:=optional,
com.sun.xml.bind.v2.ContextFactory;resolution:=optional,
@@ -651,6 +651,7 @@
WEB-INF/lib/jersey-core-1.1.5-ea-SNAPSHOT.jar,
WEB-INF/lib/jersey-server-1.1.5-ea-SNAPSHOT.jar,
WEB-INF/lib/jersey-spring-1.1.5-ea-SNAPSHOT.jar,
+ WEB-INF/lib/jersey-json-1.1.5-ea-SNAPSHOT.jar,
WEB-INF/tags/api
</osgi.classpath>
<osgi.private.pkg></osgi.private.pkg>
@@ -740,6 +741,52 @@
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-core</artifactId>
+ <version>${jersey-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.activation-api-1.1</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.jaxb-api-2.1</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.stax-api-1.0</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>${jersey-version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.activation-api-1.1</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.jaxb-api-2.1</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.stax-api-1.0</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>${jersey-version}</version>
<exclusions>
Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java?rev=900401&r1=900400&r2=900401&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java (original)
+++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java Mon Jan 18 14:12:35 2010
@@ -63,7 +63,7 @@
RouteResource.class.getName(),
RoutesResource.class.getName(),
RouteStatusResource.class.getName(),
- JAXBContextResolver.class.getName(),
+ JAXBContextResolverOSGI.class.getName(),
JAXBMarshallerResolver.class.getName()
};
Added: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java?rev=900401&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java (added)
+++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java Mon Jan 18 14:12:35 2010
@@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.web.util;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import com.sun.jersey.api.json.JSONConfiguration;
+import com.sun.jersey.api.json.JSONJAXBContext;
+
+import javax.ws.rs.ext.ContextResolver;
+import javax.ws.rs.ext.Provider;
+import javax.xml.bind.JAXBContext;
+
+import org.apache.camel.web.model.Camel;
+import org.apache.camel.web.model.EndpointLink;
+import org.apache.camel.web.model.Endpoints;
+
+/**
+ * A resolver of the JAXB context OSGI primed for the Camel XML languages
+ * which supports JSON as well as XML encoding
+ *
+ * @version $Revision: 892691 $
+ */
+@Provider
+public final class JAXBContextResolverOSGI implements ContextResolver<JAXBContext> {
+ private final JAXBContext context;
+ private String packages;
+
+ public JAXBContextResolverOSGI() throws Exception {
+ this.packages = org.apache.camel.web.resources.Constants.JAXB_PACKAGES;
+ this.context = new JSONJAXBContext( JSONConfiguration.natural().build(), this.packages );
+
+ }
+
+ public JAXBContext getContext(Class objectType) {
+ Package aPackage = objectType.getPackage();
+ if (aPackage != null) {
+ String name = aPackage.getName();
+ if (name.length() > 0) {
+ if (packages.contains(name)) {
+ return context;
+ }
+ }
+ }
+ return null;
+ }
+
+ public String getPackages() {
+ return packages;
+ }
+
+ public JAXBContext getContext() {
+ return context;
+ }
+}
Propchange: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/util/JAXBContextResolverOSGI.java
------------------------------------------------------------------------------
svn:eol-style = native