Bug 1332689

Summary: [GSS](6.4.z) PicketLink should depend on javax.persistence.api
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: dhorton
Component: PicketLinkAssignee: Ivo Studensky <istudens>
Status: CLOSED WONTFIX QA Contact: Josef Cacek <jcacek>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4.7CC: anmiller, bdawidow, istudens, psilva, pskopek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-05 08:47:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description dhorton 2016-05-03 19:17:37 UTC
Description of problem:

PicketLink should depend on javax.persistence.api


Steps to Reproduce:
1.  Configure the PicketLink IDP to use JPA as the TokenRegistry and RevocationRegistry in the picketlink.xml:

<PicketLinkSTS xmlns="urn:picketlink:identity-federation:config:2.1" TokenTimeout="5000" ClockSkew="0">
    <TokenProviders>
        <TokenProvider
            ProviderClass="org.picketlink.identity.federation.core.saml.v1.providers.SAML11AssertionTokenProvider"
            TokenType="urn:oasis:names:tc:SAML:1.0:assertion"
            TokenElement="Assertion" TokenElementNS="urn:oasis:names:tc:SAML:1.0:assertion" />
        <TokenProvider
            ProviderClass="org.picketlink.identity.federation.core.saml.v2.providers.SAML20AssertionTokenProvider"
            TokenType="urn:oasis:names:tc:SAML:2.0:assertion"
            TokenElement="Assertion" TokenElementNS="urn:oasis:names:tc:SAML:2.0:assertion">
                        <Property Key="RevocationRegistry" Value="JPA" />
                        <Property Key="TokenRegistry" Value="JPA" />
                    </TokenProvider>
    </TokenProviders>
</PicketLinkSTS>

2.  Start JBoss 

The following error will be logged:

6:12:44,902 ERROR [org.apache.catalina.core] (ServerService Thread Pool -- 50) JBWEB001097: Error starting context /idp: java.lang.NoClassDefFoundError: javax/persistence/Persistence
        at org.picketlink.identity.federation.core.sts.registry.AbstractJPARegistry.<init>(AbstractJPARegistry.java:43) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.core.sts.registry.AbstractJPARegistry.<init>(AbstractJPARegistry.java:37) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.core.sts.registry.JPABasedTokenRegistry.<init>(JPABasedTokenRegistry.java:40) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.core.sts.AbstractSecurityTokenProvider.initialize(AbstractSecurityTokenProvider.java:97) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.core.saml.v2.providers.SAML20AssertionTokenProvider.initialize(SAML20AssertionTokenProvider.java:77) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.core.wstrust.WSTrustServiceFactory.createTokenProvider(WSTrustServiceFactory.java:99) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.core.wstrust.PicketLinkSTSConfiguration.<init>(PicketLinkSTSConfiguration.java:126) [picketlink-federation.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.bindings.tomcat.idp.AbstractIDPValve.initSTSConfiguration(AbstractIDPValve.java:1483) [picketlink-jbas7.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.bindings.tomcat.idp.AbstractIDPValve.startPicketLink(AbstractIDPValve.java:1562) [picketlink-jbas7.jar:2.5.4.SP7-redhat-1]
        at org.picketlink.identity.federation.bindings.tomcat.idp.IDPWebBrowserSSOValve.start(IDPWebBrowserSSOValve.java:93) [picketlink-jbas7.jar:2.5.4.SP7-redhat-1]
        at org.apache.catalina.core.StandardPipeline.start(StandardPipeline.java:223) [jbossweb.jar:7.5.15.Final-redhat-1]
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3716) [jbossweb.jar:7.5.15.Final-redhat-1]
        at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) [jboss-as-web.jar:7.5.7.Final-redhat-3]
        at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) [jboss-as-web.jar:7.5.7.Final-redhat-3]
        at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) [jboss-as-web.jar:7.5.7.Final-redhat-3]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_85]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_85]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_85]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_85]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_85]
        at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.ClassNotFoundException: javax.persistence.Persistence from [Module "org.picketlink.federation:main" from local module loader @50c4148 (finder: local module finder @6791e08e (roots: /usr/share/jbossas/modules,/usr/share/jbossas/modules/system/layers/base))]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules-1.3.7.Final-redhat-1.jar:1.3.7.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules-1.3.7.Final-redhat-1.jar:1.3.7.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules-1.3.7.Final-redhat-1.jar:1.3.7.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules-1.3.7.Final-redhat-1.jar:1.3.7.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules-1.3.7.Final-redhat-1.jar:1.3.7.Final-redhat-1]
        ... 21 more