You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2007/03/20 10:11:48 UTC

svn commit: r520341 - in /activemq/camel/trunk/camel-core/src: main/java/org/apache/camel/queue/ test/java/org/apache/camel/pojo/ test/resources/ test/resources/META-INF/ test/resources/META-INF/services/ test/resources/META-INF/services/org/ test/reso...

Author: chirino
Date: Tue Mar 20 02:11:47 2007
New Revision: 520341

URL: http://svn.apache.org/viewvc?view=rev&rev=520341
Log:
Added a little Pojo play component in the test section.  This now gives another component that we can test against.
It would be nice to see how exchange conversions will be implemented.

Added:
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/ISay.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoComponent.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpoint.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpointResolver.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoExchange.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoInvocation.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoRouteTest.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/SayService.java
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/package.html
    activemq/camel/trunk/camel-core/src/test/resources/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/EndpointResolver/
    activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/EndpointResolver/pojo
Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/queue/QueueEndpointResolver.java

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/queue/QueueEndpointResolver.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/queue/QueueEndpointResolver.java?view=diff&rev=520341&r1=520340&r2=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/queue/QueueEndpointResolver.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/queue/QueueEndpointResolver.java Tue Mar 20 02:11:47 2007
@@ -73,7 +73,7 @@
 		String splitURI[] = ObjectHelper.splitOnCharacter(uri, ":", 3);        
     	if( splitURI[2] != null ) {
     		rc[0] =  splitURI[1];
-    		rc[0] =  splitURI[2];
+    		rc[1] =  splitURI[2];
     	} else {
     		rc[0] =  splitURI[1];
     	}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/ISay.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/ISay.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/ISay.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/ISay.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+public interface ISay {
+	public String say();
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoComponent.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoComponent.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoComponent.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+import java.util.HashMap;
+
+import org.apache.camel.CamelContainer;
+import org.apache.camel.Component;
+
+/**
+ * Represents the component that manages {@link PojoEndpoint}.  It holds the 
+ * list of named pojos that queue endpoints reference.
+ *
+ * @version $Revision: 519973 $
+ */
+public class PojoComponent implements Component<PojoExchange> {
+	
+    private final HashMap<String, Object> registry = new HashMap<String, Object>();
+    private final HashMap<String, PojoEndpoint> activatedEndpoints = new HashMap<String, PojoEndpoint>();
+    
+	private CamelContainer container;
+
+	public void registerPojo(String uri, Object pojo) {
+		registry.put(uri, pojo);
+	}
+	public Object lookupRegisteredPojo(String uri) {
+		return registry.get(uri);
+	}
+	
+	public void registerActivation(String uri, PojoEndpoint endpoint) {
+		activatedEndpoints.put(uri, endpoint);
+	}
+	public void unregisterActivation(String uri) {
+		activatedEndpoints.remove(uri);
+	}
+	public PojoEndpoint lookupActivation(String uri) {
+		return activatedEndpoints.get(uri);
+	}
+	
+	
+	public void setContainer(CamelContainer container) {
+		this.container = container;
+	}
+	public CamelContainer getContainer() {
+		return container;
+	}
+    
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpoint.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpoint.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpoint.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+
+import org.apache.camel.CamelContainer;
+import org.apache.camel.impl.DefaultEndpoint;
+
+/**
+ * Represents a pojo endpoint that uses reflection
+ * to send messages around.
+ *
+ * @version $Revision: 519973 $
+ */
+public class PojoEndpoint extends DefaultEndpoint<PojoExchange> {
+
+    private final Object pojo;
+	private final PojoComponent component;
+    
+	public PojoEndpoint(String uri, CamelContainer container, PojoComponent component, Object pojo) {
+        super(uri, container);
+		this.component = component;
+		this.pojo = pojo;
+    }
+
+	/**
+	 *  This causes us to invoke the endpoint Pojo using reflection.
+	 */
+    public void onExchange(PojoExchange exchange) {
+        PojoInvocation invocation = exchange.getRequest();
+        try {
+			Object response = invocation.getMethod().invoke(pojo, invocation.getArgs());
+			exchange.setResponse(response);
+		} catch (InvocationTargetException e) {
+			exchange.setFault(e.getCause());
+		} catch ( RuntimeException e ) {
+			throw e;
+		} catch ( Throwable e ) {
+			throw new RuntimeException(e);
+		}
+    }
+
+    public PojoExchange createExchange() {
+        return new PojoExchange();
+    }
+
+    @Override
+    protected void doActivate() {
+    	component.registerActivation(getEndpointUri(), this);
+    }
+    
+    @Override
+    protected void doDeactivate() {
+    	component.unregisterActivation(getEndpointUri());
+    }
+
+    /**
+     * Creates a Proxy object that can be used to deliver inbound PojoExchanges.
+     * 
+     * @param interfaces
+     * @return
+     */
+    public Object createInboundProxy(Class interfaces[]) {
+    	final PojoEndpoint endpoint = component.lookupActivation(getEndpointUri());
+    	if( endpoint == null ) 
+			throw new IllegalArgumentException("The endpoint has not been activated yet: "+getEndpointUri());
+    	
+    	return Proxy.newProxyInstance(pojo.getClass().getClassLoader(), interfaces, new InvocationHandler(){
+			public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+				if( !activated.get() ) {
+					PojoInvocation invocation = new PojoInvocation(proxy, method, args);
+					PojoExchange exchange = new PojoExchange();
+					exchange.setRequest(invocation);
+					endpoint.getInboundProcessor().onExchange(exchange);
+					Throwable fault = exchange.getFault();
+					if ( fault != null ) {
+						throw new InvocationTargetException(fault);
+					}
+					return exchange.getResponse();
+				}
+				throw new IllegalStateException("The endpoint is not active: "+getEndpointUri());
+			}
+		});
+    }
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpointResolver.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpointResolver.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpointResolver.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoEndpointResolver.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+import org.apache.camel.CamelContainer;
+import org.apache.camel.Component;
+import org.apache.camel.EndpointResolver;
+import org.apache.camel.util.ObjectHelper;
+
+/**
+ * An implementation of {@link EndpointResolver} that creates 
+ * {@link PojoEndpoint} objects.
+ *
+ * The synatax for a Pojo URI looks like:
+ * 
+ * <pre><code>pojo:component:queuename</code></pre>
+ * 
+ * @version $Revision: 519901 $
+ */
+public class PojoEndpointResolver implements EndpointResolver<PojoExchange> {
+		
+	/**
+	 * Finds the {@see QueueComponent} specified by the uri.  If the {@see QueueComponent} 
+	 * object do not exist, it will be created.
+	 * 
+	 * @see org.apache.camel.EndpointResolver#resolveComponent(org.apache.camel.CamelContainer, java.lang.String)
+	 */
+	public Component resolveComponent(CamelContainer container, String uri) {
+		String id[] = getEndpointId(uri);        
+		return resolveQueueComponent(container, id[0]);
+	}
+
+	/**
+	 * Finds the {@see QueueEndpoint} specified by the uri.  If the {@see QueueEndpoint} or it's associated
+	 * {@see QueueComponent} object do not exist, they will be created.
+	 * 
+	 * @see org.apache.camel.EndpointResolver#resolveEndpoint(org.apache.camel.CamelContainer, java.lang.String)
+	 */
+	public PojoEndpoint resolveEndpoint(CamelContainer container, String uri) {
+		String id[] = getEndpointId(uri);        
+    	PojoComponent component = resolveQueueComponent(container, id[0]);        
+        Object pojo = component.lookupRegisteredPojo(id[1]);
+		return new PojoEndpoint(uri, container, component, pojo);
+    }
+
+	private PojoComponent resolveQueueComponent(CamelContainer container, String componentName) {
+    	Component rc = container.getComponent(componentName);
+    	if( rc == null ) {
+    		throw new IllegalArgumentException("Invalid URI, pojo component does not exist: "+componentName);
+    	}
+    	return (PojoComponent) rc;
+	}
+
+	/**
+	 * @return an array that looks like: [componentName,endpointName] 
+	 */
+	private String[] getEndpointId(String uri) {
+		String rc [] = {null, null};
+		String splitURI[] = ObjectHelper.splitOnCharacter(uri, ":", 3);        
+    	if( splitURI[2] != null ) {
+    		rc[0] =  splitURI[1];
+    		rc[1] =  splitURI[2];
+    	} else {
+    		throw new IllegalArgumentException("Invalid URI, component not specified in URI: "+uri);
+    	}
+		return rc;
+	}
+
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoExchange.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoExchange.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoExchange.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.impl.ExchangeSupport;
+
+
+/**
+ * @version $Revision: 519901 $
+ */
+public class PojoExchange extends ExchangeSupport<PojoInvocation, Object, Throwable> {
+	
+	Map<String, Object> headers;
+	
+	public Object getHeader(String name) {
+		if( headers == null )
+			return null;
+		return headers.get(name);
+	}
+
+	public Map<String, Object> getHeaders() {
+		if( headers == null )
+			headers = new HashMap<String, Object>();
+		return headers;
+	}
+	
+	public void setHeader(String name, Object value) {
+		getHeaders().put(name, value);
+	}
+
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoInvocation.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoInvocation.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoInvocation.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoInvocation.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,30 @@
+package org.apache.camel.pojo;
+
+import java.lang.reflect.Method;
+
+public class PojoInvocation {
+
+	private final Object proxy;
+	private final Method method;
+	private final Object[] args;
+
+	public PojoInvocation(Object proxy, Method method, Object[] args) {
+		this.proxy = proxy;
+		this.method = method;
+		this.args = args;
+	}
+
+	public Object[] getArgs() {
+		return args;
+	}
+
+	public Method getMethod() {
+		return method;
+	}
+
+	public Object getProxy() {
+		return proxy;
+	}
+
+
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoRouteTest.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoRouteTest.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/PojoRouteTest.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,83 @@
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import junit.framework.TestCase;
+
+import org.apache.camel.CamelContainer;
+import org.apache.camel.InterceptorProcessor;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultExchange;
+
+/**
+ * @version $Revision: 520220 $
+ */
+public class PojoRouteTest extends TestCase {
+	
+	static class StringExchange extends DefaultExchange<String, String, String> {		
+	}
+	
+    public void testJmsRoute() throws Exception {
+
+        CamelContainer container = new CamelContainer();
+        PojoComponent component = new PojoComponent();
+        component.registerPojo("hello", new SayService("Hello!"));
+        component.registerPojo("bye", new SayService("Good Bye!"));
+        container.addComponent("default", component);
+        
+        final AtomicInteger hitCount = new AtomicInteger();
+        final InterceptorProcessor<PojoExchange> tracingInterceptor = new InterceptorProcessor<PojoExchange>() {
+        	@Override
+        	public void onExchange(PojoExchange exchange) {
+        		super.onExchange(exchange);
+        		hitCount.incrementAndGet();
+        	}
+        };
+        // lets add some routes
+        container.routes(new RouteBuilder() {
+            public void configure() {
+                from("pojo:default:hello").intercept(tracingInterceptor).target().to("pojo:default:bye");
+                
+//                from("pojo:default:bye").intercept(tracingInterceptor).target().to("pojo:default:hello");
+            }
+        });
+
+        
+        container.activateEndpoints();
+        
+        // now lets fire in a message
+        PojoEndpoint endpoint = (PojoEndpoint) container.endpoint("pojo:default:hello");
+        ISay proxy = (ISay) endpoint.createInboundProxy(new Class[]{ISay.class});
+        String rc = proxy.say();
+        assertEquals("Good Bye!", rc);
+
+        try {
+			endpoint = (PojoEndpoint) container.endpoint("pojo:default:bye");
+			proxy = (ISay) endpoint.createInboundProxy(new Class[]{ISay.class});
+			rc = proxy.say();
+			assertEquals("Hello!", rc);
+			
+		} catch (IllegalArgumentException expected) {
+			// since bye is not active.
+		}
+
+        container.deactivateEndpoints();
+    }
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/SayService.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/SayService.java?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/SayService.java (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/SayService.java Tue Mar 20 02:11:47 2007
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.pojo;
+
+public class SayService implements ISay {
+	String message = "Hello";
+	
+	public SayService() {
+	}
+	public SayService(String message) {
+		this.message = message;
+	}
+
+	public String say() {
+		return message;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+}

Added: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/package.html
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/package.html?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/package.html (added)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/pojo/package.html Tue Mar 20 02:11:47 2007
@@ -0,0 +1,25 @@
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+   
+    http://www.apache.org/licenses/LICENSE-2.0
+   
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+</head>
+<body>
+
+Experimenation/Testing component that defines pojo endpoints for camel.  The exchanges are based on Java reflection.
+
+</body>
+</html>

Added: activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/EndpointResolver/pojo
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/EndpointResolver/pojo?view=auto&rev=520341
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/EndpointResolver/pojo (added)
+++ activemq/camel/trunk/camel-core/src/test/resources/META-INF/services/org/apache/camel/EndpointResolver/pojo Tue Mar 20 02:11:47 2007
@@ -0,0 +1 @@
+class=org.apache.camel.pojo.PojoEndpointResolver