You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2011/04/29 14:43:26 UTC
svn commit: r1097795 - in
/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security:
Init.java utils/resolver/ResourceResolver.java
Author: coheigea
Date: Fri Apr 29 12:43:26 2011
New Revision: 1097795
URL: http://svn.apache.org/viewvc?rev=1097795&view=rev
Log:
Some minor changes to the ResourceResolver
Modified:
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java
santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolver.java
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java?rev=1097795&r1=1097794&r2=1097795&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/Init.java Fri Apr 29 12:43:26 2011
@@ -21,7 +21,9 @@ package org.apache.xml.security;
import java.io.InputStream;
import java.security.AccessController;
import java.security.PrivilegedAction;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
@@ -64,6 +66,11 @@ import org.apache.xml.security.utils.Ele
import org.apache.xml.security.utils.I18n;
import org.apache.xml.security.utils.XMLUtils;
import org.apache.xml.security.utils.resolver.ResourceResolver;
+import org.apache.xml.security.utils.resolver.ResourceResolverSpi;
+import org.apache.xml.security.utils.resolver.implementations.ResolverDirectHTTP;
+import org.apache.xml.security.utils.resolver.implementations.ResolverFragment;
+import org.apache.xml.security.utils.resolver.implementations.ResolverLocalFilesystem;
+import org.apache.xml.security.utils.resolver.implementations.ResolverXPointer;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -97,6 +104,8 @@ public class Init {
new HashMap<String, JCEMapper.Algorithm>();
private static Map<String, Class<? extends CanonicalizerSpi>> defaultC14nAlgorithms =
new HashMap<String, Class<? extends CanonicalizerSpi>>();
+ private static List<ResourceResolverSpi> defaultResolverList =
+ new ArrayList<ResourceResolverSpi>();
static {
//
@@ -368,6 +377,14 @@ public class Init {
defaultC14nAlgorithms.put(
Canonicalizer.ALGO_ID_C14N11_WITH_COMMENTS, Canonicalizer11_WithComments.class
);
+
+ //
+ // Default Resolvers
+ //
+ defaultResolverList.add(new ResolverFragment());
+ defaultResolverList.add(new ResolverLocalFilesystem());
+ defaultResolverList.add(new ResolverXPointer());
+ defaultResolverList.add(new ResolverDirectHTTP());
}
/**
@@ -659,7 +676,9 @@ public class Init {
//
// Register the default resolvers
//
- ResourceResolver.registerDefaultResolvers();
+ for (ResourceResolverSpi resourceResolverSpi : defaultResolverList) {
+ ResourceResolver.register(resourceResolverSpi, false);
+ }
} catch (Exception ex) {
log.error(ex);
ex.printStackTrace();
Modified: santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolver.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolver.java?rev=1097795&r1=1097794&r2=1097795&view=diff
==============================================================================
--- santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolver.java (original)
+++ santuario/xml-security-java/trunk/src/main/java/org/apache/xml/security/utils/resolver/ResourceResolver.java Fri Apr 29 12:43:26 2011
@@ -23,10 +23,6 @@ import java.util.List;
import java.util.Map;
import org.apache.xml.security.signature.XMLSignatureInput;
-import org.apache.xml.security.utils.resolver.implementations.ResolverDirectHTTP;
-import org.apache.xml.security.utils.resolver.implementations.ResolverFragment;
-import org.apache.xml.security.utils.resolver.implementations.ResolverLocalFilesystem;
-import org.apache.xml.security.utils.resolver.implementations.ResolverXPointer;
import org.w3c.dom.Attr;
/**
@@ -44,34 +40,12 @@ public class ResourceResolver {
/** these are the system-wide resolvers */
private static List<ResourceResolver> resolverList = new ArrayList<ResourceResolver>();
- private static List<Class<? extends ResourceResolverSpi>> defaultResolverList =
- new ArrayList<Class<? extends ResourceResolverSpi>>();
-
- static {
- defaultResolverList.add(ResolverFragment.class);
- defaultResolverList.add(ResolverLocalFilesystem.class);
- defaultResolverList.add(ResolverXPointer.class);
- defaultResolverList.add(ResolverDirectHTTP.class);
- }
-
/** Field resolverSpi */
private final ResourceResolverSpi resolverSpi;
/**
* Constructor ResourceResolver
*
- * @param className
- * @throws IllegalAccessException
- * @throws InstantiationException
- */
- private ResourceResolver(Class<? extends ResourceResolverSpi> className)
- throws IllegalAccessException, InstantiationException {
- this.resolverSpi = className.newInstance();
- }
-
- /**
- * Constructor ResourceResolver
- *
* @param resourceResolver
*/
public ResourceResolver(ResourceResolverSpi resourceResolver) {
@@ -203,17 +177,8 @@ public class ResourceResolver {
*/
public static void register(Class<ResourceResolverSpi> className, boolean start) {
try {
- ResourceResolver resolver = new ResourceResolver(className);
- synchronized(resolverList) {
- if (start) {
- resolverList.add(0, resolver);
- } else {
- resolverList.add(resolver);
- }
- }
- if (log.isDebugEnabled()) {
- log.debug("Registered resolver: " + className);
- }
+ ResourceResolverSpi resourceResolverSpi = className.newInstance();
+ register(resourceResolverSpi, start);
} catch (IllegalAccessException e) {
log.warn("Error loading resolver " + className + " disabling it");
} catch (InstantiationException e) {
@@ -222,22 +187,24 @@ public class ResourceResolver {
}
/**
- * Register the default ResourceResolvers
+ * Registers a ResourceResolverSpi instance. This method logs a warning if the class
+ * cannot be registered.
+ * @param className
+ * @param start
*/
- public static void registerDefaultResolvers() {
+ public static void register(ResourceResolverSpi resourceResolverSpi, boolean start) {
synchronized(resolverList) {
- for (Class<? extends ResourceResolverSpi> defaultResolverClass : defaultResolverList) {
- try {
- resolverList.add(new ResourceResolver(defaultResolverClass));
- } catch (IllegalAccessException e) {
- log.warn("Error loading resolver " + defaultResolverClass + " disabling it");
- } catch (InstantiationException e) {
- log.warn("Error loading resolver " + defaultResolverClass + " disabling it");
- }
+ if (start) {
+ resolverList.add(0, new ResourceResolver(resourceResolverSpi));
+ } else {
+ resolverList.add(new ResourceResolver(resourceResolverSpi));
}
}
+ if (log.isDebugEnabled()) {
+ log.debug("Registered resolver: " + resourceResolverSpi.toString());
+ }
}
-
+
/**
* Method resolve
*