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/10/05 15:24:54 UTC
svn commit: r582253 - in /activemq/camel/trunk: ./ components/
components/camel-groovy/src/main/java/groovy/
components/camel-groovy/src/main/java/org/apache/camel/language/groovy/
components/camel-groovy/src/main/resources/org/ components/camel-groovy...
Author: jstrachan
Date: Fri Oct 5 06:24:52 2007
New Revision: 582253
URL: http://svn.apache.org/viewvc?rev=582253&view=rev
Log:
re-enabled the groovy module and switched the implementation to use the ExpandoMetaClass
Added:
activemq/camel/trunk/components/camel-groovy/src/main/resources/org/
activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/
activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/
activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/
activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/groovy/
activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/groovy/ConfigureCamel.groovy
Removed:
activemq/camel/trunk/components/camel-groovy/src/main/java/groovy/
Modified:
activemq/camel/trunk/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java
activemq/camel/trunk/components/camel-groovy/src/test/java/org/apache/camel/language/groovy/GroovyTest.java
activemq/camel/trunk/components/camel-groovy/src/test/resources/log4j.properties
activemq/camel/trunk/components/pom.xml
activemq/camel/trunk/pom.xml
Modified: activemq/camel/trunk/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java?rev=582253&r1=582252&r2=582253&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java (original)
+++ activemq/camel/trunk/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java Fri Oct 5 06:24:52 2007
@@ -17,6 +17,7 @@
*/
package org.apache.camel.language.groovy;
+import groovy.lang.GroovyShell;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
@@ -25,9 +26,20 @@
*/
public abstract class GroovyRouteBuilder extends RouteBuilder {
public GroovyRouteBuilder() {
+ init();
}
public GroovyRouteBuilder(CamelContext context) {
super(context);
+ init();
+ }
+
+ private void init() {
+ ClassLoader loader = getClass().getClassLoader();
+ GroovyShell shell = new GroovyShell(loader);
+ shell.evaluate(loader.getResourceAsStream("org/apache/camel/language/groovy/ConfigureCamel.groovy"));
+
+ // TODO compile Groovy as part of build!
+ //new ConfigureCamel().run();
}
}
Added: activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/groovy/ConfigureCamel.groovy
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/groovy/ConfigureCamel.groovy?rev=582253&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/groovy/ConfigureCamel.groovy (added)
+++ activemq/camel/trunk/components/camel-groovy/src/main/resources/org/apache/camel/language/groovy/ConfigureCamel.groovy Fri Oct 5 06:24:52 2007
@@ -0,0 +1,49 @@
+/**
+ *
+ * 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.language.groovy
+
+import org.apache.camel.model.ChoiceType;
+import org.apache.camel.model.ProcessorType;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+class ConfigureCamel implements Runnable {
+
+ static void main(String[] args) {
+ new ConfigureCamel().run();
+ }
+
+ void run() {
+ ExpandoMetaClass.enableGlobally();
+
+ ProcessorType.metaClass.filter = { filter ->
+ if (filter instanceof Closure) {
+ filter = CamelGroovyMethods.toExpression(filter)
+ }
+ delegate.filter(filter);
+ }
+
+ ChoiceType.metaClass.when = { filter ->
+ if (filter instanceof Closure) {
+ filter = CamelGroovyMethods.toExpression(filter)
+ }
+ delegate.when(filter);
+ }
+ }
+}
\ No newline at end of file
Modified: activemq/camel/trunk/components/camel-groovy/src/test/java/org/apache/camel/language/groovy/GroovyTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-groovy/src/test/java/org/apache/camel/language/groovy/GroovyTest.java?rev=582253&r1=582252&r2=582253&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-groovy/src/test/java/org/apache/camel/language/groovy/GroovyTest.java (original)
+++ activemq/camel/trunk/components/camel-groovy/src/test/java/org/apache/camel/language/groovy/GroovyTest.java Fri Oct 5 06:24:52 2007
@@ -36,14 +36,14 @@
protected String groovyBuilderClass = "org.apache.camel.language.groovy.example.GroovyRoutes";
public void testSendMatchingMessage() throws Exception {
- System.out.println(">>>>> " + ProcessorType.class.getName());
-
MockEndpoint resultEndpoint = getMockEndpoint("mock:results");
resultEndpoint.expectedBodiesReceived(expected);
template.sendBodyAndHeader("direct:a", expected, "foo", "bar");
assertMockEndpointsSatisifed();
+
+ log.debug("Should have received one exchange: " + resultEndpoint.getReceivedExchanges());
}
public void testSendNotMatchingMessage() throws Exception {
@@ -53,20 +53,14 @@
template.sendBodyAndHeader("direct:a", expected, "foo", "123");
assertMockEndpointsSatisifed();
+
+ log.debug("Should not have received any messages: " + resultEndpoint.getReceivedExchanges());
}
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext answer = super.createCamelContext();
-
-/*
- MetaClassRegistry metaClassRegistry = MetaClassRegistry.getInstance(MetaClassRegistry.LOAD_DEFAULT);
- MetaClass metaClass = metaClassRegistry.getMetaClass(ProcessorType.class);
- metaClass = new ProxyMetaClass(metaClassRegistry, ProcessorType.class, metaClass);
- metaClass.addNewInstanceMethod(CamelGroovyMethods.class.getMethod("filter", ProcessorType.class, Closure.class));
- metaClassRegistry.setMetaClass(ProcessorType.class, metaClass);
-*/
GroovyClassLoader classLoader = new GroovyClassLoader();
Class<?> type = classLoader.loadClass(groovyBuilderClass);
Modified: activemq/camel/trunk/components/camel-groovy/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-groovy/src/test/resources/log4j.properties?rev=582253&r1=582252&r2=582253&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-groovy/src/test/resources/log4j.properties (original)
+++ activemq/camel/trunk/components/camel-groovy/src/test/resources/log4j.properties Fri Oct 5 06:24:52 2007
@@ -21,9 +21,9 @@
log4j.rootLogger=INFO, out
# uncomment the following to enable debug of Camel
-log4j.logger.org.apache.camel=DEBUG
+#log4j.logger.org.apache.camel=DEBUG
-#log4j.logger.org.apache.activemq=DEBUG
+log4j.logger.org.springframework=WARN
# CONSOLE appender not used by default
log4j.appender.out=org.apache.log4j.ConsoleAppender
Modified: activemq/camel/trunk/components/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/pom.xml?rev=582253&r1=582252&r2=582253&view=diff
==============================================================================
--- activemq/camel/trunk/components/pom.xml (original)
+++ activemq/camel/trunk/components/pom.xml Fri Oct 5 06:24:52 2007
@@ -34,11 +34,12 @@
<packaging>pom</packaging>
<modules>
+ <!--<module>camel-amqp</module>-->
<module>camel-atom</module>
<module>camel-bam</module>
<module>camel-cxf</module>
<module>camel-ftp</module>
- <!--<module>camel-groovy</module>-->
+ <module>camel-groovy</module>
<module>camel-http</module>
<module>camel-ibatis</module>
<module>camel-irc</module>
Modified: activemq/camel/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/pom.xml?rev=582253&r1=582252&r2=582253&view=diff
==============================================================================
--- activemq/camel/trunk/pom.xml (original)
+++ activemq/camel/trunk/pom.xml Fri Oct 5 06:24:52 2007
@@ -607,9 +607,7 @@
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
- <!-- TODO upgrade to new version with patch when available -->
- <!--<version>1.1-beta-3-SNAPSHOT</version>-->
- <version>1.1-beta-2</version>
+ <version>1.1-beta-3</version>
</dependency>
<dependency>
<groupId>com.sun.script</groupId>