Author: coheigea
Date: Thu Feb 28 06:28:15 2013
New Revision: 1451113

URL: http://svn.apache.org/r1451113
Log:
Return the default Merlin instance without class loading


Conflicts:
        
ws-security-common/src/main/java/org/apache/wss4j/common/crypto/CryptoFactory.java

Modified:
    
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/CryptoFactory.java

Modified: 
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/CryptoFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/CryptoFactory.java?rev=1451113&r1=1451112&r2=1451113&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/CryptoFactory.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/crypto/CryptoFactory.java
 Thu Feb 28 06:28:15 2013
@@ -37,8 +37,6 @@ import org.apache.wss4j.common.util.Load
 public abstract class CryptoFactory {
     private static final org.apache.commons.logging.Log LOG = 
         org.apache.commons.logging.LogFactory.getLog(CryptoFactory.class);
-    private static final Class<? extends Crypto> DEFAULT_CRYPTO_CLASS = 
-        org.apache.wss4j.common.crypto.Merlin.class;
 
     /**
      * getInstance
@@ -107,7 +105,15 @@ public abstract class CryptoFactory {
         if (cryptoClassName == null 
             || cryptoClassName.equals("org.apache.wss4j.common.crypto.Merlin")
             || 
cryptoClassName.equals("org.apache.ws.security.components.crypto.Merlin")) {
-            cryptoClass = DEFAULT_CRYPTO_CLASS;
+            try {
+                return new Merlin(properties, classLoader);
+            } catch (java.lang.Exception e) {
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Unable to instantiate Merlin", e);
+                }
+                throw new 
WSSecurityException(WSSecurityException.ErrorCode.FAILURE,
+                                              "empty", e, cryptoClass + " 
cannot create instance");
+            }
         } else {
             try {
                 // instruct the class loader to load the crypto implementation


Reply via email to