jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java
changeset 23287 c0f8cdafef56
parent 22607 ba232b417248
child 25140 80e863984492
equal deleted inserted replaced
23286:b0eb66adf69d 23287:c0f8cdafef56
   271     public synchronized void refreshServices() {
   271     public synchronized void refreshServices() {
   272         /* excludes the default printer */
   272         /* excludes the default printer */
   273         String[] printers = null; // array of printer names
   273         String[] printers = null; // array of printer names
   274         String[] printerURIs = null; //array of printer URIs
   274         String[] printerURIs = null; //array of printer URIs
   275 
   275 
   276         getDefaultPrintService();
   276         try {
       
   277             getDefaultPrintService();
       
   278         } catch (Throwable t) {
       
   279             IPPPrintService.debug_println(debugPrefix+
       
   280               "Exception getting default printer : " + t);
       
   281         }
   277         if (CUPSPrinter.isCupsRunning()) {
   282         if (CUPSPrinter.isCupsRunning()) {
   278             printerURIs = CUPSPrinter.getAllPrinters();
   283             try {
       
   284                 printerURIs = CUPSPrinter.getAllPrinters();
       
   285                 IPPPrintService.debug_println("CUPS URIs = " + printerURIs);
       
   286                 if (printerURIs != null) {
       
   287                     for (int p = 0; p < printerURIs.length; p++) {
       
   288                        IPPPrintService.debug_println("URI="+printerURIs[p]);
       
   289                     }
       
   290                 }
       
   291             } catch (Throwable t) {
       
   292             IPPPrintService.debug_println(debugPrefix+
       
   293               "Exception getting all CUPS printers : " + t);
       
   294             }
   279             if ((printerURIs != null) && (printerURIs.length > 0)) {
   295             if ((printerURIs != null) && (printerURIs.length > 0)) {
   280                 printers = new String[printerURIs.length];
   296                 printers = new String[printerURIs.length];
   281                 for (int i=0; i<printerURIs.length; i++) {
   297                 for (int i=0; i<printerURIs.length; i++) {
   282                     int lastIndex = printerURIs[i].lastIndexOf("/");
   298                     int lastIndex = printerURIs[i].lastIndexOf("/");
   283                     printers[i] = printerURIs[i].substring(lastIndex+1);
   299                     printers[i] = printerURIs[i].substring(lastIndex+1);
   630 
   646 
   631         IPPPrintService.debug_println("isRunning ? "+
   647         IPPPrintService.debug_println("isRunning ? "+
   632                                       (CUPSPrinter.isCupsRunning()));
   648                                       (CUPSPrinter.isCupsRunning()));
   633         if (CUPSPrinter.isCupsRunning()) {
   649         if (CUPSPrinter.isCupsRunning()) {
   634             String[] printerInfo = CUPSPrinter.getDefaultPrinter();
   650             String[] printerInfo = CUPSPrinter.getDefaultPrinter();
   635             defaultPrinter = printerInfo[0];
   651             if (printerInfo != null && printerInfo.length >= 2) {
   636             psuri = printerInfo[1];
   652                 defaultPrinter = printerInfo[0];
       
   653                 psuri = printerInfo[1];
       
   654             }
   637         } else {
   655         } else {
   638             if (isMac() || isSysV()) {
   656             if (isMac() || isSysV()) {
   639                 defaultPrinter = getDefaultPrinterNameSysV();
   657                 defaultPrinter = getDefaultPrinterNameSysV();
   640             } else if (isAIX()) {
   658             } else if (isAIX()) {
   641                 defaultPrinter = getDefaultPrinterNameAIX();
   659                 defaultPrinter = getDefaultPrinterNameAIX();