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);
}
/**