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

acosentino pushed a commit to branch issue-1350
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit d25005a1910d81b2bc78db2227b1560f3143bf9a
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Tue Mar 17 15:16:20 2020 +0100

    Fixes #1350 Remove human-readable format from timer period computation in 
cron trait
---
 pkg/trait/cron.go      | 17 +----------------
 pkg/trait/cron_test.go | 26 +++++++++++++-------------
 2 files changed, 14 insertions(+), 29 deletions(-)

diff --git a/pkg/trait/cron.go b/pkg/trait/cron.go
index 6d4d332..ab0421e 100644
--- a/pkg/trait/cron.go
+++ b/pkg/trait/cron.go
@@ -96,8 +96,7 @@ const (
 )
 
 var (
-       camelTimerPeriodMillis        = regexp.MustCompile(`^[0-9]+$`)
-       camelTimerPeriodHumanReadable = 
regexp.MustCompile(`^(?:([0-9]+)h)?(?:([0-9]+)m)?(?:([0-9]+)s)?$`)
+       camelTimerPeriodMillis = regexp.MustCompile(`^[0-9]+$`)
 
        supportedCamelComponents = map[string]cronExtractor{
                "timer":  timerToCronInfo,
@@ -432,20 +431,6 @@ func timerToCronInfo(camelURI string) *cronInfo {
        var period uint64
        if camelTimerPeriodMillis.MatchString(periodStr) {
                period = checkedStringToUint64(periodStr)
-       } else if camelTimerPeriodHumanReadable.MatchString(periodStr) {
-               res := 
camelTimerPeriodHumanReadable.FindStringSubmatch(periodStr)
-               if len(res) == 4 {
-                       period = 0
-                       if res[1] != "" { // hours
-                               period += checkedStringToUint64(res[1]) * 
3600000
-                       }
-                       if res[2] != "" { // minutes
-                               period += checkedStringToUint64(res[2]) * 60000
-                       }
-                       if res[3] != "" { // seconds
-                               period += checkedStringToUint64(res[3]) * 1000
-                       }
-               }
        } else {
                return nil
        }
diff --git a/pkg/trait/cron_test.go b/pkg/trait/cron_test.go
index a12aaab..5519a2a 100644
--- a/pkg/trait/cron_test.go
+++ b/pkg/trait/cron_test.go
@@ -68,43 +68,43 @@ func TestCronFromURI(t *testing.T) {
                        uri: "timer:tick?period=120001", // invalid
                },
                {
-                       uri:        "timer:tick?period=1m",
+                       uri:        "timer:tick?period=60000",
                        cron:       "0/1 * * * ?",
                        components: "timer",
                },
                {
-                       uri:        "timer:tick?period=5m",
+                       uri:        "timer:tick?period=300000",
                        cron:       "0/5 * * * ?",
                        components: "timer",
                },
                {
-                       uri:        "timer:tick?period=10m",
+                       uri:        "timer:tick?period=600000",
                        cron:       "0/10 * * * ?",
                        components: "timer",
                },
                {
-                       uri: "timer:tick?period=61m", // invalid
+                       uri: "timer:tick?period=66000", // invalid
                },
                {
-                       uri:        "timer:tick?period=2h",
+                       uri:        "timer:tick?period=7200000",
                        cron:       "0 0/2 * * ?",
                        components: "timer",
                },
                {
-                       uri:        "timer:tick?period=2h60m",
+                       uri:        "timer:tick?period=10800000",
                        cron:       "0 0/3 * * ?",
                        components: "timer",
                },
                {
-                       uri:        "timer:tick?period=24h",
+                       uri:        "timer:tick?period=86400000",
                        cron:       "0 0 * * ?",
                        components: "timer",
                },
                {
-                       uri: "timer:tick?period=3h60s", // invalid
+                       uri: "timer:tick?period=10860000", // invalid
                },
                {
-                       uri:        "timer:tick?period=3h59m60s",
+                       uri:        "timer:tick?period=14400000",
                        cron:       "0 0/4 * * ?",
                        components: "timer",
                },
@@ -167,26 +167,26 @@ func TestCronFromURI(t *testing.T) {
                // Mixed scenarios
                {
                        uri:        "cron:tab?schedule=0/2 * * * ?",
-                       uri2:       "timer:tick?period=2m",
+                       uri2:       "timer:tick?period=120000",
                        cron:       "0/2 * * * ?",
                        components: "cron,timer",
                },
                {
                        uri:        "cron:tab?schedule=0 0/2 * * ?",
-                       uri2:       "timer:tick?period=2h",
+                       uri2:       "timer:tick?period=7200000",
                        uri3:       "quartz:trigger?cron=0 0 0/2 * * ? ?",
                        cron:       "0 0/2 * * ?",
                        components: "cron,timer,quartz",
                },
                {
                        uri:  "cron:tab?schedule=1 0/2 * * ?",
-                       uri2: "timer:tick?period=2h",
+                       uri2: "timer:tick?period=7200000",
                        uri3: "quartz:trigger?cron=0 0 0/2 * * ? ?",
                        // invalid
                },
                {
                        uri:  "cron:tab?schedule=0 0/2 * * ?",
-                       uri2: "timer:tick?period=3h",
+                       uri2: "timer:tick?period=10800000",
                        uri3: "quartz:trigger?cron=0 0 0/2 * * ? ?",
                        // invalid
                },

Reply via email to