8028584: sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection
authorjgodinez
Tue, 26 Nov 2013 10:24:59 -0800
changeset 21780 aa006e1a6eb9
parent 21779 2883236d2fc3
child 21781 12385ca90f4d
8028584: sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection Reviewed-by: bae, prr
jdk/src/solaris/classes/sun/print/IPPPrintService.java
jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java
--- a/jdk/src/solaris/classes/sun/print/IPPPrintService.java	Mon Nov 25 12:29:54 2013 -0800
+++ b/jdk/src/solaris/classes/sun/print/IPPPrintService.java	Tue Nov 26 10:24:59 2013 -0800
@@ -44,6 +44,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.net.URLConnection;
 import java.net.HttpURLConnection;
 import java.io.File;
 import java.io.InputStream;
@@ -1607,14 +1608,16 @@
 
     public static HttpURLConnection getIPPConnection(URL url) {
         HttpURLConnection connection;
+        URLConnection urlc;
         try {
-            connection = (HttpURLConnection)url.openConnection();
+            urlc = url.openConnection();
         } catch (java.io.IOException ioe) {
             return null;
         }
-        if (!(connection instanceof HttpURLConnection)) {
+        if (!(urlc instanceof HttpURLConnection)) {
             return null;
         }
+        connection = (HttpURLConnection)urlc;
         connection.setUseCaches(false);
         connection.setDefaultUseCaches(false);
         connection.setDoInput(true);
--- a/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java	Mon Nov 25 12:29:54 2013 -0800
+++ b/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java	Tue Nov 26 10:24:59 2013 -0800
@@ -620,7 +620,7 @@
             if (CUPSPrinter.isCupsRunning()) {
                 try {
                     PrintService defaultPS;
-                    if (psuri != null) {
+                    if ((psuri != null) && !psuri.startsWith("file")) {
                         defaultPS = new IPPPrintService(defaultPrinter,
                                                         psuri, true);
                     } else {
--- a/jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java	Mon Nov 25 12:29:54 2013 -0800
+++ b/jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java	Tue Nov 26 10:24:59 2013 -0800
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4500750 6848799
+ * @bug 4500750 6848799 8028584
  * @summary Tests creating page format from attributes
  * @run main PageFormatFromAttributes
  */