Hi Max,

Sorry for the delay.
Since this not part of the specification of the behavior I'm ok with the informal descriptions.

Roger


On 1/2/2017 10:40 PM, Wang Weijun wrote:
Ping again.

On Dec 22, 2016, at 8:23 AM, Wang Weijun <weijun.w...@oracle.com> wrote:

Hi Roger

On Dec 20, 2016, at 11:49 PM, Roger Riggs <roger.ri...@oracle.com> wrote:

Hi Max,

Comments:

- Is there a better term/phrase to use other than "foo"; it does not appear 
elsewhere in the @implNote.
It appears in the spec of this method:

* <li> <i>p</i>'s pathname is implied by this object's
*      pathname. For example, "/tmp/*" implies "/tmp/foo", since
*      "/tmp/*" encompasses all files in the "/tmp" directory,
*      including the one named "foo".

  The use of "cpath" and "npath" implies that someone is reading the source 
code.
Not really. They also appears in the @implNote of the spec of 
FilePermission::<init>(String,String):

* If the value of the system property is set to {@code true}, {@code path}
* is canonicalized and stored as a String object named {@code cpath}.
* This means a relative path is converted to an absolute path, a Windows
* DOS-style 8.3 path is expanded to a long path, and a symbolic link is
* resolved to its target, etc.
* <P>
* If the value of the system property is set to {@code false}, {@code path}
* is converted to a {@link java.nio.file.Path} object named {@code npath}
* after {@link Path#normalize() normalization}. No canonicalization is
* performed which means the underlying file system is not accessed.
* If an {@link InvalidPathException} is thrown during the conversion,
* this {@code FilePermission} will be labeled as invalid.

I think using the same name in all @implNote is more precise.

  The description of the behavior of the implementation should use the same 
terminology as the spec.

- The use of "Note" weakens the text as specification language.  It can be 
omitted.
OK.

I'll use take Xuelei's advice to expand this line to

  This means "/-" implies "/foo" but not "foo".

- To make the source version more readable, I would keep each statement on its 
own line.
OK.

Thanks
Max

   Note that this means "/-" does not imply "foo".
   An invalid {@code FilePermission} does not imply any object except for 
itself.

Thanks, Roger

On 12/20/2016 2:25 AM, Wang Weijun wrote:
Ping again.

On Dec 14, 2016, at 1:53 PM, Wang Weijun <weijun.w...@oracle.com> wrote:

An clarification is added to FilePermission::implies:

     * @implNote
       ....
     * a simple {@code npath} is recursively inside a wildcard {@code npath}
     * if and only if {@code simple_npath.relativize(wildcard_npath)}
-     * is a series of one or more "..". An invalid {@code FilePermission} does
+     * is a series of one or more "..". Note that this means "/-" does not
+     * imply "foo". An invalid {@code FilePermission} does
     * not imply any object except for itself.

The newly added sentence is

Note that this means "/-" does not imply "foo".

JCK has agreed to update their test.

Since this is just a clarification inside an @implNote and no spec is updated, 
I suppose no CCC is needed. Please confirm.

Thanks
Max


Reply via email to