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/08/18 19:06:19 UTC

svn commit: r567296 - in /activemq/camel/trunk: camel-core/src/main/java/org/apache/camel/component/bean/ components/camel-josql/src/main/java/org/apache/camel/builder/sql/ components/camel-juel/src/main/java/org/apache/camel/language/juel/ components/...

Author: jstrachan
Date: Sat Aug 18 10:06:18 2007
New Revision: 567296

URL: http://svn.apache.org/viewvc?view=rev&rev=567296
Log:
added expression injection annotations for the other languages

Added:
    activemq/camel/trunk/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java   (with props)
    activemq/camel/trunk/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java   (with props)
    activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OGNL.java   (with props)
    activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQuery.java   (with props)
    activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryAnnotationExpressionFactory.java   (with props)
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/BeanShell.java   (with props)
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Groovy.java   (with props)
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/JavaScript.java   (with props)
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/PHP.java   (with props)
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Python.java   (with props)
    activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Ruby.java   (with props)
Removed:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/InjectionExpressionFactory.java
Modified:
    activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java
    activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlLanguage.java

Added: activemq/camel/trunk/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java (added)
+++ activemq/camel/trunk/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,37 @@
+/**
+ *
+ * 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.builder.sql;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of SQL expressions into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "sql")
+public @interface SQL {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java (added)
+++ activemq/camel/trunk/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,37 @@
+/**
+ *
+ * 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.juel;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of EL (JSP & JSF) expressions into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "el")
+public @interface EL {
+    public String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OGNL.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OGNL.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OGNL.java (added)
+++ activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OGNL.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.ognl;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of <a href="http://www.ognl.org/">OGNL</a> expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "ognl")
+public @interface OGNL {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OGNL.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java?view=diff&rev=567296&r1=567295&r2=567296
==============================================================================
--- activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java (original)
+++ activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java Sat Aug 18 10:06:18 2007
@@ -16,19 +16,21 @@
  */
 package org.apache.camel.language.ognl;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import ognl.Ognl;
 import ognl.OgnlContext;
 import ognl.OgnlException;
-
 import org.apache.camel.Exchange;
+import org.apache.camel.Expression;
 import org.apache.camel.impl.ExpressionSupport;
 import org.apache.camel.language.ExpressionEvaluationException;
 import org.apache.camel.language.IllegalSyntaxException;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
+ * An <a href="http://www.ognl.org/">OGNL</a> {@link Expression}
+ *
  * @version $Revision: $
  */
 public class OgnlExpression extends ExpressionSupport<Exchange> {

Modified: activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlLanguage.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlLanguage.java?view=diff&rev=567296&r1=567295&r2=567296
==============================================================================
--- activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlLanguage.java (original)
+++ activemq/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlLanguage.java Sat Aug 18 10:06:18 2007
@@ -22,6 +22,8 @@
 import org.apache.camel.spi.Language;
 
 /**
+ * An <a href="http://www.ognl.org/">OGNL</a> {@link Language} plugin
+ *
  * @version $Revision: $
  */
 public class OgnlLanguage implements Language {

Added: activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQuery.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQuery.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQuery.java (added)
+++ activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQuery.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,43 @@
+/**
+ *
+ * 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.builder.saxon;
+
+import org.apache.camel.language.LanguageAnnotation;
+import org.apache.camel.language.NamespacePrefix;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of XQuery expressions
+ * into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "xquery", factory = XQueryAnnotationExpressionFactory.class)
+public @interface XQuery {
+    public String value();
+
+    public NamespacePrefix[] namespaces() default {
+    @NamespacePrefix(prefix = "soap", uri = "http://www.w3.org/2003/05/soap-envelope"),
+    @NamespacePrefix(prefix = "xsd", uri = "http://www.w3.org/2001/XMLSchema")};
+}

Propchange: activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQuery.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryAnnotationExpressionFactory.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryAnnotationExpressionFactory.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryAnnotationExpressionFactory.java (added)
+++ activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryAnnotationExpressionFactory.java Sat Aug 18 10:06:18 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.builder.saxon;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Expression;
+import org.apache.camel.component.bean.DefaultAnnotationExpressionFactory;
+import org.apache.camel.language.LanguageAnnotation;
+import org.apache.camel.language.NamespacePrefix;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * @version $Revision: 1.1 $
+ */
+public class XQueryAnnotationExpressionFactory extends DefaultAnnotationExpressionFactory {
+    @Override
+    public Expression createExpression(CamelContext camelContext, Annotation annotation, LanguageAnnotation languageAnnotation, Class expressionReturnType) {
+        String XQuery = getExpressionFromAnnotation(annotation);
+        XQueryBuilder builder = XQueryBuilder.xquery(XQuery);
+        if (annotation instanceof XQuery) {
+            XQuery XQueryAnnotation = (XQuery) annotation;
+            NamespacePrefix[] namespaces = XQueryAnnotation.namespaces();
+            if (namespaces != null) {
+                for (NamespacePrefix namespacePrefix : namespaces) {
+                    // TODO
+                    //builder = builder.namespace(namespacePrefix.prefix(), namespacePrefix.uri());
+                }
+            }
+        }
+        return builder;
+    }
+}

Propchange: activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryAnnotationExpressionFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/BeanShell.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/BeanShell.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/BeanShell.java (added)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/BeanShell.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.builder.script;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of BeanShell expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "beanshell")
+public @interface BeanShell {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/BeanShell.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Groovy.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Groovy.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Groovy.java (added)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Groovy.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.builder.script;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of <a href="http://groovy.codehaus.org/">Groovy</a> expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "groovy")
+public @interface Groovy {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Groovy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/JavaScript.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/JavaScript.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/JavaScript.java (added)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/JavaScript.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.builder.script;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of JavaScript expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "js")
+public @interface JavaScript {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/JavaScript.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/PHP.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/PHP.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/PHP.java (added)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/PHP.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.builder.script;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of PHP expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "php")
+public @interface PHP {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/PHP.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Python.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Python.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Python.java (added)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Python.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.builder.script;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of Python expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "python")
+public @interface Python {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Python.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Ruby.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Ruby.java?view=auto&rev=567296
==============================================================================
--- activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Ruby.java (added)
+++ activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Ruby.java Sat Aug 18 10:06:18 2007
@@ -0,0 +1,38 @@
+/**
+ *
+ * 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.builder.script;
+
+import org.apache.camel.language.LanguageAnnotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * An annotation for injection of <a href="http://ruby-lang.org/">Ruby</a> expressions
+ *  into method parameters, fields or properties
+ *
+ * @version $Revision: 1.1 $
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+@LanguageAnnotation(language = "jruby")
+public @interface Ruby {
+    public abstract String value();
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/components/camel-script/src/main/java/org/apache/camel/builder/script/Ruby.java
------------------------------------------------------------------------------
    svn:eol-style = native