You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/03/12 18:40:27 UTC

svn commit: r752946 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: component/file/ component/file/strategy/ model/

Author: davsclaus
Date: Thu Mar 12 17:40:27 2009
New Revision: 752946

URL: http://svn.apache.org/viewvc?rev=752946&view=rev
Log:
Fixed a few bad package tangles.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileComponent.java Thu Mar 12 17:40:27 2009
@@ -110,7 +110,7 @@
         ObjectHelper.notEmpty(reminder, "sortBy expression", this);
 
         // recursive add nested sorters
-        return GenericFileDefaultSorter.sortByFileLanguage(reminder, reverse, ignoreCase, createSortByComparator(it));
+        return GenericFileDefaultSorter.sortByFileLanguage(getCamelContext(), reminder, reverse, ignoreCase, createSortByComparator(it));
     }
 
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileDefaultSorter.java Thu Mar 12 17:40:27 2009
@@ -18,8 +18,9 @@
 
 import java.util.Comparator;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
-import org.apache.camel.language.simple.FileLanguage;
+import org.apache.camel.spi.Language;
 import org.apache.camel.util.ObjectHelper;
 
 /**
@@ -90,31 +91,34 @@
     /**
      * Returns a new sory by file language expression
      *
+     * @param context    the camel context
      * @param expression the file language expression
      * @param reverse    true to reverse order
      * @return the comparator
      */
     public static Comparator<GenericFileExchange> sortByFileLanguage(
-            final String expression, final boolean reverse) {
-        return sortByFileLanguage(expression, reverse, false, null);
+            CamelContext context, String expression, boolean reverse) {
+        return sortByFileLanguage(context, expression, reverse, false, null);
     }
 
     /**
      * Returns a new sory by file language expression
      *
+     * @param context    the camel context
      * @param expression the file language expression
      * @param reverse    true to reverse order
      * @param ignoreCase ignore case if comparing strings
      * @return the comparator
      */
     public static Comparator<GenericFileExchange> sortByFileLanguage(
-            final String expression, final boolean reverse, final boolean ignoreCase) {
-        return sortByFileLanguage(expression, reverse, ignoreCase, null);
+            CamelContext context, String expression, boolean reverse, boolean ignoreCase) {
+        return sortByFileLanguage(context, expression, reverse, ignoreCase, null);
     }
 
     /**
      * Returns a new sort by file language expression
      *
+     * @param context    the camel context
      * @param expression the file language expression
      * @param reverse    true to reverse order
      * @param ignoreCase ignore case if comparing strings
@@ -122,11 +126,12 @@
      * @return the comparator
      */
     public static Comparator<GenericFileExchange> sortByFileLanguage(
-            final String expression, final boolean reverse,
+            final CamelContext context, final String expression, final boolean reverse,
             final boolean ignoreCase, final Comparator<GenericFileExchange> nested) {
         return new Comparator<GenericFileExchange>() {
             public int compare(GenericFileExchange o1, GenericFileExchange o2) {
-                final Expression exp = FileLanguage.file(expression);
+                Language language = context.resolveLanguage("file");
+                final Expression exp = language.createExpression(expression);
                 Object result1 = exp.evaluate(o1);
                 Object result2 = exp.evaluate(o2);
                 int answer = ObjectHelper.compare(result1, result2, ignoreCase);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java Thu Mar 12 17:40:27 2009
@@ -23,14 +23,15 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.impl.ScheduledPollEndpoint;
-import org.apache.camel.language.simple.FileLanguage;
 import org.apache.camel.spi.IdempotentRepository;
+import org.apache.camel.spi.Language;
 import org.apache.camel.util.FactoryFinder;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
@@ -140,10 +141,10 @@
         }
 
         try {
-            Method factoryMethod = factory.getMethod("createGenericFileProcessStrategy", Map.class);
-            return (GenericFileProcessStrategy<T>) ObjectHelper.invokeMethod(factoryMethod, null, getParamsAsMap());
+            Method factoryMethod = factory.getMethod("createGenericFileProcessStrategy", CamelContext.class, Map.class);
+            return (GenericFileProcessStrategy<T>) ObjectHelper.invokeMethod(factoryMethod, null, getCamelContext(), getParamsAsMap());
         } catch (NoSuchMethodException e) {
-            throw new TypeNotPresentException(factory.getSimpleName() + ".createGenericFileProcessStrategy(GenericFileEndpoint endpoint) method not found", e);
+            throw new TypeNotPresentException(factory.getSimpleName() + ".createGenericFileProcessStrategy method not found", e);
         }
     }
 
@@ -213,7 +214,7 @@
      */
     public void setMove(String fileLanguageExpression) {
         String expression = configureMoveOrPreMoveExpression(fileLanguageExpression);
-        this.move = FileLanguage.file(expression);
+        this.move = createFileLangugeExpression(expression);
     }
 
     public Expression getPreMove() {
@@ -230,7 +231,7 @@
      */
     public void setPreMove(String fileLanguageExpression) {
         String expression = configureMoveOrPreMoveExpression(fileLanguageExpression);
-        this.preMove = FileLanguage.file(expression);
+        this.preMove = createFileLangugeExpression(expression);
     }
 
     public Expression getFileName() {
@@ -246,7 +247,7 @@
      * {@link org.apache.camel.language.simple.FileLanguage}
      */
     public void setFileName(String fileLanguageExpression) {
-        this.fileName = FileLanguage.file(fileLanguageExpression);
+        this.fileName = createFileLangugeExpression(fileLanguageExpression);
     }
 
     public boolean isIdempotent() {
@@ -294,7 +295,7 @@
     }
 
     public void setSortBy(String expression, boolean reverse) {
-        setSortBy(GenericFileDefaultSorter.sortByFileLanguage(expression, reverse));
+        setSortBy(GenericFileDefaultSorter.sortByFileLanguage(getCamelContext(), expression, reverse));
     }
 
     public String getTempPrefix() {
@@ -430,7 +431,7 @@
         }
 
         // remove trailing slash
-        expression = FileUtil.stripTrailingSeparator(expression);        
+        expression = FileUtil.stripTrailingSeparator(expression);
 
         StringBuilder sb = new StringBuilder();
 
@@ -444,7 +445,7 @@
         // append only the filename (file:name can contain a relative path, so we must use onlyname)
         sb.append(getFileSeparator());
         sb.append("${file:onlyname}");
-        
+
         return sb.toString();
     }
 
@@ -476,4 +477,9 @@
         return params;
     }
 
+    private Expression createFileLangugeExpression(String expression) {
+        Language language = getCamelContext().resolveLanguage("file");
+        return language.createExpression(expression);
+    }
+
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java Thu Mar 12 17:40:27 2009
@@ -22,7 +22,7 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.impl.DefaultProducer;
-import org.apache.camel.language.simple.FileLanguage;
+import org.apache.camel.spi.Language;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.ObjectHelper;
@@ -160,7 +160,8 @@
                 if (log.isDebugEnabled()) {
                     log.debug(Exchange.FILE_NAME + " contains a FileLanguage expression: " + name);
                 }
-                expression = FileLanguage.file(name);
+                Language language = getEndpoint().getCamelContext().resolveLanguage("file");
+                expression = language.createExpression(name);
             }
         }
         if (expression != null) {
@@ -170,9 +171,8 @@
             name = expression.evaluate(exchange, String.class);
         }
 
