You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by mu...@apache.org on 2005/12/19 21:50:25 UTC
svn commit: r357790 -
/xml/security/branches/jsr105_0_16/src/javax/xml/crypto/dsig/XMLDSigSecurity.java
Author: mullan
Date: Mon Dec 19 12:50:19 2005
New Revision: 357790
URL: http://svn.apache.org/viewcvs?rev=357790&view=rev
Log:
Avoid computing provider key until needed.
Modified:
xml/security/branches/jsr105_0_16/src/javax/xml/crypto/dsig/XMLDSigSecurity.java
Modified: xml/security/branches/jsr105_0_16/src/javax/xml/crypto/dsig/XMLDSigSecurity.java
URL: http://svn.apache.org/viewcvs/xml/security/branches/jsr105_0_16/src/javax/xml/crypto/dsig/XMLDSigSecurity.java?rev=357790&r1=357789&r2=357790&view=diff
==============================================================================
--- xml/security/branches/jsr105_0_16/src/javax/xml/crypto/dsig/XMLDSigSecurity.java (original)
+++ xml/security/branches/jsr105_0_16/src/javax/xml/crypto/dsig/XMLDSigSecurity.java Mon Dec 19 12:50:19 2005
@@ -59,7 +59,7 @@
* either the direct engine property or a matching alias.
*/
private static ProviderProperty getEngineClassName(String alg,
- Map.Entry attr, String engineType, boolean mech)
+ Map.Entry attr, String engineType, String key, boolean mech)
throws NoSuchAlgorithmException
{
// get all currently installed providers
@@ -72,7 +72,7 @@
for (int i = 0; (i < provs.length) && (!found); i++) {
try {
entry = getEngineClassName
- (alg, attr, engineType, provs[i], mech);
+ (alg, attr, engineType, key, provs[i], mech);
found = true;
} catch (Exception e) {
// do nothing, check the next provider
@@ -94,10 +94,9 @@
* The parameter provider cannot be null.
*/
private static ProviderProperty getEngineClassName(String alg,
- Map.Entry attr, String engineType, Provider provider, boolean mech)
- throws NoSuchAlgorithmException
+ Map.Entry attr, String engineType, String key, Provider provider,
+ boolean mech) throws NoSuchAlgorithmException
{
- String key = engineType + "." + alg;
String className = getProviderProperty(key, attr, provider);
if (className == null) {
// try alg as alias name
@@ -126,13 +125,7 @@
}
private static boolean checkSuperclass(Class subclass, Class superclass) {
- while(!subclass.equals(superclass)) {
- subclass = subclass.getSuperclass();
- if (subclass == null) {
- return false;
- }
- }
- return true;
+ return superclass.isAssignableFrom(subclass);
}
/*
@@ -161,12 +154,14 @@
typeClass = javax.xml.crypto.dsig.TransformService.class;
m = false;
}
+ String key = type + "." + alg;
if (provider == null) {
return doGetImpl
- (type, typeClass, getEngineClassName(alg, attr, type, m), m);
+ (type, typeClass,
+ getEngineClassName(alg, attr, type, key, m), m);
} else {
return doGetImpl
- (type, typeClass, getEngineClassName(alg, attr, type,
+ (type, typeClass, getEngineClassName(alg, attr, type, key,
provider, m), m);
}
}