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;