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

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] [12] RFR JDK-8211055:Provide print to a file (PDF) feature even when printer wa
From:       Prasanta Sadhukhan <prasanta.sadhukhan () oracle ! com>
Date:       2018-09-27 6:36:53
Message-ID: bd6d11b8-a7fd-241f-89d7-49e9ebfeb929 () oracle ! com
[Download RAW message or body]

I have added @requires tag and also did an initial check of existing 
printers and exit if there is any.

Regarding setting,retrieving Destination attribute, if we do not show 
the print dialog and ask user to select file and ok,
it will not set call nsPrintInfoToJavaPrinterJob which is called from 
showDialog() and so NSPrintJobDispositionValuewill not be set up and 
setPrintToFile() will not be called.

I checked in jdk8GA too, it fails if we set Destination and try to 
print. I guess existing customer issue is about not printing if user 
manually selects "Save as PDF". I guess I can work on that issue as a 
separate bug.
Modified test 
webrev:http://cr.openjdk.java.net/~psadhukhan/8211055/webrev.1/

Regards
Prasanta
On 26-Sep-18 9:48 PM, Phil Race wrote:
> This is all MacOS specific changes - and functionality - but the test 
> seems
> to be cross-platform. Shouldn't it at least have an @requires macos tag ?
> 
> And I think the test should verify there are no printers and say it can't
> be run if you have any ... and exit ...
> 
> Can we set   & retrieve the file as a Destination attribute ?
> Then we can verify the file was saved without the user's help
> 
> 
> 123             " 4. Another dialog opends prompting for filename, enter any \
> filename and press \"Save\".\r\n" + 
> opends -> opens
> 
> -phil.
> 
> On 09/26/2018 04:38 AM, Prasanta Sadhukhan wrote:
> > Hi All,
> > 
> > Please review a fix for an issue where it is seen that if we do not 
> > have any printer installed and we try to save the printjob to a file
> > via "Save as PDF" option in mac, it was throwing PrinterExcetion:no 
> > printer service found.
> > 
> > This is a regression of JDK-8132988 where a check was added to make 
> > sure PrinterException is thrown if there is no printer installed.
> > Proposed fix is to find out if user is selecting "Save as PDF" option 
> > in native print dialog which will cause NSPrintInfo's jobDisposition 
> > value to be |NSPrintSaveJob
> > [https://developer.apple.com/documentation/appkit/nsprintinfo/1528717-jobdisposition?language=objc]
> >  
> > > In that case, the previous "no-printer" check is amended to also 
> > check if the print operation is saving to a file, in which case do 
> > not throw PrinterException and proceed with Save-File operation.
> > JDK-8132988   testcase also works ok after this fix.
> > 
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8211055
> > webrev: http://cr.openjdk.java.net/~psadhukhan/8211055/webrev.0/
> > 
> > Regards
> > Prasanta
> > > > 
> 


[Attachment #3 (text/html)]

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I have added @requires tag and also did an initial check of
      existing printers and exit if there is any.<br>
    </p>
    Regarding setting,retrieving Destination attribute, if we do not
    show the print dialog and ask user to select file and ok, <br>
    it will not set call nsPrintInfoToJavaPrinterJob which is called
    from showDialog() and so <span class="new">NSPrintJobDispositionValuewill
      not be set up and </span><span class="new">setPrintToFile</span><span
      class="new"></span>() will not be called.<br>
    <br>
    I checked in jdk8GA too, it fails if we set Destination and try to
    print. I guess existing customer issue is about not printing if user
    manually selects "Save as PDF". I guess I can work on that issue as
    a separate bug.<br>
    Modified test
    webrev:<a class="moz-txt-link-freetext" \
href="http://cr.openjdk.java.net/~psadhukhan/8211055/webrev.1/">http://cr.openjdk.java.net/~psadhukhan/8211055/webrev.1/</a><br>
  <br>
    Regards<br>
    Prasanta<br>
    <div class="moz-cite-prefix">On 26-Sep-18 9:48 PM, Phil Race wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:07241a48-10e7-3073-4ea6-40f70ab41071@oracle.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      This is all MacOS specific changes - and functionality - but the
      test seems<br>
      to be cross-platform. Shouldn't it at least have an @requires
      macos tag ?<br>
      <br>
      And I think the test should verify there are no printers and say
      it can't<br>
      be run if you have any ... and exit ...<br>
      <br>
      Can we set   &amp; retrieve the file as a Destination attribute ?<br>
      Then we can verify the file was saved without the user's help<br>
      <br>
      <br>
      <pre> 123             " 4. Another dialog opends prompting for filename, enter \
any filename and press \"Save\".\r\n" +</pre>  <br>
      opends -&gt; opens<br>
      <br>
      -phil.<br>
      <br>
      <div class="moz-cite-prefix">On 09/26/2018 04:38 AM, Prasanta
        Sadhukhan wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:8af8c638-c259-d5c5-111b-3df2e8cc20ce@oracle.com">
        <meta http-equiv="content-type" content="text/html;
          charset=utf-8">
        Hi All,<br>
        <br>
        Please review a fix for an issue where it is seen that if we do
        not have any printer installed and we try to save the printjob
        to a file<br>
        via "Save as PDF" option in mac, it was throwing
        PrinterExcetion:no printer service found.<br>
        <br>
        This is a regression of JDK-8132988 where a check was added to
        make sure PrinterException is thrown if there is no printer
        installed.<br>
        Proposed fix is to find out if user is selecting "Save as PDF"
        option in native print dialog which will cause NSPrintInfo's
        jobDisposition value to be <code \
class="code-voice"><span>NSPrint<wbr>Save<wbr>Job<br>  [<a \
class="moz-txt-link-freetext" \
href="https://developer.apple.com/documentation/appkit/nsprintinfo/1528717-jobdisposition?language=objc"
                
              moz-do-not-send="true">https://developer.apple.com/documentation/appkit/nsprintinfo/1528717-jobdisposition?language=objc</a>]<br>
  <br>
          </span></code>In that case, the previous "no-printer" check is
        amended to also check if the print operation is saving to a
        file, in which case do not throw PrinterException and proceed
        with Save-File operation.<br>
        JDK-8132988   testcase also works ok after this fix.<br>
        <br>
        Bug: <a class="moz-txt-link-freetext"
          href="https://bugs.openjdk.java.net/browse/JDK-8211055"
          moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-8211055</a><br>
  webrev: <a class="moz-txt-link-freetext"
          href="http://cr.openjdk.java.net/%7Epsadhukhan/8211055/webrev.0/"
          moz-do-not-send="true">http://cr.openjdk.java.net/~psadhukhan/8211055/webrev.0/</a><br>
  <br>
        Regards<br>
        Prasanta<br>
        <code class="code-voice"><span></span></code> </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