You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2006/04/06 08:27:06 UTC

svn commit: r391912 - in /incubator/harmony/enhanced/classlib/trunk/modules/security/src: main/java/common/javax/security/auth/SubjectDomainCombiner.java test/java/common/javax/security/auth/SubjectDomainCombinerTest.java

Author: smishura
Date: Wed Apr  5 23:27:03 2006
New Revision: 391912

URL: http://svn.apache.org/viewcvs?rev=391912&view=rev
Log:
Apply patch HARMONY-219 (new javax.security.auth.SubjectDomainCombiner(null) should throw NPE)

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java
    incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java?rev=391912&r1=391911&r2=391912&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/security/src/main/java/common/javax/security/auth/SubjectDomainCombiner.java Wed Apr  5 23:27:03 2006
@@ -44,6 +44,8 @@
      * @com.intel.drl.spec_ref
      */
     public SubjectDomainCombiner(Subject subject) {
+        if (subject == null)
+            throw new NullPointerException();
         this.subject = subject;
     }
 
@@ -84,15 +86,9 @@
         int cur = 0;
         if (currentDomains != null) {
 
-            Principal[] p;
-            if (subject == null) {
-                p = new Principal[0];
-            } else {
-                Set s = subject.getPrincipals();
-
-                p = new Principal[s.size()];
-                s.toArray(p);
-            }
+            Set s = subject.getPrincipals();
+            Principal[] p = new Principal[s.size()];
+            s.toArray(p);
 
             for (cur = 0; cur < currentDomains.length; cur++) {
                 ProtectionDomain newPD;

Modified: incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java?rev=391912&r1=391911&r2=391912&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/javax/security/auth/SubjectDomainCombinerTest.java Wed Apr  5 23:27:03 2006
@@ -46,9 +46,10 @@
     }
 
     /**
-     * Testing getSubject() & constructor
+     * @tests javax.security.auth.SubjectDomainCombiner#SubjectDomainCombiner(
+     *        javax.security.auth.Subject)
      */
-    public final void testGetSubject() {
+    public final void test_ConstructorLjavax_security_auth_Subject() {
 
         Subject subject = new Subject();
 
@@ -57,14 +58,11 @@
         assertTrue("Subject is not null", subject == combiner.getSubject());
 
         try {
-            combiner = new SubjectDomainCombiner(null);
+            // Regression for HARMONY-219
+            new SubjectDomainCombiner(null);
+            fail("Constructor should throw NullPointerException");
         } catch (NullPointerException e) {
-            if(!testing){
-                throw e;
-            }
-            return;
         }
-        assertNull("Subject is null", combiner.getSubject());
     }
 
     /**
@@ -120,38 +118,6 @@
         // check inherited domains
         pd = combiner.combine(null, new ProtectionDomain[] { domain });
         assertTrue("Inherited domain", domain == pd[0]);
-    }
-
-    public final void testCombine_NullSubject() throws Exception {
-
-        if(testing){
-            return;
-        }
-        
-        SubjectDomainCombiner combiner = new SubjectDomainCombiner(null);
-
-        // check assigned principals
-        URL url = new URL("file://foo.txt");
-
-        CodeSource source = new CodeSource(url, (Certificate[]) null);
-        PermissionCollection permissions = new Permissions();
-        ClassLoader classLoader = new URLClassLoader(new URL[] { url });
-
-        Principal p = new Principal() {
-            public String getName() {
-                return "p";
-            }
-        };
-        Principal[] principals = new Principal[] { p };
-
-        ProtectionDomain domain = new ProtectionDomain(source, permissions,
-                classLoader, principals);
-
-        ProtectionDomain[] pd = combiner.combine(
-                new ProtectionDomain[] { domain }, null);
-        
-        assertTrue("Size", pd[0].getPrincipals().length==0);
-
     }
 
     public final void testSecurityException() {