[java-sig-commits] [apache-commons-lang/f17] Add backported fix for JDK 1.7
Stanislav Ochotnicky
sochotni at fedoraproject.org
Wed Feb 22 10:34:32 UTC 2012
commit b2ad8a61470cc485bc501ebc7b5f3bff1d9d9e2c
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date: Wed Feb 22 11:25:47 2012 +0100
Add backported fix for JDK 1.7
0001-Make-source-version-1.3.patch | 4 +-
0002-Fix-FastDateFormat-for-Java-7-behaviour.patch | 71 ++++++++++++++++++++
apache-commons-lang.spec | 15 +++--
3 files changed, 83 insertions(+), 7 deletions(-)
---
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 <sochotnicky at redhat.com>
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
</build>
--
-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 <sochotnicky at redhat.com>
+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;
+ * </p>
+ *
+ * <p>Only formatting is supported, but all patterns are compatible with
+- * SimpleDateFormat (except time zones - see below).</p>
++ * SimpleDateFormat (except time zones and some year patterns - see below).</p>
+ *
+ * <p>Java 1.4 introduced a new pattern letter, <code>'Z'</code>, to represent
+ * time zones in RFC822 format (eg. <code>+0800</code> or <code>-1100</code>).
+@@ -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.</p>
+ *
++ * <p>Javadoc cites for the year pattern: <i>For formatting, if the number of
++ * pattern letters is 2, the year is truncated to 2 digits; otherwise it is
++ * interpreted as a number.</i> 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.</p>
++ *
+ * @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 <sochotnicky at redhat.com> - 2.6-6
+- Add backported fix for JDK 1.7
+
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
More information about the java-sig-commits
mailing list