sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r890933 - in /websites/staging/sis/trunk/content: ./ branches.html
Date Wed, 18 Dec 2013 18:42:44 GMT
Author: buildbot
Date: Wed Dec 18 18:42:43 2013
New Revision: 890933

Log:
Staging update by buildbot for sis

Modified:
    websites/staging/sis/trunk/content/   (props changed)
    websites/staging/sis/trunk/content/branches.html

Propchange: websites/staging/sis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Dec 18 18:42:43 2013
@@ -1 +1 @@
-1552048
+1552055

Modified: websites/staging/sis/trunk/content/branches.html
==============================================================================
--- websites/staging/sis/trunk/content/branches.html (original)
+++ websites/staging/sis/trunk/content/branches.html Wed Dec 18 18:42:43 2013
@@ -136,6 +136,7 @@ for building and running on a JDK6 platf
 <li><em>Multi-catches</em> replaced by an explicit sequences of <em>catch</em>
statements.</li>
 <li><em>Diamond operators</em> replaced by explicit generic types.</li>
 <li><em>Suppressed exceptions</em> removed.</li>
+<li>Exception types introduced after JDK6 (e.g. <code>java.util.IllformedLocaleException</code>)
replaced by their nearest parent (may be <code>RuntimeException</code>).</li>
 <li>Imports of <code>java.util.Objects</code> replaced by imports of <code>org.apache.sis.internal.util.Objects</code>.</li>
 <li>Other JDK7-specific features resolved on a case-by-case basis.</li>
 </ul>
@@ -150,27 +151,30 @@ necessary for implementing an older vers
 </ul>
 <h1 id="behavior">Behavioral differences between the branches</h1>
 <p>Some JDK7-specific features are reproduced on the JDK6 branch in an approximative
way,
-which may cause some differences in the behavior:</p>
+which may cause some differences in application behavior (ignoring differences in performance).
+Most differences are about the JDK7 branch being slightly stricter than the JDK6 branch is,
+or being able to handle information that are unsupported on the JDK6 branch.</p>
 <ul>
 <li>
-<p>JDK7 branch creates <code>java.util.Locale</code> instances using <code>Locale.Builder</code>
inner class while the JDK6 branch
-    uses the <code>Locale</code> constructor. Since the former performs more
rigorous syntax checks than the later,
-    some language strings accepted by the JDK6 branch may be rejected by the JDK7 branch.
For example the
-    "<code>en_US_WIN</code>" string will be rejected on the JDK7 branch because
"<code>WIN</code>" is not a valid locale variant.</p>
+<p>Invalid language strings accepted by the JDK6 branch may be rejected by the JDK7
branch, for example "<code>en_US_WIN</code>".
+    Conversely the JDK7 branch accepts IETF BCP 47 language tag strings (for example "<code>en-US-x-lvariant-POSIX</code>")
while
+    the JDK6 branch does not. This is because the JDK7 branch creates <code>java.util.Locale</code>
instances using <code>Locale.Builder</code>
+    while the JDK6 branch uses <code>Locale</code> constructor, and the former
performs more rigorous syntax checks than the later.
+    In the above example, "<code>WIN</code>" is not a valid locale variant.</p>
 </li>
 <li>
-<p>Some exception types do not exist on the JDK6 branch, for instance <code>java.util.IllformedLocaleException</code>.
-    The JDK6 branch replaces those types by their nearest parent, which may be <code>java.lang.RuntimeException</code>.</p>
+<p>Some exceptions that would be propagated on the JDK7 branch are caught on the JDK6
branch.
+    This is because some verbose <em>multi-catches</em> are replaced by a single
catch of a broad type like <code>Exception</code>.
+    Since uncaught exceptions on JDK7 branch were expected to be bugs, the broad exception
handling on JDK6 branch
+    may make some potential SIS bugs slightly more difficult to identify.</p>
 </li>
 <li>
-<p>Some verbose <em>multi-catches</em> are replaced by a single catch of
a broad type like <code>Exception</code>.
-    Consequently some exceptions that would be propagated on the JDK7 branch are caught on
the JDK6 branch.
-    Since such propagated exceptions are expected to be bugs, the broad exception handling
on JDK6 branch
-    may make some potential SIS bugs slightly more difficult to identify.</p>
+<p>When (un)marshalling instances of <code>org.apache.sis.referencing.AbstractIdentifiedObject</code>,
+    aliases are lost on the JDK6 branch while they are property (un)marshalled on the JDK7
branch.
+    This is because of an issue with the JAXB implementation bundled in JDK6.</p>
 </li>
 </ul>
-<p>Generally speaking, the JDK7 branch is slightly stricter than the JDK6 branch is.
-Regarding all above points, the trunk is identical to the JDK6 branch.</p>
+<p>Regarding all above points, the trunk is identical to the JDK6 branch.</p>
 <h1 id="recommendations">Coding recommendations</h1>
 <p>The following recommendations aim to make the merges easier by reducing the extend
of potential conflicts.</p>
 <h2 id="formatting">Formatting</h2>



Mime
View raw message