From b2ad8a61470cc485bc501ebc7b5f3bff1d9d9e2c Mon Sep 17 00:00:00 2001 From: Stanislav Ochotnicky Date: Feb 22 2012 10:25:47 +0000 Subject: Add backported fix for JDK 1.7 --- diff --git a/0001-Make-source-version-1.3.patch b/0001-Make-source-version-1.3.patch index 2b6a7a2..4f31997 100644 --- a/0001-Make-source-version-1.3.patch +++ b/0001-Make-source-version-1.3.patch @@ -1,7 +1,7 @@ From 4bdae0c8e87e64322753890a10bbbe5971d46bb6 Mon Sep 17 00:00:00 2001 From: Stanislav Ochotnicky Date: Tue, 18 Jan 2011 13:43:08 +0100 -Subject: [PATCH] Make source version 1.3 +Subject: [PATCH 1/2] Make source version 1.3 --- pom.xml | 12 ++++++++++++ @@ -31,5 +31,5 @@ index 367d439..fa3db7b 100644 -- -1.7.3.4 +1.7.7.6 diff --git a/0002-Fix-FastDateFormat-for-Java-7-behaviour.patch b/0002-Fix-FastDateFormat-for-Java-7-behaviour.patch new file mode 100644 index 0000000..ccd05a0 --- /dev/null +++ b/0002-Fix-FastDateFormat-for-Java-7-behaviour.patch @@ -0,0 +1,71 @@ +From 6af11cb2cfdf83ce013a531005077259984c55e7 Mon Sep 17 00:00:00 2001 +From: Stanislav Ochotnicky +Date: Wed, 22 Feb 2012 11:21:06 +0100 +Subject: [PATCH 2/2] Fix FastDateFormat for Java 7 behaviour + +Backported from 1146138 +See https://issues.apache.org/jira/browse/LANG-719 for more information +--- + .../apache/commons/lang/time/FastDateFormat.java | 14 ++++++++++---- + .../commons/lang/time/FastDateFormatTest.java | 5 +++-- + 2 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/src/main/java/org/apache/commons/lang/time/FastDateFormat.java b/src/main/java/org/apache/commons/lang/time/FastDateFormat.java +index 2ca7e5c..b7e19ec 100644 +--- a/src/main/java/org/apache/commons/lang/time/FastDateFormat.java ++++ b/src/main/java/org/apache/commons/lang/time/FastDateFormat.java +@@ -49,7 +49,7 @@ import org.apache.commons.lang.text.StrBuilder; + *

+ * + *

Only formatting is supported, but all patterns are compatible with +- * SimpleDateFormat (except time zones - see below).

++ * SimpleDateFormat (except time zones and some year patterns - see below).

+ * + *

Java 1.4 introduced a new pattern letter, 'Z', to represent + * time zones in RFC822 format (eg. +0800 or -1100). +@@ -60,6 +60,12 @@ import org.apache.commons.lang.text.StrBuilder; + * This introduces a minor incompatibility with Java 1.4, but at a gain of + * useful functionality.

+ * ++ *

Javadoc cites for the year pattern: For formatting, if the number of ++ * pattern letters is 2, the year is truncated to 2 digits; otherwise it is ++ * interpreted as a number. Starting with Java 1.7 a pattern of 'Y' or ++ * 'YYY' will be formatted as '2003', while it was '03' in former Java ++ * versions. FastDateFormat implements the behavior of Java 7.

++ * + * @author Apache Software Foundation + * @author TeaTrove project + * @author Brian S O'Neill +@@ -606,10 +612,10 @@ public class FastDateFormat extends Format { + rule = new TextField(Calendar.ERA, ERAs); + break; + case 'y': // year (number) +- if (tokenLen >= 4) { +- rule = selectNumberRule(Calendar.YEAR, tokenLen); +- } else { ++ if (tokenLen == 2) { + rule = TwoDigitYearField.INSTANCE; ++ } else { ++ rule = selectNumberRule(Calendar.YEAR, tokenLen < 4 ? 4 : tokenLen); + } + break; + case 'M': // month in year (text and number) +diff --git a/src/test/java/org/apache/commons/lang/time/FastDateFormatTest.java b/src/test/java/org/apache/commons/lang/time/FastDateFormatTest.java +index 8232747..bd4d664 100644 +--- a/src/test/java/org/apache/commons/lang/time/FastDateFormatTest.java ++++ b/src/test/java/org/apache/commons/lang/time/FastDateFormatTest.java +@@ -230,8 +230,9 @@ public class FastDateFormatTest extends TestCase { + " dddd ddd dd d DDDD DDD DD D EEEE EEE EE E aaaa aaa aa a zzzz zzz zz z"; + fdf = FastDateFormat.getInstance(pattern); + sdf = new SimpleDateFormat(pattern); +- assertEquals(sdf.format(date1), fdf.format(date1)); +- assertEquals(sdf.format(date2), fdf.format(date2)); ++ // SDF bug fix starting with Java 7 ++ assertEquals(sdf.format(date1).replaceAll("2003 03 03 03", "2003 2003 03 2003"), fdf.format(date1)); ++ assertEquals(sdf.format(date2).replaceAll("2003 03 03 03", "2003 2003 03 2003"), fdf.format(date2)); + + } finally { + Locale.setDefault(realDefaultLocale); +-- +1.7.7.6 + diff --git a/apache-commons-lang.spec b/apache-commons-lang.spec index 0c824b6..be1af18 100644 --- a/apache-commons-lang.spec +++ b/apache-commons-lang.spec @@ -4,13 +4,15 @@ Name: apache-%{short_name} Version: 2.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Provides a host of helper utilities for the java.lang API License: ASL 2.0 Group: Development/Libraries URL: http://commons.apache.org/%{base_name} Source0: http://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz Patch0: 0001-Make-source-version-1.3.patch +Patch1: 0002-Fix-FastDateFormat-for-Java-7-behaviour.patch + BuildArch: noarch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils >= 0:1.7.2 @@ -21,8 +23,6 @@ BuildRequires: maven-surefire-provider-junit Requires: java >= 1:1.6.0 Requires: jpackage-utils >= 0:1.6 -Requires(post): jpackage-utils -Requires(postun): jpackage-utils # This should go away with F-17 @@ -54,6 +54,7 @@ Obsoletes: jakarta-%{short_name}-javadoc <= 0:2.4 %prep %setup -q -n %{short_name}-%{version}-src %patch0 -p1 +%patch1 -p1 sed -i 's/\r//' *.txt %build @@ -82,15 +83,19 @@ rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || : %files %doc PROPOSAL.html LICENSE.txt RELEASE-NOTES.txt NOTICE.txt -%{_javadir}/* +%{_javadir}/%{name}.jar +%{_javadir}/%{short_name}.jar %{_mavenpomdir}/JPP-%{short_name}.pom -%{_mavendepmapfragdir}/* +%{_mavendepmapfragdir}/%{name} %files javadoc %doc LICENSE.txt NOTICE.txt %doc %{_javadocdir}/%{name} %changelog +* Wed Feb 22 2012 Stanislav Ochotnicky - 2.6-6 +- Add backported fix for JDK 1.7 + * Thu Jan 12 2012 Fedora Release Engineering - 2.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild