On Wed, 29 May 2024 19:56:37 GMT, Alexander Scherbatiy <alex...@openjdk.org> wrote:
>> The fix adds new public `OutputBin` print attribute class which allow to set >> a printer output bin in a `PrinterJob` class. The corresponding internal >> `CustomOutputBin` class is added as well. >> >> - Constants used in `OutputBin` class are based on [Internet Printing >> Protocol (IPP): “output-bin” attribute >> extension](https://ftp.pwg.org/pub/pwg/candidates/cs-ippoutputbin10-20010207-5100.2.pdf) >> document. >> - `CUPSPrinter.getOutputBins(String printer)` method uses PPD >> `ppdFindOption(..., "OutputBin")` function to get supported output bins for >> the given printer on native level. >> - The fix propagates the `OutputBin` attribute from the printer job >> attributes to `NSPrintInfo` print settings with `OutputBin` key on macOS. >> >> The fix was tested on `Kyocera ECOSYS M8130cidn` printer where >> `ppdFindOption(..., "OutputBin")` call returns 4 output bins (text, choice): >> - Printer settings, None >> - Inner tray, INNERTRAY >> - Separator tray, SEPARATORTRAY >> - Finisher (face-down), Main >> >> if `Printer settings`, `Inner tray`, or `Finisher (face-down)` >> CustomOutputBins is set to `PrinterJob.print(...)` attributes a test page is >> printed to the Main tray of the `Kyocera ECOSYS M8130cidn` printer. If >> `Separator tray` is used a page is printed to the Separator tray. This is >> consistent with the printer behavior when a native print dialog is used from >> a native Preview app to print a document on macOS. > > Alexander Scherbatiy has updated the pull request incrementally with five > additional commits since the last revision: > > - Update imports order in CheckSupportedOutputBinsTest > - Use only bug id number in bug tag in tests > - Fix imports order > - Fix formatting in the for loop > - Update PrintService.isAttributeValueSupported() function for OutputBin > constants test/jdk/javax/print/attribute/CheckSupportedOutputBinsTest.java line 36: > 34: * @test > 35: * @bug 8314070 > 36: * @key printer DO you want to run this on all platforms? Other tests are for linux and mac only!! but guess it's not a problem.. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16166#discussion_r1620133259