--- a/jdk/src/java.desktop/unix/classes/sun/print/IPPPrintService.java Tue Jan 31 19:22:35 2017 +0300
+++ b/jdk/src/java.desktop/unix/classes/sun/print/IPPPrintService.java Thu Feb 02 11:05:06 2017 +0530
@@ -59,6 +59,7 @@
import java.util.Iterator;
import java.util.HashSet;
+import java.util.Map;
public class IPPPrintService implements PrintService, SunPrinterJobService {
@@ -1758,6 +1759,19 @@
if (responseMap != null && responseMap.length > 0) {
getAttMap = responseMap[0];
+ // If there is extra hashmap created due to duplicate
+ // key/attribute present in IPPresponse, then use that
+ // map too by appending to getAttMap after removing the
+ // duplicate key/value
+ if (responseMap.length > 1) {
+ for (int i = 1; i < responseMap.length; i++) {
+ for (Map.Entry<String, AttributeClass> entry : responseMap[i].entrySet()) {
+ if (!getAttMap.containsKey(entry.getValue())) {
+ getAttMap.put(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+ }
}
} else {
debug_println(debugPrefix+"opGetAttributes - null input stream");