Hello, Anthony.

Thank you for the review.
The new version is here: 
http://cr.openjdk.java.net/~pchelko/9/8047336/webrev.03/
Only SystemFlavorMap is changed again.

I've fixed the parser according to your comments.

> Also, how about processing commas within string literals? There's not a case 
> yet, but I can imagine such a mime type definition (e.g. 
> ...;terminators=",\\\r\n";...) (for the fun of it, i've also added the slash 
> character in there.)
I don't think we should worry about it now. The properties file is internal and 
it's highly unlikely we would ever make such a mime-type. And we can update the 
parser when we need.
If I handle this situation now this would be just dead code and unneeded 
complexity.

With best regards. Petr.

On 14 июля 2014 г., at 21:00, Anthony Petrov <anthony.pet...@oracle.com> wrote:

> Hi Petr,
> 
> I realize that we're parsing our internal resource, however I have a few 
> comments regarding the reliability of the parser:
> 
>> 235                 if (line.startsWith("#") || line.isEmpty()) continue;
> 
> Can a line start with a bunch of spaces, and then start a comment with a '#' 
> character? Should we trim() ?
> 
> 
>> 236                 while (line.endsWith("\\")) {
>> 237                     line = line.trim() + reader.readLine().trim();
>> 238                 }
>> 239                 line = line.replace("\\", "");
> 
> The above code assumes that '\' characters are illegal in the middle of the 
> lines because it removes all of them. Would it make sense to only remove the 
> actual continuation slashes? For instance, take a look at:
> 
> src/windows/classes/sun/awt/datatransfer/flavormap.properties
>>  54 UNICODE\ TEXT=text/plain;charset=utf-16le;eoln="\r\n";terminators=2
> 
> Your parser will remove the escape slashes from the "\r\n" string.
> 
> However, note that we still should handle the '\ ' sequence in the key part 
> of each line.
> 
> Also, how about processing commas within string literals? There's not a case 
> yet, but I can imagine such a mime type definition (e.g. 
> ...;terminators=",\\\r\n";...) (for the fun of it, i've also added the slash 
> character in there.)
> 
> --
> best regards,
> Anthony
> 
> On 7/14/2014 6:23 PM, Petr Pchelko wrote:
>> Hello, AWT Team.
>> 
>> My apologies, but I've found a problem in the AWT part of this fix and so I 
>> need one more review iteration.
>> 
>> The new version is located here: 
>> http://cr.openjdk.java.net/~pchelko/9/8047336/webrev.02/
>> The only changes comparing to the previous approved version are in 
>> SystemFlavorMap.
>> 
>> I've realized that we cannot use Properties to load the flavormap.properties 
>> file because Properties doesn't preserve the original order of keys.
>> And it's important, because natives that are found in the file first are 
>> treated as more important than natives in the end of the file.
>> So I've implemented a custom parser for the properties file (see lines 
>> 233-243)
>> 
>> Thank you.
>> With best regards. Petr.
>> 
>> On 10 июля 2014 г., at 20:22, Mike Duigou <mike.dui...@oracle.com> wrote:
>> 
>>> The makefile changes look fine to me. (The use of OPENJDK as part of the 
>>> variable names seems excessive but that's not something your patch adds or 
>>> changes)
>>> 
>>> Mike
>>> 
>>> On Jul 9 2014, at 23:55 , Petr Pchelko <petr.pche...@oracle.com> wrote:
>>> 
>>>> Hello, Build Team.
>>>> 
>>>> This is a reminder. Could you please review the build part of the 
>>>> following fix:
>>>> http://cr.openjdk.java.net/~pchelko/9/8047336/webrev.01/
>>>> 
>>>> Thank you.
>>>> With best regards. Petr.
>>>> 
>>>> On 02 июля 2014 г., at 15:13, Anthony Petrov <anthony.pet...@oracle.com> 
>>>> wrote:
>>>> 
>>>>> Thanks. Note that your email editor messed up the HTML part of the email 
>>>>> (see below a text-only quote), so here's the correct link to the webrev:
>>>>> 
>>>>> http://cr.openjdk.java.net/~pchelko/9/8047336/webrev.01/
>>>>> 
>>>>> The fix looks fine to me.
>>>>> 
>>>>> --
>>>>> best regards,
>>>>> Anthony
>>>>> 
>>>>> On 7/2/2014 3:10 PM, Petr Pchelko wrote:
>>>>>> Hello, Anthony, Alan.
>>>>>> 
>>>>>> Thank you for the review, the new version is located here:
>>>>>> http://cr.openjdk.java.net/~pchelko/9/8047336/webrev.01/
>>>>>> <http://cr.openjdk.java.net/%7Epchelko/9/8047336/webrev.00/>
>>>>>> 
>>>>>> I've changed the code to throw an InternalError if we cannot read
>>>>>> properties.
>>>>>> Once I get feedback from the build team - I'll push this fix.
>>>>>> 
>>>>>> With best regards. Petr.
>>>>>> 
>>>>>> On 02 июля 2014 г., at 13:52, Alan Bateman <alan.bate...@oracle.com
>>>>>> <mailto:alan.bate...@oracle.com>> wrote:
>>>>>> 
>>>>>>> On 01/07/2014 09:35, Petr Pchelko wrote:
>>>>>>>> Hello,
>>>>>>>> 
>>>>>>>> The changes in the public API have been approved, so let me continue
>>>>>>>> the review process.
>>>>>>>> 
>>>>>>>> For your convenience:
>>>>>>>> The bug: https://bugs.openjdk.java.net/browse/JDK-8047336
>>>>>>>> The fix: http://cr.openjdk.java.net/~pchelko/9/8047336/webrev.00/
>>>>>>>> <http://cr.openjdk.java.net/%7Epchelko/9/8047336/webrev.00/>
>>>>>>>> 
>>>>>>>> Until now we've been discussing an abstract question of moving the
>>>>>>>> properties to a different location and agreed that it's possible.
>>>>>>>> Now it's time for an official code review. Could someone please make 
>>>>>>>> one?
>>>>>>>> 
>>>>>>>> Also some feedback from the build team is still required. Could
>>>>>>>> someone from the build team review this fix please?
>>>>>>>> (The question is that I've made a separate explicit rule for
>>>>>>>> flavormap.properties file. If I add it to COPY_PATTERNS than the
>>>>>>>> solaris version get's copied on Mac. Is that a bug in the build
>>>>>>>> system? Is my current solution good enough?)
>>>>>>>> 
>>>>>>> I think this looks okay. I see Anthony's mail asking about the warning
>>>>>>> message and whether it should the print stack trace. I just wonder if
>>>>>>> it might be saner to just throw InternalError here. It throws
>>>>>>> InternalError if flavormap.properties is missing and it might be
>>>>>>> consistent to do the same when the file is corrupt or can't be parsed
>>>>>>> as a properties file.
>>>>>>> 
>>>>>>> -Alan.
>>>>>> 
>>>> 
>>> 
>> 

Reply via email to