From 80382cfa07782a2c4bd0efc16015bfb8defbc3f7 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Mon, 23 Jan 2017 15:34:59 -0500 Subject: [PATCH] LP#1646166 Printer options sanity check Confirm values not only exist but are non-empty before applying them to printer jobs. Signed-off-by: Bill Erickson --- src/org/evergreen_ils/hatch/PrintManager.java | 38 +++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/org/evergreen_ils/hatch/PrintManager.java b/src/org/evergreen_ils/hatch/PrintManager.java index 4b46427..df0e624 100644 --- a/src/org/evergreen_ils/hatch/PrintManager.java +++ b/src/org/evergreen_ils/hatch/PrintManager.java @@ -221,7 +221,7 @@ public class PrintManager { String orientationName = settings.optString("pageOrientation", null); String marginName = settings.optString("marginType", null); - if (paperName != null) { + if (paperName != null && !paperName.isEmpty()) { for (Paper source : printerAttrs.getSupportedPapers()) { if (source.getName().equals(paperName)) { logger.finer("Found matching paper: " + paperName); @@ -231,7 +231,7 @@ public class PrintManager { } } - if (orientationName != null) { + if (orientationName != null && !orientationName.isEmpty()) { orientation = PageOrientation.valueOf(orientationName); } @@ -239,7 +239,7 @@ public class PrintManager { // Using a pre-defined, automatic margin option Printer.MarginType margin = Printer.MarginType.DEFAULT; - if (marginName != null) { + if (marginName != null && !marginName.isEmpty()) { // An auto-margin type has been specified for (Printer.MarginType marg : Printer.MarginType.values()) { if (marg.toString().equals(marginName)) { @@ -277,34 +277,34 @@ public class PrintManager { PrinterAttributes printerAttrs = job.getPrinter().getPrinterAttributes(); - if (settings.has("collation")) { - jobSettings.setCollation( - Collation.valueOf(settings.getString("collation"))); + String collation = settings.optString("collation", null); + if (collation != null && !collation.isEmpty()) { + jobSettings.setCollation(Collation.valueOf(collation)); } - if (settings.has("copies")) { - jobSettings.setCopies(settings.getInt("copies")); + int copies = settings.optInt("copies"); + if (copies > 0) { + jobSettings.setCopies(copies); } - if (settings.has("printColor")) { - jobSettings.setPrintColor( - PrintColor.valueOf(settings.getString("printColor"))); + String printColor = settings.optString("printColor", null); + if (printColor != null && !printColor.isEmpty()) { + jobSettings.setPrintColor(PrintColor.valueOf(printColor)); } - if (settings.has("printQuality")) { - jobSettings.setPrintQuality( - PrintQuality.valueOf(settings.getString("printQuality"))); + String printQuality = settings.optString("printColor", null); + if (printQuality != null && !printQuality.isEmpty()) { + jobSettings.setPrintQuality(PrintQuality.valueOf(printQuality)); } - if (settings.has("printSides")) { - jobSettings.setPrintSides( - PrintSides.valueOf(settings.getString("printSides"))); - + String printSides = settings.optString("printColor", null); + if (printSides != null && !printSides.isEmpty()) { + jobSettings.setPrintSides(PrintSides.valueOf(printSides)); } String paperSource = settings.optString("paperSource"); - if (paperSource != null) { + if (paperSource != null && !paperSource.isEmpty()) { for (PaperSource source : printerAttrs.getSupportedPaperSources()) { if (source.getName().equals(paperSource)) { logger.finer("Found paper source: " + paperSource); -- 2.11.0