Author: desruisseaux
Date: Fri Apr 22 09:28:55 2016
New Revision: 1740475
URL: http://svn.apache.org/viewvc?rev=1740475&view=rev
Log:
Separate the discussion of behavioral changes between branches.
Modified:
sis/site/trunk/content/branches.mdtext
Modified: sis/site/trunk/content/branches.mdtext
URL:
http://svn.apache.org/viewvc/sis/site/trunk/content/branches.mdtext?rev=1740475&r1=1740474&r2=1740475&view=diff
==============================================================================
--- sis/site/trunk/content/branches.mdtext [UTF-8] (original)
+++ sis/site/trunk/content/branches.mdtext [UTF-8] Fri Apr 22 09:28:55 2016
@@ -64,6 +64,16 @@ for building and running on a JDK7 platf
* `java.util.function` and `java.time` API replaced by internal placeholder
classes.
+### Behavioral differences {#behavior-jdk7}
+
+The JDK7 branch should behaves in a way close to identical to the JDK8 branch,
+with possible variations in the following aspects:
+
+ * Usage of `java.time.format.DateTimeFormatter` for parsing and formatting
ISO 8601 dates
+ are simulated by usage of `java.text.SimpleDateFormat`. Those two
formatters may not have
+ the same tolerance to inputs that deviate from the standard.
+
+
branches/JDK6 {#jdk6}
------------------------
@@ -82,6 +92,25 @@ for building and running on a JDK6 platf
* Other JDK7-specific features resolved on a case-by-case basis.
+### Behavioral differences {#behavior-jdk6}
+
+Some JDK7-specific features are reproduced on the JDK6 branch in an
approximative way,
+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.
+
+ * Invalid language strings accepted by the JDK6 branch may be rejected by
the JDK7 branch, for example "`en_US_WIN`".
+ Conversely the JDK7 branch accepts IETF BCP 47 language tag strings (for
example "`en-US-x-lvariant-POSIX`") while
+ the JDK6 branch does not. This is because the JDK7 branch creates
`java.util.Locale` instances using `Locale.Builder`
+ while the JDK6 branch uses `Locale` constructor, and the former performs
more rigorous syntax checks than the later.
+ In the above example, "`WIN`" is not a valid locale variant.
+
+ * Some exceptions that would be propagated on the JDK7 branch are caught on
the JDK6 branch.
+ This is because some verbose _multi-catches_ are replaced by a single
catch of a broad type like `Exception`.
+ 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.
+
+
trunk {#trunk}
-----------------
@@ -94,6 +123,10 @@ necessary for implementing an older vers
* Usages of non-existent GeoAPI interfaces are replaced by direct usages of
the
corresponding Apache SIS implementation.
+ * When a new revision of a standard is available,
+ the trunk still uses the old version since the new revision is not
available in GeoAPI 3.0.
+ Sometime it results in usage of methods that are deprecated on the SIS
development branches.
+
For security reasons and for avoiding misleading information, the following
functionalities are disabled on trunk
(but are still enabled on branches as experimental features). In particular
the `Supervisor.ENABLED` flag controls
whether the MBeans documented in the `org.apache.sis.console` package are
enabled or not.
@@ -104,27 +137,12 @@ whether the MBeans documented in the `or
Above flag values may change in future SIS releases.
+### Behavioral differences {#behavior}
-Behavioral differences between the branches {#behavior}
-==========================================================
-
-Some JDK7-specific features are reproduced on the JDK6 branch in an
approximative way,
-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.
-
- * Invalid language strings accepted by the JDK6 branch may be rejected by
the JDK7 branch, for example "`en_US_WIN`".
- Conversely the JDK7 branch accepts IETF BCP 47 language tag strings (for
example "`en-US-x-lvariant-POSIX`") while
- the JDK6 branch does not. This is because the JDK7 branch creates
`java.util.Locale` instances using `Locale.Builder`
- while the JDK6 branch uses `Locale` constructor, and the former performs
more rigorous syntax checks than the later.
- In the above example, "`WIN`" is not a valid locale variant.
-
- * Some exceptions that would be propagated on the JDK7 branch are caught on
the JDK6 branch.
- This is because some verbose _multi-catches_ are replaced by a single
catch of a broad type like `Exception`.
- 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.
+Because of changes between GeoAPI 3.0 and GeoAPI 4.0-SNAPSHOT, the following
aspects need special care:
-Regarding all above points, the trunk is identical to the JDK6 branch.
+ * If `op` is an instance of `PassThroughOperation`, then the `if (op
instanceof SingleOperation)` expression
+ evaluates to `true` on trunk but to `false` on SIS development branches.