[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] [9] RFR 4987884: PrinterJob carries over some values between calls to print.
From:       Prasanta Sadhukhan <prasanta.sadhukhan () oracle ! com>
Date:       2016-09-29 9:51:36
Message-ID: 57ECE158.5050900 () oracle ! com
[Download RAW message or body]

On 9/12/2016 12:33 PM, Prasanta Sadhukhan wrote:
> Hi All,
>
> Updated the spec to clarify that it is expected to use the same 
> attribute set passed to print(PrintRequestAttributeSet) if it is 
> called before no-args print() method for same PrinterJob.
> http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.01/
>
Updated PrinterJob spec as opposed to inner class RasterPrinterJob so 
that javadocs is updated.
http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.02/

Regards
Prasanta
> Regards
> Prasanta
> On 8/29/2016 1:41 PM, Prasanta Sadhukhan wrote:
>> Hi All,
>>
>> If we call
>> -----------------
>> /        pageFormat = job.pageDialog(pageFormat);//
>> //        pageFormat.setPaper(paper);//
>> //        job.setPrintable(p, pageFormat);//
>> ////
>> //        try {//
>> //            job.printDialog();//
>> //            job.print();//
>> //        } catch (PrinterException e) {}//
>> /-------------------
>> then these attributes are added
>> Media, OrientationRequested, MediaPrintableArea, Chromaticity, 
>> PrinterResolution, Copies, SheetCollate, Sides
>> even if we do not change any fields
>> and PageRanges attribute is added if we change page selection from 
>> "All" to "Pages".
>>
>> In light of that, I do not think we can remove PageRanges attribute 
>> from no-args print() method as that will remove user selection.
>>  Or for that matter, any attributes as those can be set via 
>> pageDialog or printDialog.
>>
>> I guess we need to mark this as "Wont fix" . spec also is not clear 
>> if we are not supposed to honour any attributes already set, if we 
>> call no-args print() method.
>> Any comments?
>>
>> Regards
>> Prasanta
>> On 7/5/2016 10:52 AM, Prasanta Sadhukhan wrote:
>>> Hi All,
>>>
>>> Please review a fix whereby it is seen that the PageRanges attribute 
>>> passed to 1st print() call is inadvertently been carried forward to 
>>> 2nd print
>>> if some program tries calling in this sequence
>>> ----------
>>> /PrinterJob pj = PrinterJob.getPrinterJob();//
>>> //pj.setPageable(..)//
>>> //pj.print(..)//
>>> //pj.setPageable(..)//
>>> //pj.print(..)
>>> ------------
>>> /
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-4987884/
>>> /webrev: http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.00//
>>>
>>> /This is because no-args print() uses an internal attribute set 
>>> which is presumed to carry over information not supplied
>>> by the client directly but created during a call to no-args 
>>> printDialog() or during call to setPrintable() called via 
>>> setAttributes().
>>> but it apparently seems, we should not be remembering PageRange 
>>> attribute between calls to print() as it will result in wrong page 
>>> numbers being printed.
>>>
>>> Proposed fix to remove the PageRanges attribute from no-args print() 
>>> between print() calls.
>>>
>>> Regards
>>> Prasanta
>>
>


[Attachment #3 (text/html)]

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 9/12/2016 12:33 PM, Prasanta
      Sadhukhan wrote:<br>
    </div>
    <blockquote cite="mid:57D65324.9040809@oracle.com" type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      Hi All,<br>
      <br>
      Updated the spec to clarify that it is expected to use the same
      attribute set passed to print(PrintRequestAttributeSet) if it is
      called before no-args print() method for same PrinterJob.<br>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://cr.openjdk.java.net/%7Epsadhukhan/4987884/webrev.01/">http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.01/</a><br>
  <br>
    </blockquote>
    Updated PrinterJob spec as opposed to inner class RasterPrinterJob
    so that javadocs is updated.<br>
    <a class="moz-txt-link-freetext" \
href="http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.02/">http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.02/</a><br>
  <br>
    Regards<br>
    Prasanta<br>
    <blockquote cite="mid:57D65324.9040809@oracle.com" type="cite">
      Regards<br>
      Prasanta<br>
      <div class="moz-cite-prefix">On 8/29/2016 1:41 PM, Prasanta
        Sadhukhan wrote:<br>
      </div>
      <blockquote cite="mid:57C3EE2E.3060400@oracle.com" type="cite">
        <meta content="text/html; charset=utf-8"
          http-equiv="Content-Type">
        Hi All,<br>
        <br>
        If we call <br>
        -----------------<br>
        <i>               pageFormat = job.pageDialog(pageFormat);</i><i><br>
        </i><i>               pageFormat.setPaper(paper);</i><i><br>
        </i><i>               job.setPrintable(p, pageFormat);</i><i><br>
        </i><i>               </i><i><br>
        </i><i>               try {</i><i><br>
        </i><i>                       job.printDialog();</i><i><br>
        </i><i>                       job.print();</i><i><br>
        </i><i>               } catch (PrinterException e) {}</i><i><br>
        </i>-------------------<br>
        then these attributes are added <br>
        Media, OrientationRequested, MediaPrintableArea, Chromaticity,
        PrinterResolution, Copies, SheetCollate, Sides <br>
        even if we do not change any fields<br>
        and PageRanges attribute is added if we change page selection
        from "All" to "Pages".<br>
        <br>
        In light of that, I do not think we can remove PageRanges
        attribute from no-args print() method as that will remove user
        selection.<br>
          Or for that matter, any attributes as those can be set via
        pageDialog or printDialog.<br>
        <br>
        I guess we need to mark this as "Wont fix" . spec also is not
        clear if we are not supposed to honour any attributes already
        set, if we call no-args print() method.<br>
        Any comments? <br>
        <br>
        Regards<br>
        Prasanta<br>
        <div class="moz-cite-prefix">On 7/5/2016 10:52 AM, Prasanta
          Sadhukhan wrote:<br>
        </div>
        <blockquote cite="mid:577B43FA.5080009@oracle.com" type="cite">
          <meta http-equiv="content-type" content="text/html;
            charset=utf-8">
          Hi All,<br>
          <br>
          Please review a fix whereby it is seen that the PageRanges
          attribute passed to 1st print() call is inadvertently been
          carried forward to 2nd print<br>
          if some program tries calling in this sequence<br>
          ----------<br>
          <i>PrinterJob pj = PrinterJob.getPrinterJob();</i><i><br>
          </i><i> pj.setPageable(..)</i><i><br>
          </i><i> pj.print(..)</i><i><br>
          </i><i> pj.setPageable(..)</i><i><br>
          </i><i> pj.print(..)<br>
            ------------<br>
          </i><br>
          Bug: <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="https://bugs.openjdk.java.net/browse/JDK-4987884">https://bugs.openjdk.java.net/browse/JDK-4987884</a><i><br>
  </i>webrev: <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
            href="http://cr.openjdk.java.net/%7Epsadhukhan/4987884/webrev.00/">http://cr.openjdk.java.net/~psadhukhan/4987884/webrev.00/</a><i><br>
  <br>
          </i>This is because no-args print() uses an internal attribute
          set which is presumed to carry over information not supplied<br>
          by the client directly but created during a call to no-args
          printDialog() or during call to setPrintable() called via
          setAttributes().<br>
          but it apparently seems, we should not be remembering
          PageRange attribute between calls to print() as it will result
          in wrong page numbers being printed.<br>
          <br>
          Proposed fix to remove the PageRanges attribute from no-args
          print() between print() calls.<br>
          <br>
          Regards<br>
          Prasanta<br>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic