Author: davsclaus
Date: Tue Jul 26 05:49:04 2011
New Revision: 1150991

URL: http://svn.apache.org/viewvc?rev=1150991&view=rev
Log:
CAMEL-3961: Polished and reduced some package tangling.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanHelper.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.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/language/simple/SimpleLanguage.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguageSupport.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/util/StringHelper.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/util/StringHelperTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanHelper.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanHelper.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanHelper.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanHelper.java
 Tue Jul 26 05:49:04 2011
@@ -16,12 +16,12 @@
  */
 package org.apache.camel.component.bean;
 
-import org.apache.camel.language.simple.SimpleLanguage;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.StringHelper;
 
 /**
- *
+ * Helper for the bean component.
  */
 public final class BeanHelper {
 
@@ -61,7 +61,7 @@ public final class BeanHelper {
         }
 
         // simple language tokens is valid
-        if (SimpleLanguage.hasStartToken(value)) {
+        if (StringHelper.hasStartToken(value, "simple")) {
             return true;
         }
 
@@ -84,12 +84,12 @@ public final class BeanHelper {
      *     <li>FQN class name - com.foo.MyOrder</li>
      *     <li>Simple class name - MyOrder</li>
      * </ul>
-     * If the given parameter type is <b>not</b> a class, then <tt>false</tt> 
is returned
+     * If the given parameter type is <b>not</b> a class, then <tt>null</tt> 
is returned
      *
      * @param resolver          the class resolver
      * @param parameterType     the parameter type as a String, can be a FQN 
or a simple name of the class
      * @param expectedType      the expected type
-     * @return <tt>null</tt> if parameter type is <b>not</b> a class, 
<tt>true</tt> if parameter type is assignable, <tt>false</tt> otherwise
+     * @return <tt>null</tt> if parameter type is <b>not</b> a class, 
<tt>true</tt> if parameter type is assignable, <tt>false</tt> if not assignable
      */
     public static Boolean isAssignableToExpectedType(ClassResolver resolver, 
String parameterType, Class<?> expectedType) {
         // if its a class, then it should be assignable

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
 Tue Jul 26 05:49:04 2011
@@ -723,7 +723,7 @@ public class BeanInfo {
                     if (ObjectHelper.isEmpty(qualifyType)) {
                         continue;
                     }
-                    // trim the time
+                    // trim the type
                     qualifyType = qualifyType.trim();
 
                     if ("*".equals(qualifyType)) {
@@ -739,6 +739,7 @@ public class BeanInfo {
 
                     // if qualify type indeed is a class, then it must be 
assignable with the parameter type
                     Boolean assignable = 
BeanHelper.isAssignableToExpectedType(getCamelContext().getClassResolver(), 
qualifyType, parameterType);
+                    // the method will return null if the qualifyType is not a 
class
                     if (assignable != null && !assignable) {
                         return false;
                     }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
 Tue Jul 26 05:49:04 2011
@@ -19,7 +19,7 @@ package org.apache.camel.component.file;
 import java.io.File;
 import java.util.Map;
 
-import org.apache.camel.language.simple.SimpleLanguage;
+import org.apache.camel.util.StringHelper;
 
 /**
  * File component.
@@ -38,7 +38,7 @@ public class FileComponent extends Gener
 
     protected GenericFileEndpoint<File> buildFileEndpoint(String uri, String 
remaining, Map<String, Object> parameters) throws Exception {
         // the starting directory must be a static (not containing dynamic 
expressions)
-        if (SimpleLanguage.hasStartToken(remaining)) {
+        if (StringHelper.hasStartToken(remaining, "simple")) {
             throw new IllegalArgumentException("Invalid directory: " + 
remaining
                     + ". Dynamic expressions with ${ } placeholders is not 
allowed."
                     + " Use the fileName option to set the dynamic 
expression.");

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=1150991&r1=1150990&r2=1150991&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
 Tue Jul 26 05:49:04 2011
@@ -32,7 +32,6 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.converter.IOConverter;
 import org.apache.camel.impl.ScheduledPollEndpoint;
-import org.apache.camel.language.simple.SimpleLanguage;
 import org.apache.camel.processor.idempotent.MemoryIdempotentRepository;
 import org.apache.camel.spi.FactoryFinder;
 import org.apache.camel.spi.IdempotentRepository;
@@ -595,7 +594,7 @@ public abstract class GenericFileEndpoin
      */
     protected String configureMoveOrPreMoveExpression(String expression) {
         // if the expression already have ${ } placeholders then pass it 
unmodified
-        if (SimpleLanguage.hasStartToken(expression)) {
+        if (StringHelper.hasStartToken(expression, "simple")) {
             return expression;
         }
 
@@ -685,7 +684,7 @@ public abstract class GenericFileEndpoin
         pattern = pattern.replaceFirst("\\$simple\\{file:name.noext\\}", 
FileUtil.stripExt(onlyName));
 
         // must be able to resolve all placeholders supported
-        if (SimpleLanguage.hasStartToken(pattern)) {
+        if (StringHelper.hasStartToken(pattern, "simple")) {
             throw new ExpressionIllegalSyntaxException(fileName + ". Cannot 
resolve reminder: " + pattern);
         }
 
@@ -715,7 +714,7 @@ public abstract class GenericFileEndpoin
         String pattern = getDoneFileName();
         ObjectHelper.notEmpty(pattern, "doneFileName", pattern);
 
-        if (!SimpleLanguage.hasStartToken(pattern)) {
+        if (!StringHelper.hasStartToken(pattern, "simple")) {
             // no tokens, so just match names directly
             return pattern.equals(fileName);
         }
@@ -731,7 +730,7 @@ public abstract class GenericFileEndpoin
         pattern = pattern.replaceFirst("\\$simple\\{file:name.noext\\}", "");
 
         // must be able to resolve all placeholders supported
-        if (SimpleLanguage.hasStartToken(pattern)) {
+        if (StringHelper.hasStartToken(pattern, "simple")) {
             throw new ExpressionIllegalSyntaxException(fileName + ". Cannot 
resolve reminder: " + pattern);
         }
 

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=1150991&r1=1150990&r2=1150991&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
 Tue Jul 26 05:49:04 2011
@@ -24,13 +24,13 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.impl.DefaultProducer;
-import org.apache.camel.language.simple.SimpleLanguage;
 import org.apache.camel.spi.Language;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.LRUCache;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ServiceHelper;
+import org.apache.camel.util.StringHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -268,7 +268,7 @@ public class GenericFileProducer<T> exte
         if (name != null) {
             // the header name can be an expression too, that should override
             // whatever configured on the endpoint
-            if (SimpleLanguage.hasStartToken(name)) {
+            if (StringHelper.hasStartToken(name, "simple")) {
                 log.trace("{} contains a Simple expression: {}", 
Exchange.FILE_NAME, name);
                 Language language = 
getEndpoint().getCamelContext().resolveLanguage("file");
                 expression = language.createExpression(name);

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
 Tue Jul 26 05:49:04 2011
@@ -119,20 +119,6 @@ public class SimpleLanguage extends Simp
         return answer;
     }
 
-    /**
-     * Does the expression have the simple language start token?
-     *
-     * @param expression the expression
-     * @return <tt>true</tt> if the expression contains the start token, 
<tt>false</tt> otherwise
-     */
-    public static boolean hasStartToken(String expression) {
-        if (expression == null) {
-            return false;
-        }
-
-        return expression.indexOf("${") >= 0 || expression.indexOf("$simple{") 
>= 0;
-    }
-
     public static Expression simple(String expression) {
         return SIMPLE.createExpression(expression);
     }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguageSupport.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguageSupport.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguageSupport.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguageSupport.java
 Tue Jul 26 05:49:04 2011
@@ -32,6 +32,7 @@ import org.apache.camel.builder.ValueBui
 import org.apache.camel.spi.Language;
 import org.apache.camel.util.KeyValueHolder;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.StringHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import static org.apache.camel.language.simple.SimpleLanguageOperator.*;
@@ -83,7 +84,7 @@ public abstract class SimpleLanguageSupp
         if (matcher.matches() || startMatcher.matches()) {
             log.debug("Expression is evaluated as simple (with operator) 
expression: {}", expression);
             return createOperatorExpression(matcher, startMatcher, expression);
-        } else if (SimpleLanguage.hasStartToken(expression)) {
+        } else if (StringHelper.hasStartToken(expression, "simple")) {
             log.debug("Expression is evaluated as simple (strict) expression: 
{}", expression);
             return createComplexConcatExpression(expression);
         } else {

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/StringHelper.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/StringHelper.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/StringHelper.java 
(original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/StringHelper.java 
Tue Jul 26 05:49:04 2011
@@ -124,4 +124,27 @@ public final class StringHelper {
         return false;
     }
 
+    /**
+     * Does the expression have the language start token?
+     *
+     * @param expression the expression
+     * @param language the name of the language, such as simple
+     * @return <tt>true</tt> if the expression contains the start token, 
<tt>false</tt> otherwise
+     */
+    public static boolean hasStartToken(String expression, String language) {
+        if (expression == null) {
+            return false;
+        }
+
+        if (expression.indexOf("${") >= 0) {
+            return true;
+        }
+
+        if (language != null && expression.indexOf("$" + language + "{") >= 0) 
{
+            return true;
+        }
+
+        return false;
+    }
+
 }

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/StringHelperTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/util/StringHelperTest.java?rev=1150991&r1=1150990&r2=1150991&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/StringHelperTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/util/StringHelperTest.java
 Tue Jul 26 05:49:04 2011
@@ -79,4 +79,21 @@ public class StringHelperTest extends Te
         assertEquals(true, StringHelper.hasUpperCase("com.foo.My"));
     }
 
+    public void testHasStartToken() throws Exception {
+        assertEquals(false, StringHelper.hasStartToken(null, null));
+        assertEquals(false, StringHelper.hasStartToken(null, "simple"));
+        assertEquals(false, StringHelper.hasStartToken("", null));
+        assertEquals(false, StringHelper.hasStartToken("", "simple"));
+        assertEquals(false, StringHelper.hasStartToken("Hello World", null));
+        assertEquals(false, StringHelper.hasStartToken("Hello World", 
"simple"));
+
+        assertEquals(true, StringHelper.hasStartToken("${body}", null));
+        assertEquals(true, StringHelper.hasStartToken("${body}", "simple"));
+        assertEquals(true, StringHelper.hasStartToken("$simple{body}", 
"simple"));
+
+        assertEquals(true, StringHelper.hasStartToken("${body}", null));
+        assertEquals(true, StringHelper.hasStartToken("${body}", "foo"));
+        assertEquals(true, StringHelper.hasStartToken("$foo{body}", "foo"));
+    }
+
 }


Reply via email to