Improve comments; update spec license.
diff --git a/activation/src/main/java/doc-files/speclicense.html b/activation/src/main/java/doc-files/speclicense.html index 23cb3ea..922d5df 100644 --- a/activation/src/main/java/doc-files/speclicense.html +++ b/activation/src/main/java/doc-files/speclicense.html
@@ -3,21 +3,19 @@ <title>Specification License</title> </head> <body> -Specification: JSR-925 JavaBeans Activation Framework API Specification ("Specification") +Specification: JSR-925 JavaBeans Activation Framework ("Specification") <br/> Version: 1.2 <br/> -Status: Final Release +Status: Maintenance Release <br/> Specification Lead: Oracle America, Inc. ("Specification Lead") <br/> -Release: July 11, 2017 +Release: July 2017 <br/> <br/> -Copyright © 2017 Oracle America, Inc. -<br/> -All rights reserved. +Copyright © 2017 Oracle America, Inc. All rights reserved. <br/> <p> LIMITED LICENSE GRANTS @@ -115,16 +113,16 @@ from Specification Lead, includes any of Specification Lead's source code or binary code materials; "Licensor Name Space" shall mean the public class or interface declarations whose names begin with "java", -"javax", "com.sun" and "com.oracle" or their equivalents in any -subsequent naming convention adopted by Oracle America, Inc. through -the Java Community Process, or any recognized successors or -replacements thereof; and "Technology Compatibility Kit" or "TCK" shall -mean the test suite and accompanying TCK User's Guide provided by -Specification Lead which corresponds to the Specification and that was -available either (i) from Specification Lead's 120 days before the -first release of Your Independent Implementation that allows its use -for commercial purposes, or (ii) more recently than 120 days from such -release but against which You elect to test Your implementation of the +"javax", "com.oracle", "com.sun" or their equivalents in any subsequent +naming convention adopted by Oracle America, Inc. through the Java +Community Process, or any recognized successors or replacements +thereof; and "Technology Compatibility Kit" or "TCK" shall mean the +test suite and accompanying TCK User's Guide provided by Specification +Lead which corresponds to the Specification and that was available +either (i) from Specification Lead 120 days before the first release of +Your Independent Implementation that allows its use for commercial +purposes, or (ii) more recently than 120 days from such release but +against which You elect to test Your implementation of the Specification. </p> <p> @@ -153,15 +151,15 @@ LIMITATION, LOST REVENUE, PROFITS OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED IN ANY -WAY TO YOUR HAVING, IMPELEMENTING OR OTHERWISE USING USING THE -SPECIFICATION, EVEN IF SPECIFICATION LEAD AND/OR ITS LICENSORS HAVE -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You will indemnify, -hold harmless, and defend Specification Lead and its licensors from any -claims arising or resulting from: (i) your use of the Specification; -(ii) the use or distribution of your Java application, applet and/or -implementation; and/or (iii) any claims that later versions or releases -of any Specification furnished to you are incompatible with the -Specification provided to you under this license. +WAY TO YOUR HAVING, IMPLEMENTING OR OTHERWISE USING THE SPECIFICATION, +EVEN IF SPECIFICATION LEAD AND/OR ITS LICENSORS HAVE BEEN ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES. You will indemnify, hold harmless, +and defend Specification Lead and its licensors from any claims arising +or resulting from: (i) your use of the Specification; (ii) the use or +distribution of your Java application, applet and/or implementation; +and/or (iii) any claims that later versions or releases of any +Specification furnished to you are incompatible with the Specification +provided to you under this license. </p> <p> RESTRICTED RIGHTS LEGEND
diff --git a/activation/src/main/java/javax/activation/MailcapCommandMap.java b/activation/src/main/java/javax/activation/MailcapCommandMap.java index 0978617..284ae0e 100644 --- a/activation/src/main/java/javax/activation/MailcapCommandMap.java +++ b/activation/src/main/java/javax/activation/MailcapCommandMap.java
@@ -64,16 +64,18 @@ * <ol> * <li> Programatically added entries to the MailcapCommandMap instance. * <li> The file <code>.mailcap</code> in the user's home directory. - * <li> The file <code><i>java.home</i>/<i>conf</i>/mailcap</code>. + * <li> The file <code>mailcap</code> in the Java runtime. * <li> The file or resources named <code>META-INF/mailcap</code>. * <li> The file or resource named <code>META-INF/mailcap.default</code> * (usually found only in the <code>activation.jar</code> file). * </ol> * <p> - * (Where <i>java.home</i> is the value of the "java.home" System property - * and <i>conf</i> is the directory named "conf" if it exists, - * otherwise the directory named "lib"; the "conf" directory was - * introduced in JDK 1.9.) + * (The current implementation looks for the <code>mailcap</code> file + * in the Java runtime in the directory <code><i>java.home</i>/conf</code> + * if it exists, and otherwise in the directory + * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value + * of the "java.home" System property. Note that the "conf" directory was + * introduced in JDK 9.) * <p> * <b>Mailcap file format:</b><p> *
diff --git a/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java b/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java index 894a4bf..0fb2c15 100644 --- a/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java +++ b/activation/src/main/java/javax/activation/MimetypesFileTypeMap.java
@@ -60,16 +60,18 @@ * <ol> * <li> Programmatically added entries to the MimetypesFileTypeMap instance. * <li> The file <code>.mime.types</code> in the user's home directory. - * <li> The file <code><i>java.home</i>/<i>conf</i>/mime.types</code>. + * <li> The file <code>mime.types</code> in the Java runtime. * <li> The file or resources named <code>META-INF/mime.types</code>. * <li> The file or resource named <code>META-INF/mimetypes.default</code> * (usually found only in the <code>activation.jar</code> file). * </ol> * <p> - * (Where <i>java.home</i> is the value of the "java.home" System property - * and <i>conf</i> is the directory named "conf" if it exists, - * otherwise the directory named "lib"; the "conf" directory was - * introduced in JDK 1.9.) + * (The current implementation looks for the <code>mime.types</code> file + * in the Java runtime in the directory <code><i>java.home</i>/conf</code> + * if it exists, and otherwise in the directory + * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value + * of the "java.home" System property. Note that the "conf" directory was + * introduced in JDK 9.) * <p> * <b>MIME types file format:</b><p> *
diff --git a/doc/spec/JAF-1.2-changes.txt b/doc/spec/JAF-1.2-changes.txt new file mode 100644 index 0000000..bfd349b --- /dev/null +++ b/doc/spec/JAF-1.2-changes.txt
@@ -0,0 +1,94 @@ + + JavaBeans Activation Framework 1.2 + ================================== + +JAF 1.2 proposes a few minor changes to the JAF specification to +align with other changes in JDK 9. Following is a description of +the changes that are being introduced in JAF 1.2. The numbers in +parentheses are bug numbers; you can find more information about the +bug reports at: + + http://bugs.openjdk.java.net + +The JAF 1.2 RI will require Java SE 7 or later. JAF 1.2 will be +included in Java SE 9. + +The JAF 1.2 RI and TCK will be available under the same terms as the +JAF 1.1 RI and TCK. + + +=================================================================== + +1. JDK 9 moves config files to <java.home>/conf (JDK-8049379) +---------------------------------------------------------------- + +The specification for MailcapCommandMap is changed as follows: + + * <b>Mailcap file search order:</b><p> + * The MailcapCommandMap looks in various places in the user's + * system for mailcap file entries. When requests are made + * to search for commands in the MailcapCommandMap, it searches + * mailcap files in the following order: + * <p> + * <ol> + * <li> Programatically added entries to the MailcapCommandMap instance. + * <li> The file <code>.mailcap</code> in the user's home directory. + * <li> The file <code>mailcap</code> in the Java runtime. + * <li> The file or resources named <code>META-INF/mailcap</code>. + * <li> The file or resource named <code>META-INF/mailcap.default</code> + * (usually found only in the <code>activation.jar</code> file). + * </ol> + * <p> + * (The current implementation looks for the <code>mailcap</code> file + * in the Java runtime in the directory <code><i>java.home</i>/conf</code> + * if it exists, and otherwise in the directory + * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value + * of the "java.home" System property. Note that the "conf" directory was + * introduced in JDK 9.) + + +The specification for MimetypesFileTypeMap is changed as follows: + + * <b>MIME types file search order:</b><p> + * The MimetypesFileTypeMap looks in various places in the user's + * system for MIME types file entries. When requests are made + * to search for MIME types in the MimetypesFileTypeMap, it searches + * MIME types files in the following order: + * <ol> + * <li> Programmatically added entries to the MimetypesFileTypeMap instance. + * <li> The file <code>.mime.types</code> in the user's home directory. + * <li> The file <code>mime.types</code> in the Java runtime. + * <li> The file or resources named <code>META-INF/mime.types</code>. + * <li> The file or resource named <code>META-INF/mimetypes.default</code> + * (usually found only in the <code>activation.jar</code> file). + * </ol> + * <p> + * (The current implementation looks for the <code>mime.types</code> file + * in the Java runtime in the directory <code><i>java.home</i>/conf</code> + * if it exists, and otherwise in the directory + * <code><i>java.home</i>/lib</code>, where <i>java.home</i> is the value + * of the "java.home" System property. Note that the "conf" directory was + * introduced in JDK 9.) + + +=================================================================== + +2. Remove JAF's API dependency on java.beans.Beans.instantiate (JDK-804773) +---------------------------------------------------------------------------- + +To allow custom runtimes to be created without the java.desktop module, +the getCommandObject method of CommandInfo is changed to make the use +of java.beans.Beans.instantiate conditional: + + /** + * Return the instantiated JavaBean component. + * <p> + * If the current runtime environment supports + * {@link java.beans.Beans#instantiate Beans.instantiate}, + * use it to instantiate the JavaBeans component. Otherwise, use + * {@link java.lang.Class#forName Class.forName}. + * <p> + * The component class needs to be public. + * On Java SE 9 and newer, if the component class is in a named module, + * it needs to be in an exported package. + ...