You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2011/08/25 15:19:05 UTC
svn commit: r1161554 - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/management/mbean/
camel-core/src/main/java/org/apache/camel/model/
camel-core/src/main/java/org/apache/camel/util/
camel-core/src/test/java/org/apache/camel/util/ platfor...
Author: cschneider
Date: Thu Aug 25 13:19:04 2011
New Revision: 1161554
URL: http://svn.apache.org/viewvc?rev=1161554&view=rev
Log:
Move ModelHelper from util to model to avoid references from util to model
Added:
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
Removed:
camel/trunk/camel-core/src/main/java/org/apache/camel/util/ModelHelper.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlAggregateRouteTest.java
camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlChoiceFilterRouteTest.java
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/InfoRouteCommand.java
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ShowRouteCommand.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java?rev=1161554&r1=1161553&r2=1161554&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java Thu Aug 25 13:19:04 2011
@@ -27,13 +27,13 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.ServiceStatus;
+import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.spi.ManagementStrategy;
import org.apache.camel.spi.management.ManagedAttribute;
import org.apache.camel.spi.management.ManagedOperation;
import org.apache.camel.spi.management.ManagedResource;
-import org.apache.camel.util.ModelHelper;
/**
* @version
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java?rev=1161554&r1=1161553&r2=1161554&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java Thu Aug 25 13:19:04 2011
@@ -24,12 +24,12 @@ import org.apache.camel.Endpoint;
import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
+import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.management.ManagedAttribute;
import org.apache.camel.spi.management.ManagedOperation;
import org.apache.camel.spi.management.ManagedResource;
-import org.apache.camel.util.ModelHelper;
import org.apache.camel.util.ObjectHelper;
@ManagedResource(description = "Managed Route")
Added: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java?rev=1161554&view=auto
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java (added)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java Thu Aug 25 13:19:04 2011
@@ -0,0 +1,81 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS 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.model;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+
+import org.apache.camel.CamelContext;
+
+/**
+ * Helper for the Camel {@link org.apache.camel.model model} classes.
+ */
+public final class ModelHelper {
+
+ private ModelHelper() {
+ // utility class
+ }
+
+ /**
+ * Dumps the definition as XML
+ *
+ * @param definition the definition, such as a {@link org.apache.camel.model.RouteDefinition}
+ * @return the output in XML (is formatted)
+ * @throws JAXBException is throw if error marshalling to XML
+ */
+ public static String dumpModelAsXml(OptionalIdentifiedDefinition definition) throws JAXBException {
+ // create a new jaxb context
+ // must use classloader from CamelContext to have JAXB working
+ JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader());
+
+ Marshaller marshaller = jaxbContext.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+ StringWriter buffer = new StringWriter();
+ marshaller.marshal(definition, buffer);
+
+ return buffer.toString();
+ }
+
+ /**
+ * Marshal the xml to the model definition
+ *
+ * @param xml the xml
+ * @param type the definition type to return, will throw a {@link ClassCastException} if not the expected type
+ * @return the model definition
+ * @throws javax.xml.bind.JAXBException is thrown if error unmarshalling from xml to model
+ */
+ public static <T extends OptionalIdentifiedDefinition> T createModelFromXml(String xml, Class<T> type) throws JAXBException {
+ // create a new jaxb context
+ // must use classloader from CamelContext to have JAXB working
+ JAXBContext jaxbContext = JAXBContext.newInstance(Constants.JAXB_CONTEXT_PACKAGES, CamelContext.class.getClassLoader());
+
+ StringReader reader = new StringReader(xml);
+ Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
+ Object result = unmarshaller.unmarshal(reader);
+ reader.close();
+
+ if (result == null) {
+ throw new JAXBException("Cannot unmarshal to " + type + " using JAXB from XML: " + xml);
+ }
+
+ return type.cast(result);
+ }
+}
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlAggregateRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlAggregateRouteTest.java?rev=1161554&r1=1161553&r2=1161554&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlAggregateRouteTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlAggregateRouteTest.java Thu Aug 25 13:19:04 2011
@@ -18,6 +18,7 @@ package org.apache.camel.util;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.ModelHelper;
/**
*
Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlChoiceFilterRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlChoiceFilterRouteTest.java?rev=1161554&r1=1161553&r2=1161554&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlChoiceFilterRouteTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlChoiceFilterRouteTest.java Thu Aug 25 13:19:04 2011
@@ -18,6 +18,7 @@ package org.apache.camel.util;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.ModelHelper;
/**
*
Modified: camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/InfoRouteCommand.java
URL: http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/InfoRouteCommand.java?rev=1161554&r1=1161553&r2=1161554&view=diff
==============================================================================
--- camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/InfoRouteCommand.java (original)
+++ camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/InfoRouteCommand.java Thu Aug 25 13:19:04 2011
@@ -20,14 +20,15 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.Set;
+
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.camel.CamelContext;
import org.apache.camel.Route;
import org.apache.camel.management.DefaultManagementAgent;
+import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.util.ModelHelper;
import org.apache.felix.gogo.commands.Argument;
import org.apache.felix.gogo.commands.Command;
import org.apache.karaf.shell.console.OsgiCommandSupport;
Modified: camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ShowRouteCommand.java
URL: http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ShowRouteCommand.java?rev=1161554&r1=1161553&r2=1161554&view=diff
==============================================================================
--- camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ShowRouteCommand.java (original)
+++ camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ShowRouteCommand.java Thu Aug 25 13:19:04 2011
@@ -17,8 +17,8 @@
package org.apache.camel.karaf.commands;
import org.apache.camel.Route;
+import org.apache.camel.model.ModelHelper;
import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.util.ModelHelper;
import org.apache.felix.gogo.commands.Argument;
import org.apache.felix.gogo.commands.Command;
import org.apache.karaf.shell.console.OsgiCommandSupport;