This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 92e65a220f0fe1a5faaf0bdc649b9fbcf6d2f88c
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon Mar 16 07:05:53 2020 +0100

    CAMEL-14575: camel-core - TypeConverter from String to Long - drop time 
pattern
---
 .../org/apache/camel/component/mail/MailComponent.java    |  4 ++--
 .../org/apache/camel/component/mail/MailConverters.java   | 15 ++++++++-------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
index 3a72a9a..7494529 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
@@ -76,7 +76,7 @@ public class MailComponent extends 
HeaderFilterStrategyComponent implements SSLC
             SearchTerm st;
             if (searchTerm instanceof SimpleSearchTerm) {
                 // okay its a SimpleSearchTerm then lets convert that to 
SearchTerm
-                st = MailConverters.toSearchTerm((SimpleSearchTerm) 
searchTerm, getCamelContext().getTypeConverter());
+                st = MailConverters.toSearchTerm((SimpleSearchTerm) 
searchTerm);
             } else {
                 st = 
getCamelContext().getTypeConverter().mandatoryConvertTo(SearchTerm.class, 
searchTerm);
             }
@@ -104,7 +104,7 @@ public class MailComponent extends 
HeaderFilterStrategyComponent implements SSLC
             // use SimpleSearchTerm as POJO to store the configuration and 
then convert that to the actual SearchTerm
             SimpleSearchTerm sst = new SimpleSearchTerm();
             setProperties(sst, sstParams);
-            SearchTerm st = MailConverters.toSearchTerm(sst, 
getCamelContext().getTypeConverter());
+            SearchTerm st = MailConverters.toSearchTerm(sst);
             endpoint.setSearchTerm(st);
         }
 
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
index cab140e..ad17f51 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConverters.java
@@ -40,6 +40,7 @@ import org.apache.camel.NoTypeConversionAvailableException;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.support.ExchangeHelper;
+import org.apache.camel.util.TimeUtils;
 
 /**
  * JavaMail specific converters.
@@ -143,7 +144,7 @@ public final class MailConverters {
      *
      * This should not be a @Converter method
      */
-    public static SearchTerm toSearchTerm(SimpleSearchTerm simple, 
TypeConverter typeConverter) throws ParseException, 
NoTypeConversionAvailableException {
+    public static SearchTerm toSearchTerm(SimpleSearchTerm simple) throws 
ParseException {
         SearchTermBuilder builder = new SearchTermBuilder();
         if (simple.isUnseen()) {
             builder = builder.unseen();
@@ -170,7 +171,7 @@ public final class MailConverters {
         if (simple.getFromSentDate() != null) {
             String s = simple.getFromSentDate();
             if (s.startsWith("now")) {
-                long offset = extractOffset(s, typeConverter);
+                long offset = extractOffset(s);
                 builder = builder.and(new 
NowSearchTerm(SearchTermBuilder.Comparison.GE.asNum(), true, offset));
             } else {
                 SimpleDateFormat sdf = new SimpleDateFormat(NOW_DATE_FORMAT);
@@ -181,7 +182,7 @@ public final class MailConverters {
         if (simple.getToSentDate() != null) {
             String s = simple.getToSentDate();
             if (s.startsWith("now")) {
-                long offset = extractOffset(s, typeConverter);
+                long offset = extractOffset(s);
                 builder = builder.and(new 
NowSearchTerm(SearchTermBuilder.Comparison.LE.asNum(), true, offset));
             } else {
                 SimpleDateFormat sdf = new SimpleDateFormat(NOW_DATE_FORMAT);
@@ -192,7 +193,7 @@ public final class MailConverters {
         if (simple.getFromReceivedDate() != null) {
             String s = simple.getFromReceivedDate();
             if (s.startsWith("now")) {
-                long offset = extractOffset(s, typeConverter);
+                long offset = extractOffset(s);
                 builder = builder.and(new 
NowSearchTerm(SearchTermBuilder.Comparison.GE.asNum(), false, offset));
             } else {
                 SimpleDateFormat sdf = new SimpleDateFormat(NOW_DATE_FORMAT);
@@ -203,7 +204,7 @@ public final class MailConverters {
         if (simple.getToReceivedDate() != null) {
             String s = simple.getToReceivedDate();
             if (s.startsWith("now")) {
-                long offset = extractOffset(s, typeConverter);
+                long offset = extractOffset(s);
                 builder = builder.and(new 
NowSearchTerm(SearchTermBuilder.Comparison.LE.asNum(), false, offset));
             } else {
                 SimpleDateFormat sdf = new SimpleDateFormat(NOW_DATE_FORMAT);
@@ -253,7 +254,7 @@ public final class MailConverters {
         }
     }
     
-    private static long extractOffset(String now, TypeConverter typeConverter) 
throws NoTypeConversionAvailableException {
+    private static long extractOffset(String now) {
         Matcher matcher = NOW_PATTERN.matcher(now);
         if (matcher.matches()) {
             String op = matcher.group(1);
@@ -261,7 +262,7 @@ public final class MailConverters {
 
             // convert remainder to a time millis (eg we have a String -> long 
converter that supports
             // syntax with hours, days, minutes: eg 5h30m for 5 hours and 30 
minutes).
-            long offset = typeConverter.mandatoryConvertTo(long.class, 
remainder);
+            long offset = TimeUtils.toMilliSeconds(remainder);
 
             if ("+".equals(op)) {
                 return offset;

Reply via email to