[OpenJDK 2D-Dev] [9] RFR JDK-8034239, , PrintServiceLookup.lookupPrintServices() returns different amount of services in comparison with lpstat -v
Philip Race
philip.race at oracle.com
Tue Mar 8 16:12:01 UTC 2016
Approved.
-phil
On 3/8/16, 2:26 AM, prasanta sadhukhan wrote:
> Hi Phil,
>
> It's my mistake. There's no need to copy as we are not passing the
> supportedDocFlavors outside the class. I was influenced by the lines
> before this where copyFlavors was copied from supportedDocFlavors.
> Please find the updated webrev:
> http://cr.openjdk.java.net/~psadhukhan/8034239/webrev.02/
>
> Regards
> Prasanta
> On 3/8/2016 1:58 AM, Phil Race wrote:
>> Why do the copy ? Why not just add one line
>>
>> supportedDocFlavors = flavor
>>
>> -phil.
>>
>> On 03/07/2016 03:20 AM, prasanta sadhukhan wrote:
>>> Hi Phil,
>>>
>>> Please find the updated webrev:
>>> http://cr.openjdk.java.net/~psadhukhan/8034239/webrev.01/
>>>
>>> I checked JDK-8040139 also passed with this modification.
>>>
>>> Regards
>>> Prasanya
>>> On 3/5/2016 1:14 AM, Phil Race wrote:
>>>> if the class is supposed to use the return value in this way what
>>>> about these lines :-
>>>>
>>>> 1209
>>>> 1210 public boolean isIPPSupportedImages(String mimeType) {
>>>> 1211 if (supportedDocFlavors == null) {
>>>> 1212 getSupportedDocFlavors();
>>>> 1213 }
>>>>
>>>> It looks to me as if what you should really be doing is modifying
>>>> the last few lines of getSupportedDocFlavors() as you are using
>>>> the return value to update the variable which it should have
>>>> assigned itself.
>>>>
>>>> -phil
>>>>
>>>>
>>>>
>>>> On 03/04/2016 02:48 AM, prasanta sadhukhan wrote:
>>>>> Hi Phil,
>>>>>
>>>>> Please review a print service fix for jdk9
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8034239
>>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8034239/webrev.00/
>>>>>
>>>>> The issue was lpstat -v was reporting 2 printer service but
>>>>> PrintServiceLookup.lookupPrintServices() list only 1.
>>>>> #lpstat -v
>>>>> device for tta_printer:
>>>>> ipp://<internal-printer-ip>/printers/tta_printer
>>>>> <ipp://st-tta-adc-02.us.oracle.com/printers/tta_printer>
>>>>> device for Xerox-WorkCentre-4250: socket://spb04p12.ru.oracle.com:9100
>>>>>
>>>>> but lookupPrintServices() listed only "Xerox" printer and not
>>>>> "tta_printer".
>>>>>
>>>>> It seems "tta_printer" was added using
>>>>> *lpadmin -pprinter-name -E -vdevice -m ppd
>>>>>
>>>>> *
>>>>> so it becomes a "Remote Printer" and even though Java sees that
>>>>> printer, it calls getUnsupportedAttributes() on that printer
>>>>> service to see if that printer matches the DocFlavor.
>>>>> In this case, this remote printer does not have any supported doc
>>>>> flavor listed so when getSupportedDocFlavors() is called, it does
>>>>> not see any "document-format-supported" attribute.
>>>>> Although JDK-8040139 fixed this problem by adding
>>>>> DocFlavor.SERVICE_FORMATTED.PAGEABLE andDocFlavor.SERVICE_FORMATTED.PRINTABLE
>>>>>
>>>>> to the supported DocFlavors since as per spec,
>>>>> as per spec
>>>>> /https://docs.oracle.com/javase/8/docs/api/index.html?javax/print/PrintService.html//
>>>>> //it clearly says, /
>>>>> getSupportedDocFlavors()
>>>>>
>>>>> /Returns:/
>>>>> /Array of supported doc flavors, should have at least one
>>>>> element./
>>>>>
>>>>>
>>>>> the returned flavours are not populated to supported DocFlavors
>>>>> called by IPPPrintService.java#getUnsupportedAttributes() ->
>>>>> isDocFlavorSupported() so "supportedDocFlavors" was still false
>>>>> for this case.
>>>>>
>>>>> I added a fix to populate the PAGEABLE & PRINTABLE docflavor to
>>>>> "supportedDocFlavors" and tested in sqe machine and found it working.
>>>>>
>>>>> I could not add a regression testcase as it involves adding a
>>>>> "remote printer" using lpadmin command. I would add "noreg-sqe" to
>>>>> the bug.
>>>>>
>>>>> Regards
>>>>> Prasanta
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20160308/65f33e2f/attachment.html>
More information about the 2d-dev
mailing list