aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/time
diff options
context:
space:
mode:
authordmeetry <none@none>2014-08-01 16:29:46 +0400
committerdmeetry <none@none>2014-08-01 16:29:46 +0400
commit4f3b625e3beaac6ecb3ef84be554d37b89a240f2 (patch)
tree280720e6161530a936ce24052dbb1d0171207bab /src/share/classes/java/time
parent1768f41803cdfeab249e97c8dbc3cc0d5ea8225a (diff)
downloadjdk8u_jdk-4f3b625e3beaac6ecb3ef84be554d37b89a240f2.tar.gz
8044671: NPE from JapaneseEra when a new era is defined in calendar.properties
Reviewed-by: okutsu
Diffstat (limited to 'src/share/classes/java/time')
-rw-r--r--src/share/classes/java/time/chrono/JapaneseEra.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/share/classes/java/time/chrono/JapaneseEra.java b/src/share/classes/java/time/chrono/JapaneseEra.java
index 0187565869..0c9e3e81e1 100644
--- a/src/share/classes/java/time/chrono/JapaneseEra.java
+++ b/src/share/classes/java/time/chrono/JapaneseEra.java
@@ -127,7 +127,7 @@ public final class JapaneseEra
// the number of defined JapaneseEra constants.
// There could be an extra era defined in its configuration.
- private static final int N_ERA_CONSTANTS = HEISEI.getValue() + ERA_OFFSET + 1;
+ private static final int N_ERA_CONSTANTS = HEISEI.getValue() + ERA_OFFSET;
/**
* Serialization version.
@@ -148,7 +148,7 @@ public final class JapaneseEra
for (int i = N_ERA_CONSTANTS; i < ERA_CONFIG.length; i++) {
CalendarDate date = ERA_CONFIG[i].getSinceDate();
LocalDate isoDate = LocalDate.of(date.getYear(), date.getMonth(), date.getDayOfMonth());
- KNOWN_ERAS[i] = new JapaneseEra(i - ERA_OFFSET, isoDate);
+ KNOWN_ERAS[i] = new JapaneseEra(i - ERA_OFFSET + 1, isoDate);
}
};
@@ -195,7 +195,7 @@ public final class JapaneseEra
* @throws DateTimeException if the value is invalid
*/
public static JapaneseEra of(int japaneseEra) {
- if (japaneseEra < MEIJI.eraValue || japaneseEra + ERA_OFFSET - 1 >= KNOWN_ERAS.length) {
+ if (japaneseEra < MEIJI.eraValue || japaneseEra + ERA_OFFSET > KNOWN_ERAS.length) {
throw new DateTimeException("Invalid era: " + japaneseEra);
}
return KNOWN_ERAS[ordinal(japaneseEra)];