[jboss-cvs] JBossAS SVN: r112652 - projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 16 03:54:07 EST 2012


Author: pskopek at redhat.com
Date: 2012-02-16 03:54:07 -0500 (Thu, 16 Feb 2012)
New Revision: 112652

Modified:
   projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java
Log:
pdp.war from picketlink was not able to deploy on AS7.
Fixing classloader and directory recognition.
Exception was: java.lang.RuntimeException: java.lang.IllegalArgumentException: URI scheme is not "file"

Modified: projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java
===================================================================
--- projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java	2012-02-15 17:24:58 UTC (rev 112651)
+++ projects/security/security-xacml/trunk/jboss-xacml/src/main/java/org/jboss/security/xacml/core/JBossPDP.java	2012-02-16 08:54:07 UTC (rev 112652)
@@ -122,7 +122,8 @@
    {
       try
       {
-         jaxbContext = JAXBContext.newInstance("org.jboss.security.xacml.jaxb");
+         jaxbContext = JAXBContext.newInstance("org.jboss.security.xacml.jaxb", 
+        		 SecurityActions.getClassLoader(JBossPDP.class));
       }
       catch (JAXBException e)
       {
@@ -584,25 +585,28 @@
       
       if( !result)
       {
-         uri = getResourceViaClassLoader(SecurityActions.getContextClassLoader(), location);
-         if( uri != null)
-         {
-            file = new File( uri ); 
-         } 
-         result = (file !=null && file.isDirectory()); 
+         result = isDirectory(SecurityActions.getContextClassLoader(), location); 
       }
       if( !result)
       { 
-         uri = getResourceViaClassLoader(SecurityActions.getClassLoader(getClass()), location);
-         if( uri != null)
-         {
-            file = new File( uri ); 
-         } 
-         result = (file !=null && file.isDirectory()); 
+         result = isDirectory(SecurityActions.getClassLoader(getClass()), location); 
       }
       return result;
    }
+
    
+   private boolean isDirectory(ClassLoader cl, String location) {
+       File file = null;
+	   URI uri = getResourceViaClassLoader(SecurityActions.getContextClassLoader(), location);
+       if( uri != null)
+       {
+    	  if (uri.getScheme().equals("file")) 
+    	     file = new File(uri); 
+       } 
+       return (file !=null && file.isDirectory()); 
+   }
+   
+   
    private URI getResourceViaClassLoader( ClassLoader cl, String location)
    {
       URL url = cl.getResource(location);



More information about the jboss-cvs-commits mailing list