You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2010/06/10 18:16:33 UTC
svn commit: r953372 -
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Duration.java
Author: dblevins
Date: Thu Jun 10 16:16:33 2010
New Revision: 953372
URL: http://svn.apache.org/viewvc?rev=953372&view=rev
Log:
Yanked the internal Duration.Unit which was only there to workaround the Java 5 lack of MINUTES, HOURS, and DAYS in the TimeUnit class.
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Duration.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Duration.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Duration.java?rev=953372&r1=953371&r2=953372&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Duration.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Duration.java Thu Jun 10 16:16:33 2010
@@ -18,6 +18,9 @@ package org.apache.openejb.util;
import java.beans.PropertyEditorManager;
import java.util.concurrent.TimeUnit;
+import java.util.Collection;
+import java.util.List;
+import java.util.ArrayList;
public class Duration {
@@ -81,48 +84,8 @@ public class Duration {
part.time = Integer.parseInt(t.toString());
- Unit unit1 = parseUnit(u.toString());
+ part.unit = parseUnit(u.toString());
- if (unit1 != null) switch (unit1) {
- case days: {
- part.time *= 60 * 60 * 24;
- part.unit = TimeUnit.SECONDS;
- }
- ;
- break;
- case hours: {
- part.time *= 60 * 60;
- part.unit = TimeUnit.SECONDS;
- }
- ;
- break;
- case minutes: {
- part.time *= 60;
- part.unit = TimeUnit.SECONDS;
- }
- ;
- break;
- case seconds: {
- part.unit = TimeUnit.SECONDS;
- }
- ;
- break;
- case milliseconds: {
- part.unit = TimeUnit.MILLISECONDS;
- }
- ;
- break;
- case microseconds: {
- part.unit = TimeUnit.MICROSECONDS;
- }
- ;
- break;
- case nanoseconds: {
- part.unit = TimeUnit.NANOSECONDS;
- }
- ;
- break;
- }
total = total.add(part);
}
@@ -222,56 +185,59 @@ public class Duration {
return sb.toString();
}
- private static Unit parseUnit(String u) {
+ private static TimeUnit parseUnit(String u) {
if (u.length() == 0) return null;
- if (u.equalsIgnoreCase("NANOSECONDS")) return Unit.nanoseconds;
- if (u.equalsIgnoreCase("NANOSECOND")) return Unit.nanoseconds;
- if (u.equalsIgnoreCase("NANOS")) return Unit.nanoseconds;
- if (u.equalsIgnoreCase("NANO")) return Unit.nanoseconds;
- if (u.equalsIgnoreCase("NS")) return Unit.nanoseconds;
-
- if (u.equalsIgnoreCase("MICROSECONDS")) return Unit.microseconds;
- if (u.equalsIgnoreCase("MICROSECOND")) return Unit.microseconds;
- if (u.equalsIgnoreCase("MICROS")) return Unit.microseconds;
- if (u.equalsIgnoreCase("MICRO")) return Unit.microseconds;
-
- if (u.equalsIgnoreCase("MILLISECONDS")) return Unit.milliseconds;
- if (u.equalsIgnoreCase("MILLISECOND")) return Unit.milliseconds;
- if (u.equalsIgnoreCase("MILLIS")) return Unit.milliseconds;
- if (u.equalsIgnoreCase("MILLI")) return Unit.milliseconds;
- if (u.equalsIgnoreCase("MS")) return Unit.milliseconds;
-
- if (u.equalsIgnoreCase("SECONDS")) return Unit.seconds;
- if (u.equalsIgnoreCase("SECOND")) return Unit.seconds;
- if (u.equalsIgnoreCase("SEC")) return Unit.seconds;
- if (u.equalsIgnoreCase("S")) return Unit.seconds;
-
- if (u.equalsIgnoreCase("MINUTES")) return Unit.minutes;
- if (u.equalsIgnoreCase("MINUTE")) return Unit.minutes;
- if (u.equalsIgnoreCase("MIN")) return Unit.minutes;
- if (u.equalsIgnoreCase("M")) return Unit.minutes;
-
- if (u.equalsIgnoreCase("HOURS")) return Unit.hours;
- if (u.equalsIgnoreCase("HOUR")) return Unit.hours;
- if (u.equalsIgnoreCase("HRS")) return Unit.hours;
- if (u.equalsIgnoreCase("HR")) return Unit.hours;
- if (u.equalsIgnoreCase("H")) return Unit.hours;
-
- if (u.equalsIgnoreCase("DAYS")) return Unit.days;
- if (u.equalsIgnoreCase("DAY")) return Unit.days;
- if (u.equalsIgnoreCase("D")) return Unit.days;
-
- throw new IllegalArgumentException("Unknown time unit '" + u + "'. Supported units " + Join.join(", ", Unit.values()));
+ if (u.equalsIgnoreCase("NANOSECONDS")) return TimeUnit.NANOSECONDS;
+ if (u.equalsIgnoreCase("NANOSECOND")) return TimeUnit.NANOSECONDS;
+ if (u.equalsIgnoreCase("NANOS")) return TimeUnit.NANOSECONDS;
+ if (u.equalsIgnoreCase("NANO")) return TimeUnit.NANOSECONDS;
+ if (u.equalsIgnoreCase("NS")) return TimeUnit.NANOSECONDS;
+
+ if (u.equalsIgnoreCase("MICROSECONDS")) return TimeUnit.MICROSECONDS;
+ if (u.equalsIgnoreCase("MICROSECOND")) return TimeUnit.MICROSECONDS;
+ if (u.equalsIgnoreCase("MICROS")) return TimeUnit.MICROSECONDS;
+ if (u.equalsIgnoreCase("MICRO")) return TimeUnit.MICROSECONDS;
+
+ if (u.equalsIgnoreCase("MILLISECONDS")) return TimeUnit.MILLISECONDS;
+ if (u.equalsIgnoreCase("MILLISECOND")) return TimeUnit.MILLISECONDS;
+ if (u.equalsIgnoreCase("MILLIS")) return TimeUnit.MILLISECONDS;
+ if (u.equalsIgnoreCase("MILLI")) return TimeUnit.MILLISECONDS;
+ if (u.equalsIgnoreCase("MS")) return TimeUnit.MILLISECONDS;
+
+ if (u.equalsIgnoreCase("SECONDS")) return TimeUnit.SECONDS;
+ if (u.equalsIgnoreCase("SECOND")) return TimeUnit.SECONDS;
+ if (u.equalsIgnoreCase("SEC")) return TimeUnit.SECONDS;
+ if (u.equalsIgnoreCase("S")) return TimeUnit.SECONDS;
+
+ if (u.equalsIgnoreCase("MINUTES")) return TimeUnit.MINUTES;
+ if (u.equalsIgnoreCase("MINUTE")) return TimeUnit.MINUTES;
+ if (u.equalsIgnoreCase("MIN")) return TimeUnit.MINUTES;
+ if (u.equalsIgnoreCase("M")) return TimeUnit.MINUTES;
+
+ if (u.equalsIgnoreCase("HOURS")) return TimeUnit.HOURS;
+ if (u.equalsIgnoreCase("HOUR")) return TimeUnit.HOURS;
+ if (u.equalsIgnoreCase("HRS")) return TimeUnit.HOURS;
+ if (u.equalsIgnoreCase("HR")) return TimeUnit.HOURS;
+ if (u.equalsIgnoreCase("H")) return TimeUnit.HOURS;
+
+ if (u.equalsIgnoreCase("DAYS")) return TimeUnit.DAYS;
+ if (u.equalsIgnoreCase("DAY")) return TimeUnit.DAYS;
+ if (u.equalsIgnoreCase("D")) return TimeUnit.DAYS;
+
+ throw new IllegalArgumentException("Unknown time unit '" + u + "'. Supported units " + Join.join(", ", lowercase(TimeUnit.values())));
+ }
+
+ private static List<String> lowercase(Enum... units) {
+ List<String> list = new ArrayList<String>();
+ for (Enum unit : units) {
+ list.add(unit.name().toLowerCase());
+ }
+ return list;
}
-
static {
PropertyEditorManager.registerEditor(Duration.class, DurationEditor.class);
}
- public static enum Unit {
- // All lowercase so they look good displayed in help
- nanoseconds, microseconds, milliseconds, seconds, minutes, hours, days;
- }
}