Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.1.0
-
Fix Version/s: 2.1.2
-
Component/s: Engine - Security and Credential Manager
-
Labels:None
-
Familiarity:Similar
Description
Wei Tan reported this warning (taverna-hackers 2010-01-25) when creating a caGrid activity in 2.1.0:
WARN 2010-01-25 16:40:53,127 (net.sf.taverna.raven.spi.SpiRegistry:85)
- Could not find class net.s
f.taverna.t2.security.credentialmanager.UIMasterPasswordProvider using
loader{net.sf.taverna.t2.tave
rna-workbench.plugins:components-plugin:2.1.0} from 2003979
java.lang.ClassNotFoundException:
net.sf.taverna.t2.security.credentialmanager.UIMasterPasswordProvi
der
at
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClas
sLoader.java:343)
at
net.sf.taverna.raven.repository.impl.LocalArtifactClassLoader.findClass(LocalArtifactClas
sLoader.java:276)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
net.sf.taverna.raven.spi.SpiRegistry.updateRegistry(SpiRegistry.java:274)
at
net.sf.taverna.raven.spi.SpiRegistry.getClasses(SpiRegistry.java:154)
at
net.sf.taverna.raven.spi.InstanceRegistry.getInstances(InstanceRegistry.java:129)
at
net.sf.taverna.t2.spi.SPIRegistry.getInstances(SPIRegistry.java:117)
at
net.sf.taverna.t2.security.credentialmanager.CredentialManager.<init>(CredentialManager.j
ava:185)
at
net.sf.taverna.t2.security.credentialmanager.CredentialManager.getInstance(CredentialMana
ger.java:141)
at
net.sf.taverna.cagrid.activity.CaGridActivity.loadCaGridCAsCertificates(CaGridActivity.ja
va:778)
at
net.sf.taverna.cagrid.activity.CaGridActivity.initializeSecurity(CaGridActivity.java:737)
at
net.sf.taverna.cagrid.activity.CaGridActivity.<clinit>(CaGridActivity.java:126)
It turns out that:
I found the issue, in
credential-manager-ui-1.0.jar\META-INF\services\net.sf.taverna.t2.security.credentialmanager.MasterPasswordProviderSPI
net.sf.taverna.t2.workbench.ui.credentialmanager.UIMasterPasswordProvider
should be
net.sf.taverna.t2.workbench.ui.credentialmanager.password.UIMasterPasswordProvider
That is, you moved the implementation to another package but forgot
to change it in the SPI declaration file
So the correct fix is to update the SPI file to use the correct class name.

Integrated in
net.sf.taverna.t2.ui-components #1195
correct classname