On Sat, 11 May 2024 17:32: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 one > additional commit since the last revision: > > Make OutputBin class sealed test/jdk/javax/print/attribute/OutputBinAttributePrintDialogTest.java line 42: > 40: import javax.print.attribute.standard.MediaSizeName; > 41: import javax.print.attribute.standard.OutputBin; > 42: import javax.swing.*; expand wildcard imports test/jdk/javax/print/attribute/OutputBinAttributeTest.java line 40: > 38: import javax.print.attribute.standard.MediaSizeName; > 39: import javax.print.attribute.standard.OutputBin; > 40: import javax.swing.*; expand wildcard imports ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16166#discussion_r1607093187 PR Review Comment: https://git.openjdk.org/jdk/pull/16166#discussion_r1607094475