From fc00fd2ffb4c5be2750376117a4044ed3734613e Mon Sep 17 00:00:00 2001 From: Prasanta Sadhukhan Date: Wed, 20 May 2015 17:10:15 +0300 Subject: [PATCH] 8015368: javax/print/attribute/URLPDFPrinting.java fails on solaris with java.net.ConnectException: Connection timed out Reviewed-by: prr, serb --- .../javax/print/attribute/URLPDFPrinting.java | 117 ++++++++++++++++++ jdk/test/javax/print/attribute/hello.pdf | Bin 0 -> 11242 bytes 2 files changed, 117 insertions(+) create mode 100644 jdk/test/javax/print/attribute/URLPDFPrinting.java create mode 100644 jdk/test/javax/print/attribute/hello.pdf diff --git a/jdk/test/javax/print/attribute/URLPDFPrinting.java b/jdk/test/javax/print/attribute/URLPDFPrinting.java new file mode 100644 index 00000000000..6876bb72498 --- /dev/null +++ b/jdk/test/javax/print/attribute/URLPDFPrinting.java @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +/* + * @test + * @bug 4899773 + * @summary Test for DocFlavor.URL.PDF support. No exception should be thrown. + * @run main URLPDFPrinting +*/ + +import java.awt.*; +import javax.print.*; +import javax.print.attribute.standard.*; +import javax.print.attribute.*; +import java.io.*; +import java.util.Locale; +import java.net.URL; + +public class URLPDFPrinting { + /** + * Constructor + */ + public URLPDFPrinting() { + super(); + } + /** + * Starts the application. + */ + public static void main(java.lang.String[] args) { + URLPDFPrinting pd = new URLPDFPrinting(); + PrintService service[] = null, defService = null; + + service = PrintServiceLookup.lookupPrintServices(DocFlavor.URL.PDF, null); + if (service.length == 0) { + System.out.println("No PrintService support DocFlavor.URL.PDF"); + return; + } else { + defService = service[0]; + System.out.println("Print Service which supports DocFlavor.URL.PDF: "+defService); + } + + System.out.println("is DocFlavor.URL.PDF supported? "+defService.isDocFlavorSupported(DocFlavor.URL.PDF)); + HashPrintRequestAttributeSet prSet = new HashPrintRequestAttributeSet(); + prSet.add(new Destination(new File("./dest.prn").toURI())); + + DocPrintJob pj = defService.createPrintJob(); + PrintDocument prDoc = new PrintDocument(); + try { + pj.print(prDoc, prSet); + } catch (Exception e) { + e.printStackTrace(); + } + + } +} + +class PrintDocument implements Doc { + InputStream fStream = null; + DocFlavor flavor = null; + HashDocAttributeSet docSet = new HashDocAttributeSet(); + URL url = null; + + public PrintDocument() { + try { + url = PrintDocument.class.getResource("hello.pdf"); + try{ Thread.sleep(6000); }catch(Exception e){ e.printStackTrace();} + fStream = url.openStream(); + System.out.println("URL input stream "+fStream); + } catch(Exception e) { + e.printStackTrace(); + } + docSet.add(OrientationRequested.LANDSCAPE); + } + + public DocAttributeSet getAttributes() { + System.out.println("getAttributes called"); + return docSet; + } + + public DocFlavor getDocFlavor() { + System.out.println("getDocFlavor called"); + return DocFlavor.URL.PDF; + } + + public Object getPrintData(){ + System.out.println("getPrintData called"); + return url; + } + + public Reader getReaderForText() { + return null; + } + + public InputStream getStreamForBytes() { + System.out.println("getStreamForBytes called"); + return fStream; + } +} diff --git a/jdk/test/javax/print/attribute/hello.pdf b/jdk/test/javax/print/attribute/hello.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d25b783a94007b0b477137241a3f1160cacabf08 GIT binary patch literal 11242 zcmeHNX*iVa+eelt*~=DVODbkD3>r(e>^qSx!wijWFoUu0Swr?+WsOiOOOZW0*^(`? zMAniJ;vMQ~dH%isyfIuH27`hXpkT0wC?5CE9q zKNjbVLfBJNU4LU?fuuDzw=j1mp+7Dv6Y!9(NrIey^cb(5QBEAEO#UY$=cxRLqH5G`OijPl0Q<0kL2e{N!5YSIZ|AZ9) z2Kmb&Q4mlUAT0Kqk>=*+D1wz%L?o0~$o1-uHeEQ*PEDd@abK&m?qzFTM;%~Z@9owR zZW^c@mPY;*55J5bF;NhXH0KYd9-#9*gVa$t1QLNm0KkWcX(6mpSinK>b-tk{M_9AN zSpUoy@Gox2VH|KM2OO4=c!wNv&KO5o4Bq&FL=+4Gz{DXYKy^ZvApT>PkWK{7@0xT_ zSd5FaB|$S-^iYrv21m#u0O*?y2S)v3z=5vs*8c&=?>Pa6`~n}ISRv{eRf7zzf@kei z{ME`7BlTDIO!cCm7#c%MF87$3{d&4%MLUy@RmTL63B=}5f?GPPs&41U@ZKxiz^Um~ zs0*+)7_cYB=qAS70)wWdecbLYwYLtY(--p?yxclsV(T@icutr)VCU4%W$EL>Vh*em=>bZvl#{|_M`p!46nP((XpaR3PPuZ$2D0TJ$H=r=qxEo^jg_P=JweH~ld zKoH~C^P4;K4jfmR!e5RIyW%YMHi_Pcbds|@IG38ZG68%TP5oj69VFx2UA396DjOo> z=P{{$TWX8=C6SmD0@_d@v?z*}7h2BEHc&KYy1_h@AZnP}XKZmyV_w&IE^L5BO5IXz zR=czj)TqFyF3%5>sTwR+AFu2{<<@^X8b#AwG%_!EoIS*XH?>Ny`IX~9<30F$@<@hA zRc&0I(W+$1K#Lu1LZDVyrQF*jxN!TP1kyYD~ zY~8Vkb&veoMiKSt{M^$1m~F0(C@bcE!?v3ZC%K;9WY{^&AM<3Y15= zqAgLEoe}PT+6({6OOTk@!LIx>dU)bseRVrFeOeCdp%aA-;YS|ppHJZ5yQ+YGOvy-p z?siFr1e$xOizY^g$$qHkD2WTjh^Ep$j~Io>z4F-DeAm^P_QmRj>VS9e2lz8p+OCUt%#u61pTj-Xa1*zM z`U*lmFk4NcRC6g`L@g@qEqkqas|qBJjdeVi=n);y?SO#pxR7-SQoMs}tMIq4r(|-{ zyKshh&Ew|5K5Sd{BkRZ$Tkr=bM@jnR$lfbWKosg>C*|AR&L?I>x;(;eJbW*V84@?} zaYcM4eR9ufcZ2(#u)Z&je#>ZbQ{56tRY`;II!05*E@84cXe&INS8e-XiZeBAmj7f? zKag0OCa_2u{CfR$Mi`WPNd_Hto_1^9M`$_QXQ=>5-$8du5%`L_FlV zhQ-lkzFXRffiD<4Sj-IXzYDLcRIT!E7rRFChH5u|Rb$O0n)aS?j>+V+Nweio4fGu$ zeyUL>GtXioo?Zw%+ag()6*Tz1*KmL5WtNrk#wSd(1eE+ZM_7?Yn z_Qwr-^egT?-R6De<09*=aat!txd2!|F)%j>&uLuPYkd*2Oj2DkR}Xs=Jd~F|RFD}t zHx{+c(c?LHlW$+YWA|Oxgv5n$*D-8pQI##0WMho?a%=I)#eK#{Tyb6|7k6ei#oNFI7_Y-fr0jZc}W#ZI^Br?s2^AIoj&oqWMGV-GJivD*q`F4!wLQduvisLqss zywUCBFp+zDz||(&#(f#F>|`&yIJkkPcx*occ;zQrxcs86+jZi#lZbnHtfXzPU6a+L zSayA;-R;o6I%`RxOx*}8+6sky9`b;K6DO=D_xszi!Bt8%0dJlRm@N27ob1sy7!Ofq zT}{5nmHD_+=}cBzZ0ow!4dEjxjgfTT*mijxL?!q6nQayR z-2S}5XK#Nce;rXY;6a+m;4)}ivr*`_()rqb{q1s1zsB;kYr^2pgN!H@=S}fTiq~|L zd@DVkFRhM7uRiQq9i8iF)405IM39!kr0&w!(|5`fZkxV3b&nEg#%2@ImPb<{Szi69 zkuEOy0+B;kd-=1W7s&SlL>bE~B5aB+{58b4-Jd_ye^ zUf|71qC=L<7-xp1&mR?Le~{IB{L?_Sq(3hv;A`bF*^cz^N;xObLUhUoN;g_=qo!PB zgP%XhY18j3r7<(QbNb;sVm4|?q*>ayt(o@i5nGSO`@VIiY8#`~9y^iT`QA^LtG!jM z3}s_K*@@feCLCBa!?O-<=kjAt!l+Z zG2pWTSfupn`|al(L!7eR6!i@-uKIZwpS@V=E@|!L-7D{(YMjcLVs|P`=CKOn=oQF| zXp2>bsCieY6qItO@F|o1I;XC@XduA%tO}sI&jlIzV zc)Hle*V0HmF^dyuJq?BzUjxB|KBXB~#7sq)QyO#?L_qP(ofIsb)VAiTHr6RsozRO9 zD;qZD^y6%*bmn$HpcK=_jK^tXHirY&^n$}i0^SsI~|m;*X$p7zDDr5zXm3Mf@zJ6BCTVTt)+NSvfRM)%Y;$UwUqlNMny)a-MX&c z46iaWD$+i@hDYz0dSrkdYUog#D1YoNcte4#~6QE#x*G5IcS9|ca@knDo`7L ztSm_A!J2N}3EHnQ^XYwxiSp8?H2lG3qTABfDD4*z!G<~a8KWArKd`eCQCDktog5?U zsbjgO-m{^@9I)v~qL%k4DFif7SBrpd3*8U8Qs7IG?q}jidmL&dm=oi||1_ITd4qo9 zIL&3VfG{mm4*+%B4Ub*8TIihk;%?>s|BiG3H!dUqD80ZoZPI z@uPIU!@i)r17eqhxe1L>S)Jut%?vS<;jE@Mo0bz}w7==9*rOq2*MHK&dzxIH+RClw-Sdivh zp_ZI&yV{N^vnmKu5gR>!pXYA)k3`?-F za}K9AFKqI!82gmh1xdXXzG=L>sf5kBxR!QZc|C4^6W63NnUf(9B4J3*^>kD;nOr*m z*=x;NqU8}~JVkfGtZt_tVk=XN2zrMp-$F1!;+o%iC#L6qmkZc+y}v~DDuM)6k?0G7 zA`h&}6I~ukmk9}Fq&0QTtxTTK67Q;MF_{wjNRri*{~=)){<^+&)=hV~v9_D$LoHKy z@UU!#W7Y$f%mWTRHPIkzc5m_Oy)BdKSMC!u&Q@}+r$+#Z}OFl zjT3E$oF@plN=B z{LMP-ajv1&!t2hhnP*ZqD+>$P7>Aj-73R+=Fi5tasIu_l9KI8I>=yc(Ch+q$cXdt7 z{d~9k{H&*QwNjH7KRjb!EA*R+tWA76z zY3x2#cON}znV9M5Xl^tOkV{G`VrMsfd7hyI1bZBI!Z5jL{X>UAQV-DhT2tIj?2g>| zneAZWTHyHm;^60U@Bo6Z8W{^pi}v>&#yB$0Aj22PNnl!|1~Lb z`)TWUwP9Dp_M?g-A=oQHS3S-lG5xM2SLo6h1s(_HERa*Eca)PJfjF?Z$bKaJXDO^? z+tF}@6}z@xy;4>5#M*_y|5yac5ra~FNiS3Z&2hu(llrY4l6G&dP31h3PKWVhqWTiW zy3#C{Pwmt8@2^z$rNXjylSdX5EQxLh_}OxN5xAIG6j9ka%$;i^5Rf^m5X4||DQEPW z!d_m)omF{*&xwnh3w0XtSJj3hY zT#_ANP@-kg+&ev=QgOFM`|b5y^Qmzg)f(txMalYEw1*msc~8w2ht0no;UUX}uVeO<)@T^}Lu6z9zCx(2_oS=FSP=YVCB;MI@YeqQO^Fy1^k6$p@&Y)_{qPSTZn(;xRH8;${sM>-ZaTr4~q*r(tR zk2LuVO=L|HHW@#X-=XY4#-x_7tz;H<*2B71szLb0Zr&~7wo#UI4GJ*Iw^MAF@UN)3 zu0h_t7YkBto1-UtYwQaTvW}LkT-rYB*|K|ve=erNlx;pJKi~rqCT^lD6vgnP({`--^n((KL3h1QCWsgYl|JwswoGpt?CtOsC-P1732~0^ zITtaToFlN#EyK&wNMs$xn1Wx)27Qp1sotVvze7h1^+8f!falv=(@9`7b3r&VG{MTPBSHbEIg*<9mzg?mHD=7wauRO*QjNcG+qH z4_9Q-%Sz~sj~8?O%lgXtrUY_%a>>3Zw?l%%gbGc(tzXXyTPtn}HyHDH+YL8YE!DNk zx=6xMvn$!3kH<5P@S&Y*Dla`Vt);G5ljSoI=DgB8q%!-|0iCu2z1W;VuenG~{B_)- z=y{s`Y*&`yp@R`ZLJfCTcmGzfLq!o%h0i)(G zZQWeQg0=b{M;A8rIRc$A(IrICO6?PjY|=r#W?AdW4-1tW3IZ-yug8 zzt~6r-0V&S_6tLjRlfu1YLVUDC0Jc){r; zmR0KyD+8o%H_UrknwqvcNsaT&yVAvsIv*RtQ+yp)(2>MY=S*!xO%gqY0Ka+8-;{ROXO*{vbwv5Fkc^_K$HpC(DuMAg^* zr1;(hI(-x>iqj*}k2RX}7vs^7k2(`{Gk1NSepanLWgYNl=;)@1sO&jJdg@fV9|6hk zWFzM2yNUy}BVmeXMnY=&DUM<&(Mad>X`Hh*cOXeJ|z5bZR=NvtuY?nk-M zhlsk$-J)mGvk9K0kGhf_yk^3?VXdm`ZM&)M>4k|R8G@&a5<`?YADxqQ4hs*B-}fMqFP2{n zcHsStENeM^o3Tu_gt$j}P{8{%u z9Z>u{pZI<*Dl8&SD0;Y9;0{YQ>T2Iky8o(9{5+X}OXD38mbNGyzyf8Bc97&=eOAj2 zKqDo&uZXCF)E(te*U?HI&L~|E4LwT_TT5{yx3m-$94~>lceE$eIskZkI|r-;UXmL@ zD1V_O2;+lkAUEKU1ZOMBed%BUV5qJIki$5m03t%7f|ejcK}-xR1Qvlo#6&ItARsUl z2!;?YK@dm+Dl9=*{{G^YIw<c93_B2H#avSH(?=+vo#Pb zE-nrPL4Xj5Ab~;<>+XO<-~}D9Jl}-;B}X2GwRA>1;?Niez=2$Z1;zy@$<6(fPhaN{4XS+i!NJ}8f4rPB(r~wjO0RD-OfX)v_2dvN`HbRyddmtX+NMHi}k;(BF zuYO}9ED)H4|Hwqpq^|zob=lhke*kcR0n$>!3gc{#z)2w-9qrJThyx^m1SN3b&!wMW z9MD@5ihG30efFo?gV0IXAsnnFx$%NXloi6o4#)jRTYeXEXv?3q9@v9Jpb-HcOkzZ zV~75uB~nT#J3GubFznEO6L<*G?-CEq`nz&CA?y-z2SGu}6W&sU8%RVD1Qmop^uQt# z5SRp5^eP2o?r`#1KeJl!ch+Uvhup{Vw-gGX1ix9cI^KSAjS&A)K{fa0GF{)OwGp!9?0U$}li z@lOW-!u3y3`a$#G;G+8Z$Vce3ljL?IJkb5&k@BDPQ;Gl8P9<{Cg9G{Bx~U-gAT5wC zNL2U1!(O*;VApwV(7n})1nTf=$sbl_N z)h~@ge<;L%>+<^1
    l03J4M9y|m8XOov+WEWL{46}k6%2k52J6alirDx2(zX{%(rO*X}7;K!m8{+%1? zp_7-`&pJQIsE6I_aJgfRvu|hhthy8}G#Vx5U+a(VgLX)f94Cs*l=$=qAb#mc_y<;Q>N8zmw+qj<05xZ3gEdYJ$OYmE5}X}HNFGA9;hf6{4RKcXW< Via^qne?a4xUQsYu^hdYo{{Tv1aaI5T literal 0 HcmV?d00001