[OpenJDK 2D-Dev] [9] RFR JDK-5049012: PrintToFile option is not disabled for flavors that do not support destination

Philip Race philip.race at oracle.com
Thu Jul 7 23:16:02 UTC 2016


Ok .. +1

-phil.

On 7/1/16, 2:23 AM, Prasanta Sadhukhan wrote:
> Hi Phil,
>
> On 6/30/2016 7:50 PM, Philip Race wrote:
>> Eh ? Before your change the code was calling
>> isAttributeCategorySupported(), notisAttributeValueSupported()
>>
>> So there was not previously a possibility of that NPE, and
>> my point was now you have changed that call you need that !=null check
>> even more ..
> Yes, I got that, right immediately after sending the below mail and 
> sent another email clarifying my misunderstanding.
>>
>> But I think there is still a problem. Now dstSupported is set only if
>> the *specific* destination is supported.
>>
>> A malformed file: URL would not be valid but should not
>> disable (grey out) the print to file checkbox which
>> is what it looks like here .. can you verify this ?
>> 	
> Yes, we will grey out the checkbox for malformed url (like 
> files::/tmp/output.ps) as I found out. Please find modified webrev 
> that takes care of this problem too:
> http://cr.openjdk.java.net/~psadhukhan/5049012/webrev.02/
>
> Regards
> Prasanta
>>
>> -phil
>>
>>
>>
>>
>> On 6/30/16, 12:45 AM, Prasanta Sadhukhan wrote:
>>> Hi Phil,
>>>
>>> NPE will be thrown
>>> ----------
>>> public boolean isAttributeValueSupported(Attribute attr,
>>>                                              DocFlavor flavor,
>>>                                              AttributeSet attributes) {
>>>         if (attr == null) {
>>>             throw new NullPointerException("null attribute");
>>>         }
>>> ---------
>>> before updateInfo() will be called so I guess null check is 
>>> redundant there. Anyways, I have added the check back just to be safe
>>> http://cr.openjdk.java.net/~psadhukhan/5049012/webrev.01/
>>>
>>> Regards
>>> Prasanta
>>> On 6/29/2016 11:59 PM, Philip Race wrote:
>>>> ---
>>>> https://docs.oracle.com/javase/8/docs/api/javax/print/PrintService.html#isAttributeValueSupported-javax.print.attribute.Attribute-javax.print.DocFlavor-javax.print.attribute.AttributeSet- 
>>>>
>>>>
>>>> Throws:
>>>>     NullPointerException - (unchecked exception) if attrval is null.
>>>>
>>>> -- 
>>>>
>>>> So why did you remove the check for null ?
>>>>
>>>>
>>>> -phil.
>>>>
>>>> On 6/28/16, 3:04 AM, Prasanta Sadhukhan wrote:
>>>>> Hi All,
>>>>>
>>>>> Please review a fix for an issue where it is seen that 
>>>>> "Print-To-File" option is enabled even for flavors that do not 
>>>>> support Destination attribute
>>>>> even though isAttributeValueSupported for that flavor returns false.
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-5049012
>>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/5049012/webrev.00/
>>>>>
>>>>> The reason for this behaviour is in Print Dialog code, the 
>>>>> validation is done against isAttributeCategorySupported() which 
>>>>> still returns true because Pageable and Printable supports it
>>>>> and therefore the "Print-to-File" option gets enabled.
>>>>>
>>>>> But print dialog is shown specific to a doc flavor and a print 
>>>>> service (selected one) and hence must validate the attribute 
>>>>> against the chosen doc flavor.
>>>>> So, the proposed fix checks the attributevalue is supported or not 
>>>>> for that flavor to determine if we need to enable "Print-to-File" 
>>>>> option in print dialog.
>>>>>
>>>>> Regards
>>>>> Prasanta
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20160707/e27dc46c/attachment.html>


More information about the 2d-dev mailing list