You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2011/08/26 16:33:32 UTC

Re: svn commit: r1161953 - in /camel/trunk/camel-core/src: main/java/org/apache/camel/component/ main/java/org/apache/camel/component/bean/ main/java/org/apache/camel/component/browse/ main/java/org/apache/camel/component/dataset/ main/java/org/apach

It should be possible for people to create an endpoint without any component.
A component is not mandatory for an endpoint.

And the code in the setEndpointUriIfXXX (cant remember the name)
where you just try to get a component name from the given uri is not a
good idea.
The setter should not introduce side effects.

People can create their custom endpoint without a component, and give
the endpoint and uri, such as "myCoolEndpoint".
That endpoint has no component, but its still a first class endpoint
like any other.

So I suggest to remove that logic, which kinda auto lookup a component
from the given uri.







On Fri, Aug 26, 2011 at 3:07 AM,  <ha...@apache.org> wrote:
> Author: hadrian
> Date: Fri Aug 26 01:07:17 2011
> New Revision: 1161953
>
> URL: http://svn.apache.org/viewvc?rev=1161953&view=rev
> Log:
> CAMEL-4376. Deprecate and remove usage of wrong constructors for DefaultEndpoint in camel-core.
>
> Modified:
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/ResourceBasedEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultPollingEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java
>    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/browse/BrowseEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/test/TestEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/component/timer/TimerEndpointTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomProducerServicePoolTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheLimitTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/Endpoint2MustBeStartedBeforeSendProcessorTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/EndpointMustBeStartedBeforeSendProcessorTest.java
>    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/ResourceBasedEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/ResourceBasedEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/ResourceBasedEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/ResourceBasedEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -21,7 +21,6 @@ import java.io.IOException;
>  import java.io.InputStream;
>
>  import org.apache.camel.Component;
> -import org.apache.camel.Processor;
>  import org.apache.camel.converter.IOConverter;
>  import org.apache.camel.impl.ProcessorEndpoint;
>  import org.apache.camel.util.IOHelper;
> @@ -42,10 +41,6 @@ public class ResourceBasedEndpoint exten
>     public ResourceBasedEndpoint() {
>     }
>
> -    public ResourceBasedEndpoint(String endpointUri, Processor processor) {
> -        super(endpointUri, processor);
> -    }
> -
>     public ResourceBasedEndpoint(String endpointUri, Component component, String resourceUri) {
>         super(endpointUri, component);
>         this.resourceUri = resourceUri;
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -37,16 +37,6 @@ public class BeanEndpoint extends Proces
>         init();
>     }
>
> -    public BeanEndpoint(String endpointUri) {
> -        super(endpointUri);
> -        init();
> -    }
> -
> -    public BeanEndpoint(String endpointUri, BeanProcessor processor) {
> -        super(endpointUri, processor);
> -        init();
> -    }
> -
>     public BeanEndpoint(String endpointUri, Component component, BeanProcessor processor) {
>         super(endpointUri, component, processor);
>         init();
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -19,7 +19,6 @@ package org.apache.camel.component.brows
>  import java.util.List;
>  import java.util.concurrent.CopyOnWriteArrayList;
>
> -import org.apache.camel.CamelContext;
>  import org.apache.camel.Component;
>  import org.apache.camel.Consumer;
>  import org.apache.camel.Exchange;
> @@ -46,18 +45,10 @@ public class BrowseEndpoint extends Defa
>     public BrowseEndpoint() {
>     }
>
> -    public BrowseEndpoint(String uri, CamelContext camelContext) {
> -        super(uri, camelContext);
> -    }
> -
>     public BrowseEndpoint(String uri, Component component) {
>         super(uri, component);
>     }
>
> -    public BrowseEndpoint(String endpointUri) {
> -        super(endpointUri);
> -    }
> -
>     public boolean isSingleton() {
>         return true;
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -57,12 +57,6 @@ public class DataSetEndpoint extends Moc
>         this.log = LoggerFactory.getLogger(endpointUri);
>     }
>
> -    public DataSetEndpoint(String endpointUri, DataSet dataSet) {
> -        super(endpointUri);
> -        this.dataSet = dataSet;
> -        this.log = LoggerFactory.getLogger(endpointUri);
> -    }
> -
>     public static void assertEquals(String description, Object expected, Object actual, Exchange exchange) {
>         if (!ObjectHelper.equal(expected, actual)) {
>             throw new AssertionError(description + " does not match. Expected: " + expected + " but was: " + actual + " on " + exchange + " with headers: " + exchange.getIn().getHeaders());
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -39,11 +39,6 @@ public class DirectEndpoint extends Defa
>         this.consumers = new HashMap<String, DirectConsumer>();
>     }
>
> -    public DirectEndpoint(String endpointUri) {
> -        super(endpointUri);
> -        this.consumers = new HashMap<String, DirectConsumer>();
> -    }
> -
>     public DirectEndpoint(String endpointUri, Component component) {
>         this(endpointUri, component, new HashMap<String, DirectConsumer>());
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -105,6 +105,7 @@ public class MockEndpoint extends Defaul
>         init();
>     }
>
> +    @Deprecated
>     public MockEndpoint(String endpointUri) {
>         super(endpointUri);
>         init();
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -70,17 +70,6 @@ public class SedaEndpoint extends Defaul
>         this.concurrentConsumers = concurrentConsumers;
>     }
>
> -    public SedaEndpoint(String endpointUri, BlockingQueue<Exchange> queue) {
> -        this(endpointUri, queue, 1);
> -    }
> -
> -    public SedaEndpoint(String endpointUri, BlockingQueue<Exchange> queue, int concurrentConsumers) {
> -        super(endpointUri);
> -        this.queue = queue;
> -        this.size = queue.remainingCapacity();
> -        this.concurrentConsumers = concurrentConsumers;
> -    }
> -
>     public Producer createProducer() throws Exception {
>         return new SedaProducer(this, getQueue(), getWaitForTaskToComplete(), getTimeout(), isBlockWhenFull());
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -19,6 +19,7 @@ package org.apache.camel.component.timer
>  import java.util.Date;
>  import java.util.Timer;
>
> +import org.apache.camel.Component;
>  import org.apache.camel.Consumer;
>  import org.apache.camel.Processor;
>  import org.apache.camel.Producer;
> @@ -47,20 +48,11 @@ public class TimerEndpoint extends Defau
>     public TimerEndpoint() {
>     }
>
> -    public TimerEndpoint(String fullURI, TimerComponent component, String timerName) {
> -        super(fullURI, component);
> +    public TimerEndpoint(String uri, Component component, String timerName) {
> +        super(uri, component);
>         this.timerName = timerName;
>     }
>
> -    public TimerEndpoint(String endpointUri, Timer timer) {
> -        this(endpointUri);
> -        this.timer = timer;
> -    }
> -
> -    public TimerEndpoint(String endpointUri) {
> -        super(endpointUri);
> -    }
> -
>     public Producer createProducer() throws Exception {
>         throw new RuntimeCamelException("Cannot produce to a TimerEndpoint: " + getEndpointUri());
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -62,8 +62,9 @@ public abstract class DefaultEndpoint ex
>      * @param component the component that created this endpoint
>      */
>     protected DefaultEndpoint(String endpointUri, Component component) {
> -        this(endpointUri, component.getCamelContext());
> +        this.camelContext = component == null ? null : component.getCamelContext();
>         this.component = component;
> +        this.setEndpointUri(endpointUri);
>     }
>
>     /**
> @@ -74,6 +75,7 @@ public abstract class DefaultEndpoint ex
>      * @param endpointUri the full URI used to create this endpoint
>      * @param camelContext the Camel Context in which this endpoint is operating
>      */
> +    @Deprecated
>     protected DefaultEndpoint(String endpointUri, CamelContext camelContext) {
>         this(endpointUri);
>         this.camelContext = camelContext;
> @@ -86,6 +88,7 @@ public abstract class DefaultEndpoint ex
>      *
>      * @param endpointUri the full URI used to create this endpoint
>      */
> +    @Deprecated
>     protected DefaultEndpoint(String endpointUri) {
>         this.setEndpointUri(endpointUri);
>     }
> @@ -266,7 +269,13 @@ public abstract class DefaultEndpoint ex
>      * where it has not been explicitly configured using the name/context in which an Endpoint is created.
>      */
>     public void setEndpointUriIfNotSpecified(String value) {
> -        if (endpointUri == null) {
> +        if (endpointUri == null && value != null) {
> +               // FIXME: set the component first
> +               // ObjectHelper.notNull(camelContext, "camelContext");
> +               int s = value.indexOf(":");
> +               if (camelContext != null && s > 0) {
> +                       component = camelContext.getComponent(value.substring(0, s));
> +               }
>             setEndpointUri(value);
>         }
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultPollingEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultPollingEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultPollingEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultPollingEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -31,14 +31,16 @@ public abstract class DefaultPollingEndp
>     protected DefaultPollingEndpoint() {
>     }
>
> -    protected DefaultPollingEndpoint(String endpointUri) {
> -        super(endpointUri);
> -    }
> -
>     protected DefaultPollingEndpoint(String endpointUri, Component component) {
>         super(endpointUri, component);
>     }
>
> +    @Deprecated
> +    protected DefaultPollingEndpoint(String endpointUri) {
> +        super(endpointUri);
> +    }
> +
> +    @Deprecated
>     protected DefaultPollingEndpoint(String endpointUri, CamelContext context) {
>         super(endpointUri, context);
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -28,7 +28,7 @@ import org.apache.camel.Producer;
>  * given {@link Processor}. This component does not support the use of
>  * consumers.
>  * <p/>
> - * <br/>Implementators beware that this endpoint creates producers and consumers which
> + * <br/>Implementors beware that this endpoint creates producers and consumers which
>  * doesn't allow you full control of its lifecycle as a {@link org.apache.camel.Service}
>  * or {@link org.apache.camel.SuspendableService} would do.
>  * If your producers/consumers need more control of its lifecycle its adviced instead to extend
> @@ -43,12 +43,9 @@ public class ProcessorEndpoint extends D
>     protected ProcessorEndpoint() {
>     }
>
> -    protected ProcessorEndpoint(String endpointUri) {
> -        super(endpointUri);
> -    }
> -
>     public ProcessorEndpoint(String endpointUri, CamelContext context, Processor processor) {
> -        super(endpointUri, context);
> +        super(endpointUri);
> +        this.setCamelContext(context);
>         this.processor = processor;
>     }
>
> @@ -57,11 +54,6 @@ public class ProcessorEndpoint extends D
>         this.processor = processor;
>     }
>
> -    public ProcessorEndpoint(String endpointUri, Processor processor) {
> -        super(endpointUri);
> -        this.processor = processor;
> -    }
> -
>     protected ProcessorEndpoint(String endpointUri, Component component) {
>         super(endpointUri, component);
>     }
>
> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java (original)
> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollEndpoint.java Fri Aug 26 01:07:17 2011
> @@ -38,10 +38,12 @@ public abstract class ScheduledPollEndpo
>         super(endpointUri, component);
>     }
>
> +    @Deprecated
>     protected ScheduledPollEndpoint(String endpointUri, CamelContext context) {
>         super(endpointUri, context);
>     }
>
> +    @Deprecated
>     protected ScheduledPollEndpoint(String endpointUri) {
>         super(endpointUri);
>     }
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -40,30 +40,7 @@ public class BeanEndpointTest extends Co
>     public void testBeanEndpointCtr() throws Exception {
>         final BeanEndpoint endpoint = new BeanEndpoint();
>         endpoint.setCamelContext(context);
> -
> -        endpoint.setBeanName("foo");
> -        assertEquals("foo", endpoint.getBeanName());
> -
> -        assertEquals(false, endpoint.isCache());
> -        assertNull(endpoint.getBeanHolder());
> -        assertNull(endpoint.getMethod());
> -        assertEquals("bean:foo", endpoint.getEndpointUri());
> -
> -        context.addRoutes(new RouteBuilder() {
> -            @Override
> -            public void configure() throws Exception {
> -                from("direct:start").to(endpoint);
> -            }
> -        });
> -        context.start();
> -
> -        String out = template.requestBody("direct:start", "World", String.class);
> -        assertEquals("Hello World", out);
> -    }
> -
> -    public void testBeanEndpointCtrUri() throws Exception {
> -        final BeanEndpoint endpoint = new BeanEndpoint("bean:foo");
> -        endpoint.setCamelContext(context);
> +        endpoint.setEndpointUriIfNotSpecified("bean:foo");
>
>         endpoint.setBeanName("foo");
>         assertEquals("foo", endpoint.getBeanName());
> @@ -116,33 +93,6 @@ public class BeanEndpointTest extends Co
>         BeanHolder holder = new RegistryBean(context, "foo");
>         final BeanProcessor bp = new BeanProcessor(holder);
>         final BeanEndpoint endpoint = new BeanEndpoint("bean:foo", comp, bp);
> -        endpoint.setCamelContext(context);
> -
> -        endpoint.setBeanName("foo");
> -        assertEquals("foo", endpoint.getBeanName());
> -
> -        assertEquals(false, endpoint.isCache());
> -        assertNull(endpoint.getBeanHolder());
> -        assertNull(endpoint.getMethod());
> -        assertEquals("bean:foo", endpoint.getEndpointUri());
> -
> -        context.addRoutes(new RouteBuilder() {
> -            @Override
> -            public void configure() throws Exception {
> -                from("direct:start").to(endpoint);
> -            }
> -        });
> -        context.start();
> -
> -        String out = template.requestBody("direct:start", "World", String.class);
> -        assertEquals("Hello World", out);
> -    }
> -
> -    public void testBeanEndpointCtrBeanProcessor() throws Exception {
> -        BeanHolder holder = new RegistryBean(context, "foo");
> -        final BeanProcessor bp = new BeanProcessor(holder);
> -        final BeanEndpoint endpoint = new BeanEndpoint("bean:foo", bp);
> -        endpoint.setCamelContext(context);
>
>         endpoint.setBeanName("foo");
>         assertEquals("foo", endpoint.getBeanName());
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/browse/BrowseEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/browse/BrowseEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/browse/BrowseEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/browse/BrowseEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -29,24 +29,7 @@ public class BrowseEndpointTest extends
>         return false;
>     }
>
> -    public void testBrowseEndpoint() throws Exception {
> -        final BrowseEndpoint be = new BrowseEndpoint("browse://foo");
> -        be.setCamelContext(context);
> -
> -        context.addRoutes(new RouteBuilder() {
> -            @Override
> -            public void configure() throws Exception {
> -                from("direct:start").to(be);
> -            }
> -        });
> -        context.start();
> -
> -        template.sendBody("direct:start", "Hello World");
> -
> -        assertEquals(1, be.getExchanges().size());
> -    }
> -
> -    public void testBrowseEndpointAnother() throws Exception {
> +    public void testBrowseEndpointDefaultConstructor() throws Exception {
>         final BrowseEndpoint be = new BrowseEndpoint();
>         be.setCamelContext(context);
>         be.setEndpointUriIfNotSpecified("browse://foo");
> @@ -64,8 +47,8 @@ public class BrowseEndpointTest extends
>         assertEquals(1, be.getExchanges().size());
>     }
>
> -    public void testBrowseEndpointYetAnother() throws Exception {
> -        final BrowseEndpoint be = new BrowseEndpoint("browse://foo", context);
> +    public void testBrowseEndpointUriConstructor() throws Exception {
> +        final BrowseEndpoint be = new BrowseEndpoint("browse://foo", context.getComponent("browse"));
>
>         context.addRoutes(new RouteBuilder() {
>             @Override
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/DataSetEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -60,9 +60,7 @@ public class DataSetEndpointTest extends
>     }
>
>     public void testDataSetEndpointCtr() throws Exception {
> -        final DataSetEndpoint endpoint = new DataSetEndpoint("dataset://foo", new SimpleDataSet(2));
> -        endpoint.setCamelContext(context);
> -        endpoint.setEndpointUriIfNotSpecified("dataset://foo");
> +        final DataSetEndpoint endpoint = new DataSetEndpoint("dataset://foo", context.getComponent("dataset"), new SimpleDataSet(2));
>
>         endpoint.setConsumeDelay(2);
>         assertEquals(2, endpoint.getConsumeDelay());
> @@ -85,9 +83,7 @@ public class DataSetEndpointTest extends
>     }
>
>     public void testDataSetReporter() throws Exception {
> -        final DataSetEndpoint endpoint = new DataSetEndpoint("dataset://foo", new SimpleDataSet(10));
> -        endpoint.setCamelContext(context);
> -        endpoint.setEndpointUriIfNotSpecified("dataset://foo");
> +        final DataSetEndpoint endpoint = new DataSetEndpoint("dataset://foo", context.getComponent("dataset"), new SimpleDataSet(10));
>
>         final AtomicBoolean reported = new AtomicBoolean(false);
>         endpoint.setReporter(new Processor() {
> @@ -129,11 +125,7 @@ public class DataSetEndpointTest extends
>         });
>         assertNotNull(ds.getOutputTransformer());
>
> -        final DataSetEndpoint endpoint = new DataSetEndpoint();
> -        endpoint.setCamelContext(context);
> -        endpoint.setEndpointUriIfNotSpecified("dataset://foo");
> -        endpoint.setDataSet(ds);
> -        // out transformer should have messaged with it
> +        final DataSetEndpoint endpoint = new DataSetEndpoint("dataset://foo", context.getComponent("dataset"), ds);
>         endpoint.allMessages().body().startsWith("Hi ");
>
>         context.addRoutes(new RouteBuilder() {
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -52,8 +52,7 @@ public class DirectEndpointTest extends
>     }
>
>     public void testDirectEndpointAgain() throws Exception {
> -        final DirectEndpoint de = new DirectEndpoint("direct://foo");
> -        de.setCamelContext(context);
> +        final DirectEndpoint de = new DirectEndpoint("direct://foo", context.getComponent("direct"));
>
>         context.addRoutes(new RouteBuilder() {
>             @Override
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/mock/MockEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -423,6 +423,7 @@ public class MockEndpointTest extends Co
>
>     public void testNoArgCtr() {
>         MockEndpoint mock = new MockEndpoint();
> +        mock.setCamelContext(context);
>         mock.setEndpointUriIfNotSpecified("mock:bar");
>         try {
>             mock.createConsumer(null);
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -35,9 +35,8 @@ public class SedaEndpointTest extends Co
>
>     public void testSedaEndpointUnboundedQueue() throws Exception {
>         BlockingQueue<Exchange> unbounded = new LinkedBlockingQueue<Exchange>();
> -        SedaEndpoint seda = new SedaEndpoint("seda://foo", unbounded);
> +        SedaEndpoint seda = new SedaEndpoint("seda://foo", context.getComponent("seda"), unbounded);
>         assertNotNull(seda);
> -        seda.setCamelContext(context);
>
>         assertEquals(Integer.MAX_VALUE, seda.getSize());
>         assertSame(unbounded, seda.getQueue());
> @@ -59,9 +58,8 @@ public class SedaEndpointTest extends Co
>     }
>
>     public void testSedaEndpoint() throws Exception {
> -        SedaEndpoint seda = new SedaEndpoint("seda://foo", queue);
> +        SedaEndpoint seda = new SedaEndpoint("seda://foo", context.getComponent("seda"), queue);
>         assertNotNull(seda);
> -        seda.setCamelContext(context);
>
>         assertEquals(1000, seda.getSize());
>         assertSame(queue, seda.getQueue());
> @@ -83,9 +81,8 @@ public class SedaEndpointTest extends Co
>     }
>
>     public void testSedaEndpointTwo() throws Exception {
> -        SedaEndpoint seda = new SedaEndpoint("seda://foo", queue, 2);
> +        SedaEndpoint seda = new SedaEndpoint("seda://foo", context.getComponent("seda"), queue, 2);
>         assertNotNull(seda);
> -        seda.setCamelContext(context);
>
>         assertEquals(1000, seda.getSize());
>         assertSame(queue, seda.getQueue());
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/test/TestEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/test/TestEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/test/TestEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/test/TestEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -58,7 +58,9 @@ public class TestEndpointTest extends Co
>     private final class MyEndpoint extends DefaultEndpoint {
>
>         private MyEndpoint(String endpointUri, CamelContext camelContext) {
> -            super(endpointUri, camelContext);
> +            super();
> +            // TODO: revisit; uri and context are not really needed
> +            //  this is probably covered by the ProcessorEndpoint, test may not be needed at all
>         }
>
>         @Override
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/timer/TimerEndpointTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/timer/TimerEndpointTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/component/timer/TimerEndpointTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/timer/TimerEndpointTest.java Fri Aug 26 01:07:17 2011
> @@ -19,6 +19,7 @@ package org.apache.camel.component.timer
>  import java.util.Timer;
>
>  import org.apache.camel.ContextTestSupport;
> +import org.apache.camel.Endpoint;
>  import org.apache.camel.RuntimeCamelException;
>  import org.apache.camel.builder.RouteBuilder;
>  import org.apache.camel.component.mock.MockEndpoint;
> @@ -53,28 +54,9 @@ public class TimerEndpointTest extends C
>         assertMockEndpointsSatisfied();
>     }
>
> -    public void testTimerEndpointAgain() throws Exception {
> -        final TimerEndpoint te = new TimerEndpoint("timer://foo");
> -        te.setTimer(new Timer(true));
> -        te.setCamelContext(context);
> -
> -        context.addRoutes(new RouteBuilder() {
> -            @Override
> -            public void configure() throws Exception {
> -                from(te).to("mock:result");
> -            }
> -        });
> -        context.start();
> -
> -        MockEndpoint mock = getMockEndpoint("mock:result");
> -        mock.expectedMinimumMessageCount(1);
> -
> -        assertMockEndpointsSatisfied();
> -    }
> -
>     public void testTimerEndpointYetAgain() throws Exception {
> -        final TimerEndpoint te = new TimerEndpoint("timer://foo", new Timer(true));
> -        te.setCamelContext(context);
> +        final TimerEndpoint te = new TimerEndpoint("timer://foo", context.getComponent("timer"), "foo");
> +        te.setTimer(new Timer(true));
>
>         context.addRoutes(new RouteBuilder() {
>             @Override
> @@ -91,7 +73,7 @@ public class TimerEndpointTest extends C
>     }
>
>     public void testTimerEndpointNoProducer() throws Exception {
> -        TimerEndpoint te = new TimerEndpoint("timer://foo");
> +        Endpoint te = context.getEndpoint("timer://foo");
>         try {
>             te.createProducer();
>             fail("Should have thrown an exception");
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomProducerServicePoolTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomProducerServicePoolTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomProducerServicePoolTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/CustomProducerServicePoolTest.java Fri Aug 26 01:07:17 2011
> @@ -40,7 +40,10 @@ public class CustomProducerServicePoolTe
>     private static final class MyEndpoint extends DefaultEndpoint {
>
>         private MyEndpoint(String endpointUri, CamelContext camelContext) {
> -            super(endpointUri, camelContext);
> +               // FIXME: another endpoint that works without a Component
> +            super();
> +            this.setCamelContext(camelContext);
> +            this.setEndpointUri(endpointUri);
>         }
>
>         public Producer createProducer() throws Exception {
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheLimitTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheLimitTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheLimitTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheLimitTest.java Fri Aug 26 01:07:17 2011
> @@ -37,7 +37,8 @@ public class DefaultCamelContextEndpoint
>         // test that we cache at most 75 endpoints in camel context to avoid it eating to much memory
>         for (int i = 0; i < 78; i++) {
>             String uri = "myendpoint?id=" + i;
> -            Endpoint e = new DefaultEndpoint(uri, context) {
> +            DefaultEndpoint e = new DefaultEndpoint() {
> +               // FIXME: another endpoint that works without a Component
>                 public Producer createProducer() throws Exception {
>                     return null;
>                 }
> @@ -48,6 +49,8 @@ public class DefaultCamelContextEndpoint
>                     return true;
>                 }
>             };
> +            e.setCamelContext(context);
> +            e.setEndpointUri(uri);
>
>             context.addEndpoint(uri, e);
>         }
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextEndpointCacheTest.java Fri Aug 26 01:07:17 2011
> @@ -35,7 +35,8 @@ public class DefaultCamelContextEndpoint
>         // test that we cache at most 1000 endpoints in camel context to avoid it eating to much memory
>         for (int i = 0; i < 1003; i++) {
>             String uri = "myendpoint?id=" + i;
> -            Endpoint e = new DefaultEndpoint(uri, context) {
> +            DefaultEndpoint e = new DefaultEndpoint() {
> +               // FIXME: another endpoint that works without a Component
>                 public Producer createProducer() throws Exception {
>                     return null;
>                 }
> @@ -46,6 +47,8 @@ public class DefaultCamelContextEndpoint
>                     return true;
>                 }
>             };
> +            e.setCamelContext(context);
> +            e.setEndpointUri(uri);
>
>             context.addEndpoint(uri, e);
>         }
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelContextTest.java Fri Aug 26 01:07:17 2011
> @@ -210,23 +210,17 @@ public class DefaultCamelContextTest ext
>         }
>     }
>
> -    public void testGetEndpointMap() throws Exception {
> -        DefaultCamelContext ctx = new DefaultCamelContext();
> -        ctx.disableJMX();
> -        ctx.addEndpoint("mock://foo", new MockEndpoint("mock://foo"));
> -
> -        Map<String, Endpoint> map = ctx.getEndpointMap();
> -        assertEquals(1, map.size());
> -    }
> -
>     public void testHasEndpoint() throws Exception {
>         DefaultCamelContext ctx = new DefaultCamelContext();
>         ctx.disableJMX();
> -        ctx.addEndpoint("mock://foo", new MockEndpoint("mock://foo"));
> +        ctx.getEndpoint("mock://foo");
>
>         assertNotNull(ctx.hasEndpoint("mock://foo"));
>         assertNull(ctx.hasEndpoint("mock://bar"));
>
> +        Map<String, Endpoint> map = ctx.getEndpointMap();
> +        assertEquals(1, map.size());
> +
>         try {
>             Endpoint endpoint = ctx.hasEndpoint(null);
>             assertNull("Should not have endpoint", endpoint);
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/Endpoint2MustBeStartedBeforeSendProcessorTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/Endpoint2MustBeStartedBeforeSendProcessorTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/Endpoint2MustBeStartedBeforeSendProcessorTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/Endpoint2MustBeStartedBeforeSendProcessorTest.java Fri Aug 26 01:07:17 2011
> @@ -119,7 +119,10 @@ public class Endpoint2MustBeStartedBefor
>     private final class MyEndpoint extends DefaultEndpoint {
>
>         private MyEndpoint(String endpointUri, CamelContext camelContext) {
> -            super(endpointUri, camelContext);
> +               // FIXME: another endpoint that works without a Component
> +            super();
> +            this.setCamelContext(camelContext);
> +            this.setEndpointUri(endpointUri);
>         }
>
>         public Producer createProducer() throws Exception {
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/EndpointMustBeStartedBeforeSendProcessorTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/EndpointMustBeStartedBeforeSendProcessorTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/EndpointMustBeStartedBeforeSendProcessorTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/EndpointMustBeStartedBeforeSendProcessorTest.java Fri Aug 26 01:07:17 2011
> @@ -118,7 +118,10 @@ public class EndpointMustBeStartedBefore
>     private final class MyEndpoint extends DefaultEndpoint {
>
>         private MyEndpoint(String endpointUri, CamelContext camelContext) {
> -            super(endpointUri, camelContext);
> +               // FIXME: another endpoint that works without a Component
> +            super();
> +            this.setCamelContext(camelContext);
> +            this.setEndpointUri(endpointUri);
>         }
>
>         public Producer createProducer() throws Exception {
>
> Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java
> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java?rev=1161953&r1=1161952&r2=1161953&view=diff
> ==============================================================================
> --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java (original)
> +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/enricher/EnricherRefTest.java Fri Aug 26 01:07:17 2011
> @@ -58,8 +58,8 @@ public class EnricherRefTest extends Con
>         return new RouteBuilder() {
>             @Override
>             public void configure() throws Exception {
> -                cool.setEndpointUriIfNotSpecified("cool");
>                 cool.setCamelContext(context);
> +                cool.setEndpointUriIfNotSpecified("cool");
>
>                 from("direct:start").enrichRef("cool", "agg");
>             }
>
>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/