Hi Phil,
On 6/30/2016 7:50 PM, Philip Race wrote:
Eh ? Before your change the code was calling
isAttributeCategorySupported(), not isAttributeValueSupported() 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