-
         // flattern name
-        if (endpoint.isFlattern()) {
+        if (name != null && endpoint.isFlattern()) {
             int pos = name.lastIndexOf(File.separator);
             if (pos == -1) {
                 pos = name.lastIndexOf('/');

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/FileProcessStrategyFactory.java Thu Mar 12 17:40:27 2009
@@ -19,10 +19,11 @@
 import java.io.File;
 import java.util.Map;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
 import org.apache.camel.component.file.GenericFileProcessStrategy;
-import org.apache.camel.language.simple.FileLanguage;
+import org.apache.camel.spi.Language;
 import org.apache.camel.util.ObjectHelper;
 
 public final class FileProcessStrategyFactory {
@@ -30,7 +31,7 @@
     private FileProcessStrategyFactory() {
     }
 
-    public static GenericFileProcessStrategy createGenericFileProcessStrategy(Map<String, Object> params) {
+    public static GenericFileProcessStrategy createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params) {
 
         // We assume a value is present only if its value not null for String and 'true' for boolean
         boolean isNoop = params.get("noop") != null;
@@ -64,8 +65,10 @@
             // default strategy will move files in a .camel/ subfolder where the file was consumed
             GenericFileRenameProcessStrategy<File> strategy = new GenericFileRenameProcessStrategy<File>();
             strategy.setExclusiveReadLockStrategy(getExclusiveReadLockStrategy(params));
-            Expression exp = FileLanguage.file("${file:parent}/.camel/${file:onlyname}");
-            strategy.setCommitRenamer(new GenericFileExpressionRenamer<File>(exp));
+            // use context to lookup language to let it be loose coupled
+            Language language = context.resolveLanguage("file");
+            Expression expression = language.createExpression("${file:parent}/.camel/${file:onlyname}");
+            strategy.setCommitRenamer(new GenericFileExpressionRenamer<File>(expression));
             return strategy;
         }
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/strategy/GenericFileProcessStrategyFactory.java Thu Mar 12 17:40:27 2009
@@ -18,6 +18,7 @@
 
 import java.util.Map;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy;
 import org.apache.camel.component.file.GenericFileProcessStrategy;
@@ -29,7 +30,7 @@
     }
 
     @SuppressWarnings("unchecked")
-    public static GenericFileProcessStrategy createGenericFileProcessStrategy(Map<String, Object> params) {
+    public static GenericFileProcessStrategy createGenericFileProcessStrategy(CamelContext context, Map<String, Object> params) {
 
         // We assume a value is present only if its value not null for String and 'true' for boolean
         boolean isNoop = params.get("noop") != null;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java?rev=752946&r1=752945&r2=752946&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java Thu Mar 12 17:40:27 2009
@@ -35,8 +35,8 @@
 import org.apache.camel.Processor;
 import org.apache.camel.Route;
 import org.apache.camel.builder.ErrorHandlerBuilder;
+import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.ExpressionClause;
-import org.apache.camel.language.constant.ConstantLanguage;
 import org.apache.camel.processor.CatchProcessor;
 import org.apache.camel.processor.RedeliveryPolicy;
 import org.apache.camel.spi.RouteContext;
@@ -156,8 +156,8 @@
      * @return the builder
      */
     public OnExceptionDefinition handled(boolean handled) {
-        ConstantLanguage constant = new ConstantLanguage();
-        return handled(constant.createPredicate(Boolean.toString(handled)));
+        Expression expression = ExpressionBuilder.constantExpression(Boolean.toString(handled));
+        return handled(expression);
     }
     
     /**