You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2020/11/21 22:24:57 UTC
[logging-log4j2] 10/12: Use switch.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 205227679e83aabfdeb1f4850c7169cd53134a52
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Nov 21 16:46:57 2020 -0500
Use switch.
---
.../logging/log4j/core/util/CronExpression.java | 78 ++++++++++++----------
.../apache/logging/log4j/core/util/Transform.java | 29 +++++---
2 files changed, 61 insertions(+), 46 deletions(-)
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/CronExpression.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/CronExpression.java
index 8a86da7..5097179 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/CronExpression.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/CronExpression.java
@@ -574,7 +574,8 @@ public final class CronExpression {
return (i + 3);
}
- if (c == '?') {
+ switch (c) {
+ case '?':
i++;
if ((i + 1) < s.length()
&& (s.charAt(i) != ' ' && s.charAt(i + 1) != '\t')) {
@@ -594,12 +595,10 @@ public final class CronExpression {
i);
}
}
-
addToSet(NO_SPEC_INT, -1, 0, type);
return i;
- }
-
- if (c == '*' || c == '/') {
+ case '*':
+ case '/':
if (c == '*' && (i + 1) >= s.length()) {
addToSet(ALL_SPEC_INT, -1, incr, type);
return i + 1;
@@ -637,10 +636,9 @@ public final class CronExpression {
} else {
incr = 1;
}
-
addToSet(ALL_SPEC_INT, -1, incr, type);
return i;
- } else if (c == 'L') {
+ case 'L':
i++;
if (type == DAY_OF_MONTH) {
lastdayOfMonth = true;
@@ -667,23 +665,26 @@ public final class CronExpression {
}
}
return i;
- } else if (c >= '0' && c <= '9') {
- int val = Integer.parseInt(String.valueOf(c));
- i++;
- if (i >= s.length()) {
- addToSet(val, -1, -1, type);
- } else {
- c = s.charAt(i);
- if (c >= '0' && c <= '9') {
- final ValueSet vs = getValue(val, s, i);
- val = vs.value;
- i = vs.pos;
+ default:
+ if (c >= '0' && c <= '9') {
+ int val = Integer.parseInt(String.valueOf(c));
+ i++;
+ if (i >= s.length()) {
+ addToSet(val, -1, -1, type);
+ } else {
+ c = s.charAt(i);
+ if (c >= '0' && c <= '9') {
+ final ValueSet vs = getValue(val, s, i);
+ val = vs.value;
+ i = vs.pos;
+ }
+ i = checkNext(i, s, val, type);
+ return i;
}
- i = checkNext(i, s, val, type);
- return i;
+ } else {
+ throw new ParseException("Unexpected character: " + c, i);
}
- } else {
- throw new ParseException("Unexpected character: " + c, i);
+ break;
}
return i;
@@ -732,7 +733,8 @@ public final class CronExpression {
return i;
}
- if (c == '#') {
+ switch (c) {
+ case '#':
if (type != DAY_OF_WEEK) {
throw new ParseException("'#' option is not valid here. (pos=" + i + ")", i);
}
@@ -747,14 +749,11 @@ public final class CronExpression {
"A numeric value between 1 and 5 must follow the '#' option",
i);
}
-
final TreeSet<Integer> set = getSet(type);
set.add(val);
i++;
return i;
- }
-
- if (c == '-') {
+ case '-':
i++;
c = s.charAt(i);
final int v = Integer.parseInt(String.valueOf(c));
@@ -794,9 +793,7 @@ public final class CronExpression {
addToSet(val, end, 1, type);
return i;
}
- }
-
- if (c == '/') {
+ case '/':
i++;
c = s.charAt(i);
final int v2 = Integer.parseInt(String.valueOf(c));
@@ -815,6 +812,8 @@ public final class CronExpression {
} else {
throw new ParseException("Unexpected character '" + c + "' after '/'", i);
}
+ default:
+ break;
}
addToSet(val, end, 0, type);
@@ -939,34 +938,43 @@ public final class CronExpression {
final TreeSet<Integer> set = getSet(type);
- if (type == SECOND || type == MINUTE) {
+ switch (type) {
+ case SECOND:
+ case MINUTE:
if ((val < 0 || val > 59 || end > 59) && (val != ALL_SPEC_INT)) {
throw new ParseException(
"Minute and Second values must be between 0 and 59",
-1);
}
- } else if (type == HOUR) {
+ break;
+ case HOUR:
if ((val < 0 || val > 23 || end > 23) && (val != ALL_SPEC_INT)) {
throw new ParseException(
"Hour values must be between 0 and 23", -1);
}
- } else if (type == DAY_OF_MONTH) {
+ break;
+ case DAY_OF_MONTH:
if ((val < 1 || val > 31 || end > 31) && (val != ALL_SPEC_INT)
&& (val != NO_SPEC_INT)) {
throw new ParseException(
"Day of month values must be between 1 and 31", -1);
}
- } else if (type == MONTH) {
+ break;
+ case MONTH:
if ((val < 1 || val > 12 || end > 12) && (val != ALL_SPEC_INT)) {
throw new ParseException(
"Month values must be between 1 and 12", -1);
}
- } else if (type == DAY_OF_WEEK) {
+ break;
+ case DAY_OF_WEEK:
if ((val == 0 || val > 7 || end > 7) && (val != ALL_SPEC_INT)
&& (val != NO_SPEC_INT)) {
throw new ParseException(
"Day-of-Week values must be between 1 and 7", -1);
}
+ break;
+ default:
+ break;
}
if ((incr == 0 || incr == -1) && val != ALL_SPEC_INT) {
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Transform.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Transform.java
index 90f3a39..83a2784 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Transform.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Transform.java
@@ -64,17 +64,24 @@ public final class Transform {
final char ch = input.charAt(i);
if (ch > '>') {
buf.append(ch);
- } else if (ch == '<') {
- buf.append("<");
- } else if (ch == '>') {
- buf.append(">");
- } else if (ch == '&') {
- buf.append("&");
- } else if (ch == '"') {
- buf.append(""");
- } else {
- buf.append(ch);
- }
+ } else
+ switch (ch) {
+ case '<':
+ buf.append("<");
+ break;
+ case '>':
+ buf.append(">");
+ break;
+ case '&':
+ buf.append("&");
+ break;
+ case '"':
+ buf.append(""");
+ break;
+ default:
+ buf.append(ch);
+ break;
+ }
}
return buf.toString();
}