You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/09/05 10:45:10 UTC
svn commit: r572899 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/component/bean/
camel-core/src/main/java/org/apache/camel/component/direct/
camel-core/src/main/java/org/apache/camel/component/file/
camel-core/src/main/java/org...
Author: jstrachan
Date: Wed Sep 5 01:45:02 2007
New Revision: 572899
URL: http://svn.apache.org/viewvc?rev=572899&view=rev
Log:
added better error handling when introspecting endpoints with URI parameters and also now support enums so we can do foo:bar?exchangePattern=InOut
Added:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/EnumTypeConverter.java
- copied, changed from r572881, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/ArrayTypeConverter.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/PropertyEditorTypeConverter.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/CamelInitialContextFactory.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/JndiContext.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomExchangePatternTest.java
activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalComponent.java
activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/BamProcessorSupport.java
activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
activemq/camel/trunk/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java Wed Sep 5 01:45:02 2007
@@ -57,7 +57,7 @@
protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
Object bean = getBean(remaining);
BeanProcessor processor = new BeanProcessor(bean, getCamelContext(), getParameterMappingStrategy());
- IntrospectionSupport.setProperties(processor, parameters);
+ setProperties(processor, parameters);
return new ProcessorEndpoint(uri, this, processor);
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java Wed Sep 5 01:45:02 2007
@@ -16,17 +16,11 @@
*/
package org.apache.camel.component.direct;
-import java.net.URI;
-import java.util.Map;
-import java.util.concurrent.ScheduledExecutorService;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.util.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
+import org.apache.camel.impl.DefaultComponent;
+
+import java.util.Map;
/**
* Represents the component that manages {@link DirectEndpoint}. It holds the
@@ -34,33 +28,11 @@
*
* @version $Revision: 519973 $
*/
-public class DirectComponent<E extends Exchange> implements Component<E> {
-
- private CamelContext context;
-
- public CamelContext getCamelContext() {
- return context;
- }
-
- public ScheduledExecutorService getExecutorService() {
- return null;
- }
-
- public Endpoint<E> createEndpoint(String uri) throws Exception {
-
- ObjectHelper.notNull(getCamelContext(), "camelContext");
- URI u = new URI(uri);
- Map parameters = URISupport.parseParamters(u);
+public class DirectComponent<E extends Exchange> extends DefaultComponent<E> {
+ protected Endpoint<E> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
Endpoint<E> endpoint = new DirectEndpoint<E>(uri, this);
- if (parameters != null) {
- IntrospectionSupport.setProperties(endpoint, parameters);
- }
+ setProperties(endpoint, parameters);
return endpoint;
}
-
- public void setCamelContext(CamelContext context) {
- this.context = context;
- }
-
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java Wed Sep 5 01:45:02 2007
@@ -16,13 +16,12 @@
*/
package org.apache.camel.component.file;
-import java.io.File;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
+
+import java.io.File;
+import java.util.Map;
/**
* The <a href="http://activemq.apache.org/camel/file.html">File Component</a>
@@ -43,7 +42,7 @@
protected Endpoint<FileExchange> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
File file = new File(remaining);
FileEndpoint result = new FileEndpoint(file, uri, this);
- IntrospectionSupport.setProperties(result, parameters);
+ setProperties(result, parameters);
return result;
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java Wed Sep 5 01:45:02 2007
@@ -86,7 +86,7 @@
* @see org.apache.camel.Endpoint#createExchange()
*/
public FileExchange createExchange(File file) {
- return new FileExchange(getContext(), getDefaultPattern(), file);
+ return new FileExchange(getContext(), getExchangePattern(), file);
}
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXComponent.java Wed Sep 5 01:45:02 2007
@@ -16,12 +16,12 @@
*/
package org.apache.camel.component.jmx;
-import java.util.Map;
-import javax.management.MBeanServer;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
+
+import javax.management.MBeanServer;
+import java.util.Map;
/**
* The <a href="http://activemq.apache.org/camel/jmx.html">JMX Component</a>
@@ -43,7 +43,7 @@
throws Exception {
JMXEndpoint result = new JMXEndpoint(remaining, this);
- IntrospectionSupport.setProperties(result, parameters);
+ setProperties(result, parameters);
result.setMbeanServer(getMbeanServer());
return result;
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java Wed Sep 5 01:45:02 2007
@@ -92,11 +92,11 @@
}
public JMXExchange createExchange(Notification notification) {
- return new JMXExchange(getContext(), getDefaultPattern(), notification);
+ return new JMXExchange(getContext(), getExchangePattern(), notification);
}
public JMXExchange createExchange() {
- return new JMXExchange(getContext(), getDefaultPattern(), null);
+ return new JMXExchange(getContext(), getExchangePattern(), null);
}
public JMXExchange createExchange(ExchangePattern pattern) {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java Wed Sep 5 01:45:02 2007
@@ -18,9 +18,7 @@
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.component.bean.BeanExchange;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
import java.util.Collection;
import java.util.HashMap;
@@ -53,7 +51,7 @@
@Override
protected Endpoint<Exchange> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
TimerEndpoint answer = new TimerEndpoint(uri, this, remaining);
- IntrospectionSupport.setProperties(answer, parameters);
+ setProperties(answer, parameters);
return answer;
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java Wed Sep 5 01:45:02 2007
@@ -70,7 +70,7 @@
ScheduledPollEndpoint scheduledPollEndpoint = (ScheduledPollEndpoint)endpoint;
scheduledPollEndpoint.configureProperties(parameters);
}
- IntrospectionSupport.setProperties(endpoint, parameters);
+ setProperties(endpoint, parameters);
}
return endpoint;
}
@@ -131,4 +131,11 @@
*/
protected abstract Endpoint<E> createEndpoint(String uri, String remaining, Map parameters)
throws Exception;
+
+ /**
+ * Sets the bean properties on the given bean
+ */
+ protected void setProperties(Object bean, Map parameters) throws Exception {
+ IntrospectionSupport.setProperties(getCamelContext().getTypeConverter(), bean, parameters);
+ }
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java Wed Sep 5 01:45:02 2007
@@ -39,7 +39,7 @@
private CamelContext context;
private Component component;
private ScheduledExecutorService executorService;
- private ExchangePattern defaultPattern = ExchangePattern.InOnly;
+ private ExchangePattern exchangePattern = ExchangePattern.InOnly;
protected DefaultEndpoint(String endpointUri, Component component) {
this(endpointUri, component.getCamelContext());
@@ -151,19 +151,19 @@
}
public E createExchange() {
- return createExchange(getDefaultPattern());
+ return createExchange(getExchangePattern());
}
public E createExchange(ExchangePattern pattern) {
return (E) new DefaultExchange(getContext(), pattern);
}
- public ExchangePattern getDefaultPattern() {
- return defaultPattern;
+ public ExchangePattern getExchangePattern() {
+ return exchangePattern;
}
- public void setDefaultPattern(ExchangePattern defaultPattern) {
- this.defaultPattern = defaultPattern;
+ public void setExchangePattern(ExchangePattern exchangePattern) {
+ this.exchangePattern = exchangePattern;
}
protected ScheduledThreadPoolExecutor createExecutorService() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java Wed Sep 5 01:45:02 2007
@@ -44,9 +44,10 @@
this.consumerProperties = consumerProperties;
}
- protected void configureConsumer(Consumer<E> consumer) {
+ protected void configureConsumer(Consumer<E> consumer) throws Exception {
if (consumerProperties != null) {
- IntrospectionSupport.setProperties(consumer, consumerProperties);
+ // TODO pass in type converter
+ IntrospectionSupport.setProperties(getContext().getTypeConverter(), consumer, consumerProperties);
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/DefaultTypeConverter.java Wed Sep 5 01:45:02 2007
@@ -51,16 +51,12 @@
addFallbackConverter(new PropertyEditorTypeConverter());
addFallbackConverter(new ToStringTypeConverter());
addFallbackConverter(new ArrayTypeConverter());
+ addFallbackConverter(new EnumTypeConverter());
}
public <T> T convertTo(Class<T> toType, Object value) {
if (toType.isInstance(value)) {
return toType.cast(value);
- } else if (toType.isPrimitive()) {
- Class primitiveType = ObjectHelper.convertPrimitiveTypeToWrapperType(toType);
- if (primitiveType != toType) {
- return (T)convertTo(primitiveType, value);
- }
}
checkLoaded();
TypeConverter converter = getOrFindTypeConverter(toType, value);
@@ -78,9 +74,14 @@
// lets avoid NullPointerException when converting to boolean for null
// values
if (boolean.class.isAssignableFrom(toType)) {
- return (T)Boolean.FALSE;
+ return (T) Boolean.FALSE;
+ }
+ if (toType.isPrimitive()) {
+ Class primitiveType = ObjectHelper.convertPrimitiveTypeToWrapperType(toType);
+ if (primitiveType != toType) {
+ return (T) convertTo(primitiveType, value);
+ }
}
-
return null;
}
Copied: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/EnumTypeConverter.java (from r572881, activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/ArrayTypeConverter.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/EnumTypeConverter.java?p2=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/EnumTypeConverter.java&p1=activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/ArrayTypeConverter.java&r1=572881&r2=572899&rev=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/ArrayTypeConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/EnumTypeConverter.java Wed Sep 5 01:45:02 2007
@@ -16,58 +16,32 @@
*/
package org.apache.camel.impl.converter;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.TypeConverter;
+import org.apache.camel.util.ObjectHelper;
+
+import java.lang.reflect.Method;
/**
* A type converter which is used to convert to and from array types
* particularly for derived types of array component types and dealing with
* primitive array types.
- *
+ *
* @version $Revision: $
*/
-public class ArrayTypeConverter implements TypeConverter {
+public class EnumTypeConverter implements TypeConverter {
public <T> T convertTo(Class<T> type, Object value) {
- if (type.isArray()) {
- if (value instanceof Collection) {
- Collection collection = (Collection)value;
- Object array = Array.newInstance(type.getComponentType(), collection.size());
- if (array instanceof Object[]) {
- collection.toArray((Object[])array);
- } else {
- int index = 0;
- for (Object element : collection) {
- Array.set(array, index++, element);
- }
- }
- return (T)array;
- } else if (value != null && value.getClass().isArray()) {
- int size = Array.getLength(value);
- Object answer = Array.newInstance(type.getComponentType(), size);
- for (int i = 0; i < size; i++) {
- Array.set(answer, i, Array.get(value, i));
- }
- return (T)answer;
+ if (type.isEnum() && value != null) {
+ String text = value.toString();
+ Method method = null;
+ try {
+ method = type.getMethod("valueOf", String.class);
}
- } else if (Collection.class.isAssignableFrom(type)) {
- if (value != null) {
- if (value instanceof Object[]) {
- return (T)Arrays.asList((Object[])value);
- } else if (value.getClass().isArray()) {
- int size = Array.getLength(value);
- List answer = new ArrayList(size);
- for (int i = 0; i < size; i++) {
- answer.add(Array.get(value, i));
- }
- return (T)answer;
- }
+ catch (NoSuchMethodException e) {
+ throw new RuntimeCamelException("Could not find valueOf method on enum type: " + type.getName());
}
+ return (T) ObjectHelper.invokeMethod(method, null, text);
}
return null;
}
-}
+}
\ No newline at end of file
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/PropertyEditorTypeConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/PropertyEditorTypeConverter.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/PropertyEditorTypeConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/PropertyEditorTypeConverter.java Wed Sep 5 01:45:02 2007
@@ -16,11 +16,12 @@
*/
package org.apache.camel.impl.converter;
+import org.apache.camel.TypeConverter;
+import org.apache.camel.util.ObjectHelper;
+
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
-import org.apache.camel.TypeConverter;
-
/**
* Uses the java.beans.PropertyEditor conversion system to convert Objects to
* and from String values.
@@ -37,17 +38,18 @@
return null;
}
+
if (value.getClass() == String.class) {
// No conversion needed.
if (toType == String.class) {
- return toType.cast(value);
+ return ObjectHelper.cast(toType, value);
}
PropertyEditor editor = PropertyEditorManager.findEditor(toType);
if (editor != null) {
editor.setAsText(value.toString());
- return toType.cast(editor.getValue());
+ return ObjectHelper.cast(toType, editor.getValue());
}
} else if (toType == String.class) {
@@ -55,9 +57,8 @@
PropertyEditor editor = PropertyEditorManager.findEditor(value.getClass());
if (editor != null) {
editor.setValue(value);
- return toType.cast(editor.getAsText());
+ return ObjectHelper.cast(toType, editor.getAsText());
}
-
}
return null;
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/IntrospectionSupport.java Wed Sep 5 01:45:02 2007
@@ -16,7 +16,8 @@
*/
package org.apache.camel.util;
-import java.beans.Introspector;
+import org.apache.camel.TypeConverter;
+
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
import java.lang.reflect.Field;
@@ -107,7 +108,7 @@
return method;
}
- public static boolean setProperties(Object target, Map props, String optionPrefix) {
+ public static boolean setProperties(Object target, Map props, String optionPrefix) throws Exception {
boolean rc = false;
if (target == null) {
throw new IllegalArgumentException("target was null.");
@@ -150,7 +151,7 @@
return rc;
}
- public static boolean setProperties(Object target, Map props) {
+ public static boolean setProperties(TypeConverter typeConverter, Object target, Map props) throws Exception {
boolean rc = false;
if (target == null) {
@@ -162,7 +163,7 @@
for (Iterator iter = props.entrySet().iterator(); iter.hasNext();) {
Map.Entry entry = (Entry)iter.next();
- if (setProperty(target, (String)entry.getKey(), entry.getValue())) {
+ if (setProperty(typeConverter, target, (String)entry.getKey(), entry.getValue())) {
iter.remove();
rc = true;
}
@@ -171,10 +172,14 @@
return rc;
}
- public static boolean setProperty(Object target, String name, Object value) {
+ public static boolean setProperties(Object target, Map props) throws Exception {
+ return setProperties(null, target, props);
+ }
+
+ public static boolean setProperty(TypeConverter typeConverter, Object target, String name, Object value) throws Exception {
try {
Class clazz = target.getClass();
- Method setter = findSetterMethod(clazz, name);
+ Method setter = findSetterMethod(typeConverter, clazz, name);
if (setter == null) {
return false;
}
@@ -185,15 +190,37 @@
setter.invoke(target, new Object[] {value});
} else {
// We need to convert it
- setter.invoke(target, new Object[] {convert(value, setter.getParameterTypes()[0])});
+ Object convertedValue = convert(typeConverter, setter.getParameterTypes()[0], value);
+ setter.invoke(target, new Object[] {convertedValue});
}
return true;
- } catch (Throwable ignore) {
- return false;
}
+ catch (InvocationTargetException e) {
+ Throwable throwable = e.getTargetException();
+ if (throwable instanceof Exception) {
+ Exception exception = (Exception) throwable;
+ throw exception;
+ }
+ else {
+ Error error = (Error) throwable;
+ throw error;
+ }
+ }
+ }
+
+
+ public static boolean setProperty(Object target, String name, Object value) throws Exception {
+ return setProperty(null, target, name, value);
}
- private static Object convert(Object value, Class type) throws URISyntaxException {
+ private static Object convert(TypeConverter typeConverter, Class type, Object value) throws URISyntaxException {
+ if (typeConverter != null) {
+ Object answer = typeConverter.convertTo(type, value);
+ if (answer == null) {
+ throw new IllegalArgumentException("Could not convert \"" + value + "\" to " + type.getName());
+ }
+ return answer;
+ }
PropertyEditor editor = PropertyEditorManager.findEditor(type);
if (editor != null) {
editor.setAsText(value.toString());
@@ -217,16 +244,21 @@
return null;
}
- private static Method findSetterMethod(Class clazz, String name) {
+ private static Method findSetterMethod(TypeConverter typeConverter, Class clazz, String name) {
// Build the method name.
- name = "set" + name.substring(0, 1).toUpperCase() + name.substring(1);
- Method[] methods = clazz.getMethods();
- for (int i = 0; i < methods.length; i++) {
- Method method = methods[i];
- Class params[] = method.getParameterTypes();
- if (method.getName().equals(name) && params.length == 1 && isSettableType(params[0])) {
- return method;
+ name = "set" + ObjectHelper.capitalize(name);
+ while (clazz != Object.class) {
+ Method[] methods = clazz.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ Class params[] = method.getParameterTypes();
+ if (method.getName().equals(name) && params.length == 1) {
+ if (typeConverter != null || isSettableType(params[0])) {
+ return method;
+ }
+ }
}
+ clazz = clazz.getSuperclass();
}
return null;
}
@@ -318,5 +350,4 @@
}
}
-
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java Wed Sep 5 01:45:02 2007
@@ -369,6 +369,10 @@
rc = Short.class;
} else if (type == byte.class) {
rc = Byte.class;
+/*
+ } else if (type == boolean.class) {
+ rc = Boolean.class;
+*/
}
}
return rc;
@@ -419,6 +423,27 @@
catch (IOException e) {
log.warn("Could not close " + name + ". Reason: "+ e, e);
}
+ }
+ }
+
+ /**
+ * Converts the given value to the required type or throw a meaningful exception
+ */
+ public static <T> T cast(Class<T> toType, Object value) {
+ if (toType == boolean.class) {
+ return (T) cast(Boolean.class, value);
+ }
+ else if (toType.isPrimitive()) {
+ Class newType = convertPrimitiveTypeToWrapperType(toType);
+ if (newType != toType) {
+ return (T) cast(newType, value);
+ }
+ }
+ try {
+ return toType.cast(value);
+ }
+ catch (ClassCastException e) {
+ throw new IllegalArgumentException("Failed to convert: " + value + " to type: " + toType.getName() + " due to: " + e, e);
}
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/CamelInitialContextFactory.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/CamelInitialContextFactory.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/CamelInitialContextFactory.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/CamelInitialContextFactory.java Wed Sep 5 01:45:02 2007
@@ -32,6 +32,16 @@
public class CamelInitialContextFactory implements InitialContextFactory {
public Context getInitialContext(Hashtable environment) throws NamingException {
- return new JndiContext(environment);
+ try {
+ return new JndiContext(environment);
+ }
+ catch (NamingException e) {
+ throw e;
+ }
+ catch (Exception e) {
+ NamingException exception = new NamingException(e.getMessage());
+ exception.initCause(e);
+ throw exception;
+ }
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/JndiContext.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/JndiContext.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/JndiContext.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/jndi/JndiContext.java Wed Sep 5 01:45:02 2007
@@ -63,11 +63,11 @@
private boolean frozen;
private String nameInNamespace = "";
- public JndiContext() {
+ public JndiContext() throws Exception {
this(new Hashtable());
}
- public JndiContext(Hashtable env) {
+ public JndiContext(Hashtable env) throws Exception {
this(env, createBindingsMapFromEnvironment(env));
}
@@ -102,7 +102,7 @@
* properties using $foo.class to point to a class name with $foo.* being
* properties set on the injected bean
*/
- public static Map createBindingsMapFromEnvironment(Hashtable env) {
+ public static Map createBindingsMapFromEnvironment(Hashtable env) throws Exception {
Map answer = new HashMap(env);
for (Object object : env.entrySet()) {
@@ -192,7 +192,12 @@
}
protected JndiContext newContext() {
- return new JndiContext();
+ try {
+ return new JndiContext();
+ }
+ catch (Exception e) {
+ throw new IllegalArgumentException(e);
+ }
}
public Object addToEnvironment(String propName, Object propVal) throws NamingException {
@@ -436,7 +441,7 @@
}
}
- protected static Object createBean(Class<?> type, Map properties, String prefix) {
+ protected static Object createBean(Class<?> type, Map properties, String prefix) throws Exception {
Object value = INJETOR.newInstance(type);
IntrospectionSupport.setProperties(value, properties, prefix);
return value;
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java Wed Sep 5 01:45:02 2007
@@ -29,6 +29,7 @@
import junit.framework.TestCase;
import org.apache.camel.TypeConverter;
+import org.apache.camel.util.IntrospectionSupport;
import org.apache.camel.impl.ReflectionInjector;
import org.apache.camel.impl.converter.DefaultTypeConverter;
import org.apache.commons.logging.Log;
@@ -53,12 +54,6 @@
}
}
-
- @Override
- protected void setUp() throws Exception {
- PropertyEditorManager.registerEditor(Integer.class, IntegerPropertyEditor.class);
- }
-
public void testIntegerPropertyEditorConversion() throws Exception {
Integer value = converter.convertTo(Integer.class, "1000");
assertNotNull(value);
@@ -160,4 +155,28 @@
int value = converter.convertTo(int.class, 4);
assertEquals("value", 4, value);
}
+
+ public void testPrimitiveIntPropertySetter() throws Exception {
+ MyBean bean = new MyBean();
+ IntrospectionSupport.setProperty(converter, bean, "foo", "4");
+ assertEquals("bean.foo", 4, bean.getFoo());
+ }
+
+ public static class MyBean {
+ private int foo;
+
+ public int getFoo() {
+ return foo;
+ }
+
+ public void setFoo(int foo) {
+ this.foo = foo;
+ }
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ PropertyEditorManager.registerEditor(Integer.class, IntegerPropertyEditor.class);
+ }
+
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomExchangePatternTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomExchangePatternTest.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomExchangePatternTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomExchangePatternTest.java Wed Sep 5 01:45:02 2007
@@ -58,6 +58,20 @@
assertReceivedExpectedPattern(expectedPattern);
}
+ public void testInOutViaUri() throws Exception {
+ final ExchangePattern expectedPattern = ExchangePattern.InOut;
+
+ template.send("direct:start?exchangePattern=InOut", new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ assertEquals("MEP", expectedPattern, exchange.getPattern());
+ exchange.getIn().setBody("<hello>world!</hello>");
+ }
+ });
+
+ resultEndpoint.assertIsSatisfied();
+ assertReceivedExpectedPattern(expectedPattern);
+ }
+
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -75,6 +89,7 @@
return new RouteBuilder() {
public void configure() {
from("direct:start").to("mock:result");
+ from("direct:start?exchangePattern=InOut").to("mock:result");
}
};
}
Modified: activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalComponent.java (original)
+++ activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalComponent.java Wed Sep 5 01:45:02 2007
@@ -16,13 +16,12 @@
*/
package org.apache.camel.component.activemq;
-import java.io.File;
-import java.util.Map;
-
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
+
+import java.io.File;
+import java.util.Map;
/**
* The <a href="http://activemq.apache.org/camel/activemq.html">ActiveMQ Component</a>
@@ -34,7 +33,7 @@
@Override
protected Endpoint<Exchange> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
JournalEndpoint endpoint = new JournalEndpoint(uri, this, new File(remaining));
- IntrospectionSupport.setProperties(endpoint, parameters);
+ setProperties(endpoint, parameters);
return endpoint;
}
}
Modified: activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java (original)
+++ activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java Wed Sep 5 01:45:02 2007
@@ -19,7 +19,6 @@
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
import java.util.Map;
@@ -31,7 +30,7 @@
public class AtomComponent extends DefaultComponent {
protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
AtomEndpoint answer = new AtomEndpoint(uri, this, remaining);
- IntrospectionSupport.setProperties(answer, parameters);
+ setProperties(answer, parameters);
return answer;
}
}
Modified: activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/BamProcessorSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/BamProcessorSupport.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/BamProcessorSupport.java (original)
+++ activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/BamProcessorSupport.java Wed Sep 5 01:45:02 2007
@@ -139,7 +139,7 @@
// -----------------------------------------------------------------------
protected abstract void processEntity(Exchange exchange, T entity) throws Exception;
- protected abstract T loadEntity(Exchange exchange, Object key);
+ protected abstract T loadEntity(Exchange exchange, Object key) throws Exception;
protected abstract Class getKeyType();
Modified: activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java (original)
+++ activemq/camel/trunk/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessorSupport.java Wed Sep 5 01:45:02 2007
@@ -103,7 +103,7 @@
// Implementatiom methods
// -----------------------------------------------------------------------
- protected T loadEntity(Exchange exchange, Object key) {
+ protected T loadEntity(Exchange exchange, Object key) throws Exception {
T entity = findEntityByCorrelationKey(key);
if (entity == null) {
entity = createEntity(exchange, key);
@@ -148,11 +148,11 @@
/**
* Sets the key property on the new entity
*/
- protected void setKeyProperty(T entity, Object key) {
+ protected void setKeyProperty(T entity, Object key) throws Exception {
IntrospectionSupport.setProperty(entity, getKeyPropertyName(), key);
}
- protected void setProcessDefinitionProperty(T entity, ProcessDefinition processDefinition) {
+ protected void setProcessDefinitionProperty(T entity, ProcessDefinition processDefinition) throws Exception {
IntrospectionSupport.setProperty(entity, "processDefinition", processDefinition);
}
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java Wed Sep 5 01:45:02 2007
@@ -16,12 +16,11 @@
*/
package org.apache.camel.component.cxf;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
+
+import java.util.Map;
/**
@@ -43,7 +42,7 @@
protected Endpoint<CxfExchange> createEndpoint(String uri, String remaining, Map parameters) throws Exception {
// now we need to add the address, endpoint name, wsdl url or the SEI to build up a endpoint
CxfEndpoint result = new CxfEndpoint(uri, remaining, this);
- IntrospectionSupport.setProperties(result, parameters);
+ setProperties(result, parameters);
return result;
}
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Wed Sep 5 01:45:02 2007
@@ -23,7 +23,6 @@
import org.apache.camel.Producer;
import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.message.Message;
@@ -58,7 +57,7 @@
}
public CxfExchange createExchange() {
- return new CxfExchange(getContext(), getDefaultPattern(), getBinding());
+ return new CxfExchange(getContext(), getExchangePattern(), getBinding());
}
public CxfExchange createExchange(ExchangePattern pattern) {
@@ -66,7 +65,7 @@
}
public CxfExchange createExchange(Message inMessage) {
- return new CxfExchange(getContext(), getDefaultPattern(), getBinding(), inMessage);
+ return new CxfExchange(getContext(), getExchangePattern(), getBinding(), inMessage);
}
public boolean isInvoker() {
Modified: activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java (original)
+++ activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileComponent.java Wed Sep 5 01:45:02 2007
@@ -16,13 +16,12 @@
*/
package org.apache.camel.component.file.remote;
-import java.net.URI;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
+
+import java.net.URI;
+import java.util.Map;
public class RemoteFileComponent extends DefaultComponent<RemoteFileExchange> {
private RemoteFileConfiguration configuration;
@@ -63,7 +62,7 @@
throw new RuntimeCamelException("Unsupported protocol: " + config.getProtocol());
}
- IntrospectionSupport.setProperties(endpoint.getConfiguration(), parameters);
+ setProperties(endpoint.getConfiguration(), parameters);
return endpoint;
}
Modified: activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Wed Sep 5 01:45:02 2007
@@ -35,7 +35,7 @@
}
public T createExchange() {
- return (T) new RemoteFileExchange(getContext(), getDefaultPattern(), getBinding());
+ return (T) new RemoteFileExchange(getContext(), getExchangePattern(), getBinding());
}
public T createExchange(ExchangePattern pattern) {
@@ -43,7 +43,7 @@
}
public T createExchange(String fullFileName, ByteArrayOutputStream outputStream) {
- return (T) new RemoteFileExchange(getContext(), getDefaultPattern(), getBinding(), getConfiguration().getHost(), fullFileName, outputStream);
+ return (T) new RemoteFileExchange(getContext(), getExchangePattern(), getBinding(), getConfiguration().getHost(), fullFileName, outputStream);
}
public RemoteFileBinding getBinding() {
Modified: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java (original)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java Wed Sep 5 01:45:02 2007
@@ -16,19 +16,17 @@
*/
package org.apache.camel.component.irc;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.schwering.irc.lib.IRCConnection;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* Defines the <a href="http://activemq.apache.org/camel/irc.html">IRC Component</a>
*
@@ -64,7 +62,7 @@
// customize its own version
final IrcEndpoint endpoint = new IrcEndpoint(uri, this, config);
- IntrospectionSupport.setProperties(endpoint.getConfiguration(), parameters);
+ setProperties(endpoint.getConfiguration(), parameters);
return endpoint;
}
Modified: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java Wed Sep 5 01:45:02 2007
@@ -47,35 +47,35 @@
}
public IrcExchange createOnPrivmsgExchange(String target, IRCUser user, String msg) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
}
public IrcExchange createOnNickExchange(IRCUser user, String newNick) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("NICK", user, newNick));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("NICK", user, newNick));
}
public IrcExchange createOnQuitExchange(IRCUser user, String msg) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("QUIT", user, msg));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("QUIT", user, msg));
}
public IrcExchange createOnJoinExchange(String channel, IRCUser user) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("JOIN", channel, user));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("JOIN", channel, user));
}
public IrcExchange createOnKickExchange(String channel, IRCUser user, String whoWasKickedNick, String msg) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
}
public IrcExchange createOnModeExchange(String channel, IRCUser user, IRCModeParser modeParser) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
}
public IrcExchange createOnPartExchange(String channel, IRCUser user, String msg) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("PART", channel, user, msg));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("PART", channel, user, msg));
}
public IrcExchange createOnTopicExchange(String channel, IRCUser user, String topic) {
- return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
+ return new IrcExchange(getContext(), getExchangePattern(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
}
public IrcProducer createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java (original)
+++ activemq/camel/trunk/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java Wed Sep 5 01:45:02 2007
@@ -16,16 +16,14 @@
*/
package org.apache.camel.component.validator.jing;
-import java.util.Map;
-
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.component.ResourceBasedComponent;
import org.apache.camel.impl.ProcessorEndpoint;
-import org.apache.camel.util.IntrospectionSupport;
-
import org.springframework.core.io.Resource;
+import java.util.Map;
+
/**
* A component for validating XML payloads using the
* <a href="http://www.thaiopensource.com/relaxng/jing.html">Jing library</a>
@@ -45,6 +43,6 @@
}
protected void configureValidator(JingValidator validator, String uri, String remaining, Map parameters) throws Exception {
- IntrospectionSupport.setProperties(validator, parameters);
+ setProperties(validator, parameters);
}
}
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java Wed Sep 5 01:45:02 2007
@@ -19,7 +19,6 @@
import javax.jms.Message;
import javax.jms.MessageListener;
-import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.RuntimeCamelException;
@@ -62,7 +61,7 @@
}
public JmsExchange createExchange(Message message) {
- return new JmsExchange(endpoint.getContext(), endpoint.getDefaultPattern(), getBinding(), message);
+ return new JmsExchange(endpoint.getContext(), endpoint.getExchangePattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java Wed Sep 5 01:45:02 2007
@@ -16,23 +16,19 @@
*/
package org.apache.camel.component.jms;
-import java.util.Map;
-
-import javax.jms.ConnectionFactory;
-import javax.jms.ExceptionListener;
-import javax.jms.Session;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
-
+import static org.apache.camel.util.ObjectHelper.removeStartingCharacters;
import org.springframework.core.task.TaskExecutor;
import org.springframework.jms.listener.serversession.ServerSessionFactory;
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.transaction.PlatformTransactionManager;
-import static org.apache.camel.util.ObjectHelper.removeStartingCharacters;
+import javax.jms.ConnectionFactory;
+import javax.jms.ExceptionListener;
+import javax.jms.Session;
+import java.util.Map;
/**
* A <a href="http://activemq.apache.org/jms.html">JMS Component</a>
@@ -130,7 +126,7 @@
if (selector != null) {
endpoint.setSelector(selector);
}
- IntrospectionSupport.setProperties(endpoint.getConfiguration(), parameters);
+ setProperties(endpoint.getConfiguration(), parameters);
return endpoint;
}
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Wed Sep 5 01:45:02 2007
@@ -97,7 +97,7 @@
}
public JmsExchange createExchange(Message message) {
- return new JmsExchange(getContext(), getDefaultPattern(), getBinding(), message);
+ return new JmsExchange(getContext(), getExchangePattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java Wed Sep 5 01:45:02 2007
@@ -16,13 +16,12 @@
*/
package org.apache.camel.component.mail;
-import java.net.URI;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IntrospectionSupport;
+
+import java.net.URI;
+import java.util.Map;
/**
* @version $Revision:520964 $
@@ -66,7 +65,7 @@
// lets make sure we copy the configuration as each endpoint can customize its own version
MailEndpoint endpoint = new MailEndpoint(uri, this, config);
- IntrospectionSupport.setProperties(endpoint.getConfiguration(), parameters);
+ setProperties(endpoint.getConfiguration(), parameters);
return endpoint;
}
Modified: activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java Wed Sep 5 01:45:02 2007
@@ -85,7 +85,7 @@
}
public MailExchange createExchange(Message message) {
- return new MailExchange(getContext(), getDefaultPattern(), getBinding(), message);
+ return new MailExchange(getContext(), getExchangePattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java Wed Sep 5 01:45:02 2007
@@ -59,7 +59,7 @@
}
public MinaExchange createExchange(IoSession session, Object object) {
- MinaExchange exchange = new MinaExchange(getContext(), getDefaultPattern());
+ MinaExchange exchange = new MinaExchange(getContext(), getExchangePattern());
exchange.getIn().setBody(object);
// TODO store session in exchange?
return exchange;
Modified: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java (original)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java Wed Sep 5 01:45:02 2007
@@ -16,15 +16,11 @@
*/
package org.apache.camel.component.quartz;
-import java.net.URI;
-import java.util.Map;
-
import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultComponent;
import org.apache.camel.util.IntrospectionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
@@ -33,6 +29,9 @@
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
+import java.net.URI;
+import java.util.Map;
+
/**
* A <a href="http://activemq.apache.org/camel/quartz.html">Quartz Component</a>
*
@@ -98,8 +97,8 @@
Map triggerParameters = IntrospectionSupport.extractProperties(parameters, "trigger.");
Map jobParameters = IntrospectionSupport.extractProperties(parameters, "job.");
- IntrospectionSupport.setProperties(trigger, triggerParameters);
- IntrospectionSupport.setProperties(answer.getJobDetail(), jobParameters);
+ setProperties(trigger, triggerParameters);
+ setProperties(answer.getJobDetail(), jobParameters);
return answer;
}
Modified: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java Wed Sep 5 01:45:02 2007
@@ -124,7 +124,7 @@
}
public QuartzExchange createExchange(JobExecutionContext jobExecutionContext) {
- return new QuartzExchange(getContext(), getDefaultPattern(), jobExecutionContext);
+ return new QuartzExchange(getContext(), getExchangePattern(), jobExecutionContext);
}
public Producer<QuartzExchange> createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java Wed Sep 5 01:45:02 2007
@@ -16,16 +16,14 @@
*/
package org.apache.camel.component.validator;
-import java.util.Map;
-
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.component.ResourceBasedComponent;
import org.apache.camel.impl.ProcessorEndpoint;
-import org.apache.camel.util.IntrospectionSupport;
-
import org.springframework.core.io.Resource;
+import java.util.Map;
+
/**
* The <a href="http://activemq.apache.org/camel/validator.html">Validator Component</a>
* for validating XML against some schema
@@ -46,6 +44,6 @@
}
protected void configureValidator(SpringValidator validator, String uri, String remaining, Map parameters) throws Exception {
- IntrospectionSupport.setProperties(validator, parameters);
+ setProperties(validator, parameters);
}
}
Modified: activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java?rev=572899&r1=572898&r2=572899&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java Wed Sep 5 01:45:02 2007
@@ -84,7 +84,7 @@
}
public XmppExchange createExchange(Message message) {
- return new XmppExchange(getContext(), getDefaultPattern(), getBinding(), message);
+ return new XmppExchange(getContext(), getExchangePattern(), getBinding(), message);
}
// Properties