Taverna 2

Credential manager password dialogue does not work - wrong class name in SPI

Details

  • Familiarity:
    Similar
  • Description:
    Hide

    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.

    Show
    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.

Activity

Hide
Hudson Daemon added a comment - 2010-01-29 11:02

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

Show
Hudson Daemon added a comment - 2010-01-29 11:02 Integrated in net.sf.taverna.t2.ui-components #1195 correct classname
Hide
Hudson Daemon added a comment - 2010-02-04 16:08

Integrated in net.sf.taverna.t2.security #423
T2-698 T2-T2-1094 T2-1124 T2-1127 T2-1129 T2-1134 T2-1137 T2-1143 T2-1145 Updated version numbers to 1.0.1 instead of 1.0.1-SNAPSHOT
T2-698 T2-T2-1094 T2-1124 T2-1127 T2-1129 T2-1134 T2-1137 T2-1143 T2-1145 patches for 2.1.1

Show
Hudson Daemon added a comment - 2010-02-04 16:08 Integrated in net.sf.taverna.t2.security #423 T2-698 T2-T2-1094 T2-1124 T2-1127 T2-1129 T2-1134 T2-1137 T2-1143 T2-1145 Updated version numbers to 1.0.1 instead of 1.0.1-SNAPSHOT T2-698 T2-T2-1094 T2-1124 T2-1127 T2-1129 T2-1134 T2-1137 T2-1143 T2-1145 patches for 2.1.1
Hide
Alan Williams added a comment - 2010-03-05 15:53

Tagging was messed up in the patch

Show
Alan Williams added a comment - 2010-03-05 15:53 Tagging was messed up in the patch
Hide
Alan Williams added a comment - 2010-03-30 11:26

There is now net.sf.taverna.t2.security.credentialmanager.CredentialProviderSPI
The services information for that interface are correct

Show
Alan Williams added a comment - 2010-03-30 11:26 There is now net.sf.taverna.t2.security.credentialmanager.CredentialProviderSPI The services information for that interface are correct

People

Dates

  • Created:
    2010-01-29 10:51
    Updated:
    2010-03-30 11:26
    Resolved:
    2010-03-09 11:45

Time Tracking

Estimated:
30m
Original Estimate - 30 minutes
Remaining:
30m
Remaining Estimate - 30 minutes
Logged:
Not Specified
Time Spent - Not Specified