I have posted an updated webrev 
http://cr.openjdk.java.net/~bpb/7179567/webrev.3/ which I hope addresses all 
the concerns expressed below.

Please see also my comments in line.

Once this looks acceptable I can do the CCC request.

Thanks,

Brian

On Oct 7, 2013, at 9:28 PM, David Holmes wrote:

> Aside: I'm confused about the relationship of this bug and JDK-6445180 - are 
> they not duplicates? Seems to me this one should have been closed as a dup 
> when it was reported.

I think you are correct. I can adjust this once the webrev is approved.

> On 5/10/2013 6:58 AM, Brian Burkhalter wrote:
>> On Oct 3, 2013, at 5:38 PM, Brian Burkhalter wrote:
>> 
>>> On Oct 3, 2013, at 5:35 PM, Alan Bateman wrote:
>>> 
>>>> On 03/10/2013 16:10, Brian Burkhalter wrote:
>>>>> Please review and comment at your convenience.
>>>>> 
>>>>> Issue:    https://bugs.openjdk.java.net/browse/JDK-7179567
>>>>> Webrev:   http://cr.openjdk.java.net/~bpb/7179567/
>> 
>> An updated webrev which I hope adequately addresses the expressed concerns 
>> may be found at:
>> 
>> http://cr.openjdk.java.net/~bpb/7179567.2/
> 
> URLClassLoader.java: please delete the commented out line:
> 
> +         //Objects.requireNonNull(urls);

I already fixed that but had not updated the webrev.

> SecureClassLoader.java:
> 
> 186      * @throws SecurityException if the {@code ClassLoader} instance is 
> not
> 187      * initialized.
> 
> should read "this classloader instance" as it refers to the current instance. 
> Also this may be bringing the spec into line with the implementation but 
> "initialization" here is purely an implementation detail not part of the 
> specification for this class so it should not be mentioned explicitly - and 
> this change still needs a CCC (which might help determine exactly what should 
> be said here - I'm unclear how you can try to call getPermissions if this is 
> uninitialized as it would need 'this' to escape from the constructor - which 
> perhaps it can do via a third-party security manager?).

I've removed this @throws clause.

> NoCallStackClassLoader.java: the comment is far too verbose, we don't write 
> such explanatory kinds of comments for this kind of thing (else the code 
> would be overrun with commentary!).

Shortened.

> Aside: if you are a JDK Author you don't need a Contributed-by line in the 
> commit comments.


Removed.

On Oct 8, 2013, at 4:08 AM, Alan Bateman wrote:

> This looks much better.
> 
> If I read the code correctly then the long standing behavior of 
> URLClassLoader.getPermissions(null) was to throw a NPE, now it is changed to 
> return the empty collection in order to match the super type 
> (SecureClassLoader). I can't think of anything that would break so this is 
> probably okay, just maybe a bit surprising.
> 
> My previous comment on @throws vs. @exception was just to keep things 
> consistent as this is old code and would look odd for a method to use both. 
> Our preference is to switch to @throws whenever the opportunity arises. The 
> comment was also on the alignment/style. Take URLCLassLoader(URL[], 
> ClassLoader) for example, the existing SecurityException has its description 
> aligned under SecurityException whereas the new NullPointerException wraps 
> around. So my overall comment here was to avoid mixing styles (it doesn't 
> matter too much which style is used, just keep it consistent for future 
> maintainers).
> 
> In the test then it might be better to change the @summary line to only 
> include the second paragraph (the bug summary is not interesting, especially 
> when it references a test that is not in OpenJDK).


Updated.

On Oct 8, 2013, at 8:53 AM, Chris Hegarty wrote:

> Yes, this is much nicer.
> 
> I'd be tempted to write another private constructor, taking all args, and 
> checking params with checkForNullURLs before invoking, similar to ThreadGroup 
> [1] L117, for example. But that is just clean up to remove some duplication. 
> No need to do this.
> 
>> If I read the code correctly then the long standing behavior of
>> URLClassLoader.getPermissions(null) was to throw a NPE, now it is
>> changed to return the empty collection in order to match the super type
>> (SecureClassLoader). I can't think of anything that would break so this
>> is probably okay, just maybe a bit surprising.
> 
> Agreed.
> 
>> My previous comment on @throws vs. @exception was just to keep things
>> consistent as this is old code and would look odd for a method to use
>> both. Our preference is to switch to @throws whenever the opportunity
>> arises. The comment was also on the alignment/style. Take
>> URLCLassLoader(URL[], ClassLoader) for example, the existing
>> SecurityException has its description aligned under SecurityException
>> whereas the new NullPointerException wraps around. So my overall comment
>> here was to avoid mixing styles (it doesn't matter too much which style
>> is used, just keep it consistent for future maintainers).
> 
> Right, these classes are prime for stylistic clean up early in 9. For now, 
> keep things locally consistent  ( even if that is old style ).
> 
> 
> -Chris.
> 
> [1] 
> http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/9f57d2774603/src/share/classes/java/lang/ThreadGroup.java

Reply via email to