Return-Path: X-Original-To: apmail-river-dev-archive@www.apache.org Delivered-To: apmail-river-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 849E318F55 for ; Wed, 25 Nov 2015 21:25:58 +0000 (UTC) Received: (qmail 49154 invoked by uid 500); 25 Nov 2015 21:25:58 -0000 Delivered-To: apmail-river-dev-archive@river.apache.org Received: (qmail 49130 invoked by uid 500); 25 Nov 2015 21:25:58 -0000 Mailing-List: contact dev-help@river.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@river.apache.org Delivered-To: mailing list dev@river.apache.org Received: (qmail 49118 invoked by uid 99); 25 Nov 2015 21:25:58 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Nov 2015 21:25:58 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 8CA3D1A229A for ; Wed, 25 Nov 2015 21:25:57 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.745 X-Spam-Level: **** X-Spam-Status: No, score=4.745 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, MIME_QP_LONG_LINE=0.001, MISSING_MIMEOLE=1.843, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=zeus.net.au Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 8FryuW-Td8_O for ; Wed, 25 Nov 2015 21:25:48 +0000 (UTC) Received: from server-1n-r58.ipv4.au.syrahost.com (server-1n-r58.ipv4.au.syrahost.com [103.226.222.59]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id DF6F920267 for ; Wed, 25 Nov 2015 21:25:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zeus.net.au; s=default; h=Content-Type:MIME-Version:Message-ID:To:Subject:From:Date; bh=aizDCgI3rm5E1GIC9c8tVvVPmQ/alokxRd6p2rdBO4U=; b=ahHR1z9jfufRhu9uw2GrpT5BfPKrUzIbKUtGu+7OZjl7mDVVs6EyRIoOoS7i5mfo2ILowHQdOdeNie7iUszVIh2GhQW/u0GTJVsUhvbVeqiW15iHp8rulvUzDOL8Wr1kT2whSL1/M/jskTEMagcQFbWlmGfES2eXNO/o6STolU8=; Received: from pa49-182-18-146.pa.nsw.optusnet.com.au ([49.182.18.146]:32785 helo=[10.68.164.159]) by webcloud66.au.syrahost.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.85) (envelope-from ) id 1a1hZC-000bar-BB for dev@river.apache.org; Thu, 26 Nov 2015 05:25:37 +0800 Date: Thu, 26 Nov 2015 07:25:25 +1000 (AEST) From: Peter Subject: Re: svn commit: r1716294 - in =?us-ascii?q?=2Friver=2Fjtsk=2Fbranches=2F2=2E2=2Fqa=2Fsrc=2Fcom=2Fsu?= =?us-ascii?q?n=2Fjini=2Ftest=2Fspec=2Fpolicyprovider=3A?= dynamicPolicyProvider/NullCases.java policyFileProvider/NullCases.java To: "dev@river.apache.org" Message-ID: <1538c00e901e378270cbe74c07b39164@org.tizen.email> MIME-Version: 1.0 Content-Type: MULTIPART/ALTERNATIVE; BOUNDARY="8323328-1473932834-1448486725=:1366" X-Priority: 3 X-MSMail-Priority: Normal X-OutGoing-Spam-Status: No, score=0.8 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - webcloud66.au.syrahost.com X-AntiAbuse: Original Domain - river.apache.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - zeus.net.au X-Get-Message-Sender-Via: webcloud66.au.syrahost.com: authenticated_id: jini@zeus.net.au X-Source: X-Source-Args: X-Source-Dir: --8323328-1473932834-1448486725=:1366 Content-Type: TEXT/plain; CHARSET=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE This test would be useful for River 3.0 , which no longer depends on the co= m.sun policy provider.=C2=A0=0A=0AWhy do we have our own policy provider in= River 3.0?=0A=0A1. To eliminate unnecessary dns calls, that also pose a dn= s spoofing security risk.=0A2. To fix test failures caused by UnresolvedPer= mission not resolving due to a race condition in the sun policy provider.= =0A3. Because the sun policy provider is not part of the java platform, it = tied us to Sun's java. =C2=A0River now builds and runs on IBM's J9.=0A4. Pr= obably the most important was to fix a significant performance and scalabil= ity impediment.=0A=0A=0ABut because I know some people are more conservativ= e, it's still possible to use the sun policy provider.=0A=0ARegards,=0A=0AP= eter.=0ASent from my Samsung device.=0A=C2=A0=C2=A0Include original message= =0A---- Original message ----=0AFrom: Greg Trasuk = =0ASent: 26/11/2015 12:49:18 am=0ATo: dev@river.apache.org=0ASubject: Re: s= vn commit: r1716294 - in /river/jtsk/branches/2.2/qa/src/com/sun/jini/test/= spec/policyprovider: dynamicPolicyProvider/NullCases.java policyFileProvider/NullCases.java=0A=0A=0A>=C2=A0O= n=C2=A0Nov=C2=A025,=C2=A02015,=C2=A0at=C2=A07:10=C2=A0AM,=C2=A0Peter=C2=A0<= jini@zeus.net.au>=C2=A0wrote: =0A>=C2=A0 =0A>=C2=A0Interesting,=C2=A0why=C2= =A0not=C2=A0change=C2=A0the=C2=A0test=C2=A0to=C2=A0check=C2=A0that=C2=A0npe= =C2=A0isn't=C2=A0thrown? =0A=0AExcellent=C2=A0question!=C2=A0=C2=A0I=E2=80= =99m=C2=A0open=C2=A0to=C2=A0argument=C2=A0on=C2=A0this=C2=A0(which=C2=A0is= =C2=A0why=C2=A0the=C2=A0test=C2=A0is=C2=A0currently=C2=A0commented=C2=A0out= ,=C2=A0not=C2=A0removed),=C2=A0but=C2=A0here=E2=80=99s=C2=A0my=C2=A0logic: = =0A=0A-=C2=A0The=C2=A0behavior=C2=A0being=C2=A0tested=C2=A0here=C2=A0is=C2= =A0not=C2=A0part=C2=A0of=C2=A0River=E2=80=99s=C2=A0specification=C2=A0(the= =C2=A0documentation=C2=A0simply=C2=A0refers=C2=A0to=C2=A0the=C2=A0JDK=C2=A0= documentation) =0A-=C2=A0The=C2=A0behavior=C2=A0is=C2=A0not=C2=A0actually= =C2=A0implemented=C2=A0within=C2=A0River=C2=A0code=C2=A0(River=E2=80=99s=C2= =A0PolicyProvider=C2=A0delegates=C2=A0to=C2=A0an=C2=A0instance=C2=A0of=C2= =A0java.security.Policy) =0A-=C2=A0I=C2=A0can=E2=80=99t=C2=A0find=C2=A0any= =C2=A0evidence=C2=A0that=C2=A0River=C2=A0code=C2=A0depends=C2=A0on=C2=A0thi= s=C2=A0behavior. =0A=0AIf=C2=A0the=C2=A0test=C2=A0stayed=C2=A0in,=C2=A0with= =C2=A0the=C2=A0sense=C2=A0flipped,=C2=A0the=C2=A0test=E2=80=99s=C2=A0succes= s=C2=A0would=C2=A0be=C2=A0dependent=C2=A0on=C2=A0the=C2=A0JDK=C2=A0version.= =C2=A0=C2=A0That=C2=A0would=C2=A0make=C2=A0sense=C2=A0if=C2=A0this=C2=A0was= =C2=A0a=C2=A0bug=C2=A0that=C2=A0we=C2=A0(River)=C2=A0cared=C2=A0about,=C2= =A0but=C2=A0since=C2=A0it=E2=80=99s=C2=A0not=C2=A0our=C2=A0behavior=C2=A0and=C2=A0it=E2=80=99s=C2=A0not=C2=A0behavior=C2=A0we=C2=A0= depend=C2=A0on,=C2=A0that=C2=A0seems=C2=A0like=C2=A0we=C2=A0would=C2=A0just= =C2=A0be=C2=A0making=C2=A0the=C2=A0test=C2=A0suite=C2=A0more=C2=A0fragile= =C2=A0without=C2=A0any=C2=A0benefit.=C2=A0=C2=A0 =0A=0ACheers, =0A=0AGreg= =C2=A0Trasuk =0A=0A>=C2=A0 =0A>=C2=A0I=C2=A0did=C2=A0notice=C2=A0while=C2= =A0reimplimenting=C2=A0the=C2=A0file=C2=A0policy=C2=A0provider,=C2=A0that= =C2=A0rivers=C2=A0tests=C2=A0were=C2=A0very=C2=A0thorough.=C2=A0=C2=A0Now= =C2=A0you've=C2=A0confirmed=C2=A0they=C2=A0even=C2=A0helped=C2=A0duplicate= =C2=A0the=C2=A0bugs.=C2=A0=C2=A0So=C2=A0I'll=C2=A0have=C2=A0to=C2=A0fix=C2= =A0that,=C2=A0thanks=C2=A0for=C2=A0the=C2=A0info. =0A>=C2=A0 =0A>=C2=A0I=C2= =A0was=C2=A0approached=C2=A0by=C2=A0the=C2=A0openjdk=C2=A0devs=C2=A0about= =C2=A0improving=C2=A0Java's=C2=A0policy=C2=A0provider=C2=A0recently=C2=A0an= d=C2=A0i=C2=A0passed=C2=A0on=C2=A0some=C2=A0tips.=C2=A0=C2=A0I=C2=A0can=C2= =A0say=C2=A0however,=C2=A0with=C2=A0the=C2=A0utmost=C2=A0confidence=C2=A0th= at=C2=A0River=C2=A0has=C2=A0the=C2=A0worlds=C2=A0fastest=C2=A0and=C2=A0most= =C2=A0scalable=C2=A0policy=C2=A0provider,=C2=A0by=C2=A0a=C2=A0good=C2=A0mar= gin. =0A>=C2=A0 =0A>=C2=A0Regards, =0A>=C2=A0 =0A>=C2=A0Peter. =0A>=C2=A0 = =0A>=C2=A0 =0A>=C2=A0Sent=C2=A0from=C2=A0my=C2=A0Samsung=C2=A0device. =0A>= =C2=A0=C2=A0=C2=A0Include=C2=A0original=C2=A0message =0A>=C2=A0----=C2=A0Or= iginal=C2=A0message=C2=A0---- =0A>=C2=A0From:=C2=A0gtrasuk@apache.org =0A>= =C2=A0Sent:=C2=A025/11/2015=C2=A001:44:21=C2=A0pm =0A>=C2=A0To:=C2=A0commit= s@river.apache.org =0A>=C2=A0Subject:=C2=A0svn=C2=A0commit:=C2=A0r1716294=C2=A0-=C2=A0in=C2=A0/river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec= /policyprovider:=C2=A0dynamicPolicyProvider/NullCases.java=C2=A0policyFileP= rovider/NullCases.java =0A>=C2=A0 =0A>=C2=A0Author:=C2=A0gtrasuk=C2=A0 =0A>= =C2=A0Date:=C2=A0Wed=C2=A0Nov=C2=A025=C2=A003:44:21=C2=A02015=C2=A0 =0A>=C2= =A0New=C2=A0Revision:=C2=A01716294=C2=A0 =0A>=C2=A0 =0A>=C2=A0URL:=C2=A0htt= p://svn.apache.org/viewvc?rev=3D1716294&view=3Drev=C2=A0 =0A>=C2=A0Log:=C2= =A0 =0A>=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Th= e=C2=A0tests=C2=A0below=C2=A0check=C2=A0that=C2=A0if=C2=A0you=C2=A0call=C2= =A0getPermissions(codesource)=C2=A0=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0with=C2=A0a=C2=A0null=C2=A0codesource,=C2=A0a=C2= =A0NullPointerException=C2=A0should=C2=A0be=C2=A0thrown.=C2=A0=C2=A0The=C2= =A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0implementatio= n=C2=A0of=C2=A0it=C2=A0relies=C2=A0not=C2=A0with=C2=A0DynamicPolicyProvider= =C2=A0or=C2=A0PolicyFileProvider,=C2=A0but=C2=A0with=C2=A0the=C2=A0 =0A>=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0underlying=C2=A0Policy= =C2=A0object=C2=A0(java.security.Policy),=C2=A0which=C2=A0used=C2=A0to=C2= =A0do=C2=A0just=C2=A0=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0that.=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0H= owever,=C2=A0this=C2=A0behaviour=C2=A0was=C2=A0reported=C2=A0as=C2=A0a=C2= =A0bug=C2=A0in=C2=A0JDK-7147830=C2=A0=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0(2012-02-22),=C2=A0and=C2=A0resolved=C2=A0only= =C2=A0in=C2=A0JDK8,=C2=A0as=C2=A0of=C2=A02012-07-17.=C2=A0 =0A>=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0So=C2=A0it's=C2=A0no=C2=A0longer=C2=A0appropriate=C2=A0to=C2=A0do=C2=A0this= =C2=A0test.=C2=A0=C2=A0Commented=C2=A0out=C2=A0for=C2=A0now,=C2=A0 =0A>=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0remove=C2=A0it=C2=A0comp= letely=C2=A0if=C2=A0you=C2=A0happen=C2=A0to=C2=A0see=C2=A0this=C2=A0far=C2= =A0in=C2=A0the=C2=A0future.=C2=A0 =0A>=C2=A0 =0A>=C2=A0 =0A>=C2=A0Modified:= =C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0river/jtsk/branches/2.2/qa/src/com= /sun/jini/test/spec/policyprovider/dynamicPolicyProvider/NullCases.java=C2= =A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0river/jtsk/branches/2.2/qa/src/com/su= n/jini/test/spec/policyprovider/policyFileProvider/NullCases.java=C2=A0 =0A= >=C2=A0 =0A>=C2=A0Modified:=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jin= i/test/spec/policyprovider/dynamicPolicyProvider/NullCases.java=C2=A0 =0A>= =C2=A0URL:=C2=A0http://svn.apache.org/viewvc/river/jtsk/branches/2.2/qa/src= /com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/NullCases.java= ?rev=3D1716294&r1=3D1716293&r2=3D1716294&view=3Ddiff=C2=A0 =0A>=C2=A0=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=C2=A0 =0A>=C2=A0---=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/te= st/spec/policyprovider/dynamicPolicyProvider/NullCases.java=C2=A0(original)= =C2=A0 =0A>=C2=A0+++=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/NullCases.java= =C2=A0Wed=C2=A0Nov=C2=A025=C2=A003:44:21=C2=A02015=C2=A0 =0A>=C2=A0@@=C2=A0= -204,10=C2=A0+204,22=C2=A0@@=C2=A0public=C2=A0class=C2=A0NullCases=C2=A0ext= ends=C2=A0DynamicPo=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0msg=C2=A0=3D=C2=A0"policy.getPermissions((ProtectionDomain)= =C2=A0null)";=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0callGetPermissions((ProtectionDomain)=C2=A0null,=C2=A0pmGranted,= =C2=A0msg);=C2=A0 =0A>=C2=A0=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0/*=C2=A0(Greg=C2=A0Trasuk=C2=A0-=C2=A020151124)= =C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0The=C2=A0= test=C2=A0below=C2=A0checks=C2=A0that=C2=A0if=C2=A0you=C2=A0call=C2=A0getPe= rmissions(codesource)=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0with=C2=A0a=C2=A0null=C2=A0codesource,=C2=A0a=C2=A0NullPo= interException=C2=A0should=C2=A0be=C2=A0thrown.=C2=A0=C2=A0The=C2=A0 =0A>= =C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0implementation=C2=A0= of=C2=A0it=C2=A0relies=C2=A0not=C2=A0with=C2=A0DynamicPolicyProvider=C2=A0b= ut=C2=A0with=C2=A0the=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0underlying=C2=A0Policy=C2=A0object=C2=A0(java.security.Policy),= =C2=A0which=C2=A0used=C2=A0to=C2=A0do=C2=A0just=C2=A0=C2=A0 =0A>=C2=A0+=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0that.=C2=A0 =0A>=C2=A0+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0However,=C2=A0this=C2=A0behaviour=C2=A0was= =C2=A0reported=C2=A0as=C2=A0a=C2=A0bug=C2=A0in=C2=A0JDK-7147830=C2=A0=C2=A0= =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(2012-02-22),= =C2=A0and=C2=A0resolved=C2=A0in=C2=A0in=C2=A0JDK8,=C2=A0as=C2=A0of=C2=A02012-07-17.=C2=A0 =0A>= =C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0So=C2=A0it's=C2=A0no= =C2=A0longer=C2=A0appropriate=C2=A0to=C2=A0do=C2=A0this=C2=A0test.=C2=A0=C2= =A0Commented=C2=A0out=C2=A0for=C2=A0now,=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0remove=C2=A0it=C2=A0completely=C2=A0if=C2= =A0you=C2=A0happen=C2=A0to=C2=A0see=C2=A0this=C2=A0far=C2=A0in=C2=A0the=C2= =A0future.=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0*/=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0//=C2=A0Call=C2=A0getPermissions()=C2=A0passing=C2=A0null=C2=A0as=C2=A0C= odeSource=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0//=C2=A0and=C2=A0verify=C2=A0that=C2=A0NullPointerException=C2=A0is= =C2=A0thrown;=C2=A0 =0A>=C2=A0-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0msg=C2=A0=3D=C2=A0"policy.getPermissions((CodeSource)=C2=A0null)";=C2= =A0 =0A>=C2=A0-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0callGetPermi= ssionsNPE((CodeSource)=C2=A0null,=C2=A0msg);=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//msg=C2=A0=3D=C2=A0"policy.getPermissi= ons((CodeSource)=C2=A0null)";=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0//callGetPermissionsNPE((CodeSource)=C2=A0null,=C2=A0m= sg);=C2=A0 =0A>=C2=A0=C2=A0=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0//=C2=A0Call=C2=A0policy.implies(null,=C2=A0null)= =C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//= =C2=A0and=C2=A0verify=C2=A0that=C2=A0NullPointerException=C2=A0is=C2=A0thro= wn;=C2=A0 =0A>=C2=A0 =0A>=C2=A0Modified:=C2=A0river/jtsk/branches/2.2/qa/sr= c/com/sun/jini/test/spec/policyprovider/policyFileProvider/NullCases.java= =C2=A0 =0A>=C2=A0URL:=C2=A0http://svn.apache.org/viewvc/river/jtsk/branches/2.2/qa/src/com/sun= /jini/test/spec/policyprovider/policyFileProvider/NullCases.java?rev=3D1716= 294&r1=3D1716293&r2=3D1716294&view=3Ddiff=C2=A0 =0A>=C2=A0=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=C2=A0= =0A>=C2=A0---=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/p= olicyprovider/policyFileProvider/NullCases.java=C2=A0(original)=C2=A0 =0A>= =C2=A0+++=C2=A0river/jtsk/branches/2.2/qa/src/com/sun/jini/test/spec/policy= provider/policyFileProvider/NullCases.java=C2=A0Wed=C2=A0Nov=C2=A025=C2=A00= 3:44:21=C2=A02015=C2=A0 =0A>=C2=A0@@=C2=A0-112,12=C2=A0+112,24=C2=A0@@=C2= =A0public=C2=A0class=C2=A0NullCases=C2=A0extends=C2=A0PolicyFil=C2=A0 =0A>= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*/=C2=A0 = =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0callGetPerm= issionsNPD();=C2=A0 =0A>=C2=A0=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0/*=C2=A0(Greg=C2=A0Trasuk=C2=A0-=C2=A020151124)= =C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0The=C2=A0= test=C2=A0below=C2=A0checks=C2=A0that=C2=A0if=C2=A0you=C2=A0call=C2=A0getPe= rmissions(codesource)=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0with=C2=A0a=C2=A0null=C2=A0codesource,=C2=A0a=C2=A0NullPo= interException=C2=A0should=C2=A0be=C2=A0thrown.=C2=A0=C2=A0The=C2=A0 =0A>= =C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0implementation=C2=A0= of=C2=A0it=C2=A0relies=C2=A0not=C2=A0with=C2=A0DynamicPolicyProvider=C2=A0but=C2=A0with=C2=A0the=C2=A0 =0A>=C2=A0+=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0underlying=C2=A0Policy=C2=A0objec= t=C2=A0(java.security.Policy),=C2=A0which=C2=A0used=C2=A0to=C2=A0do=C2=A0ju= st=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0t= hat.=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0However,=C2= =A0this=C2=A0behaviour=C2=A0was=C2=A0reported=C2=A0as=C2=A0a=C2=A0bug=C2=A0= in=C2=A0JDK-7147830=C2=A0=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0(2012-02-22),=C2=A0and=C2=A0resolved=C2=A0in=C2=A0in=C2= =A0JDK8,=C2=A0as=C2=A0of=C2=A02012-07-17.=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0So=C2=A0it's=C2=A0no=C2=A0longer=C2=A0appr= opriate=C2=A0to=C2=A0do=C2=A0this=C2=A0test.=C2=A0=C2=A0Commented=C2=A0out= =C2=A0for=C2=A0now,=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0remove=C2=A0it=C2=A0completely=C2=A0if=C2=A0you=C2=A0happen=C2= =A0to=C2=A0see=C2=A0this=C2=A0far=C2=A0in=C2=A0the=C2=A0future.=C2=A0 =0A>= =C2=A0+=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*/=C2=A0 =0A>=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/*=C2=A0 =0A>=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0Call=C2= =A0getPermissions()=C2=A0passing=C2=A0null=C2=A0as=C2=A0CodeSource=C2=A0 = =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2= =A0and=C2=A0verify=C2=A0that=C2=A0NullPointerException=C2=A0is=C2=A0thrown;= =C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0*/=C2=A0 =0A>=C2=A0-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0msg= =C2=A0=3D=C2=A0"policy.getPermissions((CodeSource)=C2=A0null)";=C2=A0 =0A>= =C2=A0-=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0callGetPermissionsNP= E((CodeSource)=C2=A0null,=C2=A0msg);=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0//msg=C2=A0=3D=C2=A0"policygetPermissions((CodeSource)=C2=A0null)";=C2=A0 =0A>=C2=A0+=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//callGetPermissionsNPE((CodeSource)=C2=A0nul= l,=C2=A0msg);=C2=A0 =0A>=C2=A0=C2=A0=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/*=C2=A0 =0A>=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0Call=C2=A0policy.implies(null= ,=C2=A0null)=C2=A0 =0A>=C2=A0 =0A>=C2=A0 =0A>=C2=A0 =0A=0A --8323328-1473932834-1448486725=:1366--