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