You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Lenny Primak <lp...@hope.nyc.ny.us> on 2011/07/13 04:15:32 UTC

JPA Integration 5.3.0 with Primary Key Entity Classes Fails

Well, I am going in deeper into the JPA integration, and 
I am faced with another problem.

Single Persistence Unit this time, Glassfish 3,1
This used to work with Tynamo JPA as well.
Everything works until I introduce a primary key entity reference such as this:

Thanks!


--------------- Main Entity --------------------------

/**
 *
 * @author lprimak
 */
@Entity
@Table(name = "webstats")
@XmlRootElement
@NamedQueries(
{
...
})

@Data
public class WebStats implements Serializable
{
    public String getDate()
    {
        return webStatsPK.getSdate();
    }

    
    public String getStatisticName()
    {
        return webStatsPK.getSName();
    }

    
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected WebStatsPK webStatsPK;
    @Basic(optional = false)
    @NotNull
    @Column(name = "nvisit")
    private long nvisit;
    @Column(name = "ncarrier")
    private Long ncarrier;
    @Column(name = "ntrack")
    private Long ntrack;
    @Column(name = "nadmin")
    private Long nadmin;
    @Column(name = "nother")
    private Long nother;

    public WebStats()
    {
    }

    public WebStats(WebStatsPK webstatsPK)
    {
        this.webStatsPK = webstatsPK;
    }

    public WebStats(WebStatsPK webstatsPK, long nvisit)
    {
        this.webStatsPK = webstatsPK;
        this.nvisit = nvisit;
    }

    public WebStats(String sdate, String sName)
    {
        this.webStatsPK = new WebStatsPK(sdate, sName);
    }
}
--------------------- Embedded Primary Key -----------------------
/**
 *
 * @author lprimak
 */
@Embeddable
@Data
public class WebStatsPK implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 8)
    @Column(name = "sdate")
    private String sdate;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 50)
    @Column(name = "sName")
    private String sName;

    public WebStatsPK()
    {
    }

    public WebStatsPK(String sdate, String sName)
    {
        this.sdate = sdate;
        this.sName = sName;
    }    
}
----------------------------------------------------

Here is the error:
SEVERE: Error invoking service contribution method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource): The type [null] is not the expected [EntityType] for the key class [class com.flowlogix.website.entities.WebStatsPK].
SEVERE: Operations trace:
SEVERE: [ 1] Constructing instance of page class org.apache.tapestry5.corelib.pages.ExceptionReport
SEVERE: [ 2] Realizing service ValueEncoderSource
SEVERE: [ 3] Invoking org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337)
SEVERE: [ 4] Invoking org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337)
SEVERE: [ 5] Determining injection value for parameter #1 (java.util.Map)
SEVERE: [ 6] Collecting mapped configuration for service ValueEncoderSource
SEVERE: [ 7] Invoking method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource) (at JpaModule.java:180).
SEVERE: Construction of service ValueEncoderSource failed: Error invoking service builder method org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337) (for service 'ValueEncoderSource'): Error invoking service contribution method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource): The type [null] is not the expected [EntityType] for the key class [class com.flowlogix.website.entities.WebStatsPK].
java.lang.RuntimeException: Error invoking service builder method org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map, InvalidationEventHub) (at TapestryModule.java:2337) (for service 'ValueEncoderSource'): Error invoking service contribution method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource): The type [null] is not the expected [EntityType] for the key class [class com.flowlogix.website.entities.WebStatsPK].
	at org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker$1.invoke(ServiceBuilderMethodInvoker.java:80)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
	at org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:52)
	at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
	at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
	at org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
	at org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
	at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63)
	at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
	at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
	at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
	at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
	at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68)
	at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:56)
	at $ValueEncoderSource_122fe8e54dee78bf.delegate(Unknown Source)
	at $ValueEncoderSource_122fe8e54dee78bf.getValueEncoder(Unknown Source)
	at org.apache.tapestry5.internal.services.ComponentDefaultProviderImpl.defaultValueEncoder(ComponentDefaultProviderImpl.java:124)
	at $ComponentDefaultProvider_122fe8e54dee78c4.defaultValueEncoder(Unknown Source)
	at org.apache.tapestry5.corelib.components.Loop.defaultEncoder(Loop.java:311)
	at org.apache.tapestry5.corelib.components.Loop$Shim_122fe8e54dee795d.invoke(Unknown Source)
	at org.apache.tapestry5.internal.plastic.MethodHandleImpl.invoke(MethodHandleImpl.java:48)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodHandleAsMethodAccess.invoke(BridgeClassTransformation.java:84)
	at org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:109)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
	at org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
	at org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
	at org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:115)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
	at org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
	at org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
	at org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at org.apache.tapestry5.corelib.components.Loop.containingPageDidLoad(Loop.java)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:135)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:1023)
	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:858)
	at org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:173)
	at org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:221)
	at org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:206)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
	at org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:205)
	at $PageLoader_122fe8e54dee78a2.loadPage(Unknown Source)
	at org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:87)
	at $PageSource_122fe8e54dee78a1.getPage(Unknown Source)
	at org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:83)
	at $RequestPageCache_122fe8e54dee78a0.get(Unknown Source)
	at $RequestPageCache_122fe8e54dee789a.get(Unknown Source)
	at org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:77)
	at $RequestExceptionHandler_122fe8e54dee79e5.advised$handleRequestException_122fe8e54dee79e7(Unknown Source)
	at $RequestExceptionHandler_122fe8e54dee79e5$Invocation_handleRequestException_122fe8e54dee79e6.proceedToAdvisedMethod(Unknown Source)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:84)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils$19$1.proceed(InternalUtils.java:1384)
	at org.tynamo.security.services.SecurityModule$3.advise(SecurityModule.java:258)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils$19.advise(InternalUtils.java:1448)
	at org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
	at $RequestExceptionHandler_122fe8e54dee79e5.handleRequestException(Unknown Source)
	at $RequestExceptionHandler_122fe8e54dee787b.handleRequestException(Unknown Source)
	at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
	at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:1055)
	at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:1045)
	at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
	at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
	at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
	at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
	at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
	at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
	at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
	at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
	at $RequestHandler_122fe8e54dee7871.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:385)
	at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
	at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown Source)
	at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
	at $HttpServletRequestFilter_122fe8e54dee7870.service(Unknown Source)
	at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown Source)
	at org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:1005)
	at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown Source)
	at org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344)
	at org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102)
	at $HttpServletRequestFilter_122fe8e54dee786e.service(Unknown Source)
	at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown Source)
	at $HttpServletRequestHandler_122fe8e54dee786d.service(Unknown Source)
	at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.tapestry5.ioc.internal.OperationException: Error invoking service contribution method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource): The type [null] is not the expected [EntityType] for the key class [class com.flowlogix.website.entities.WebStatsPK].
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:102)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:69)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.addToMappedConfiguration(RegistryImpl.java:595)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.getMappedConfiguration(RegistryImpl.java:546)
	at org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$3.invoke(ServiceResourcesImpl.java:126)
	at org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$3.invoke(ServiceResourcesImpl.java:123)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
	at org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getMappedConfiguration(ServiceResourcesImpl.java:121)
	at org.apache.tapestry5.ioc.internal.AbstractServiceCreator.getMappedConfiguration(AbstractServiceCreator.java:144)
	at org.apache.tapestry5.ioc.internal.AbstractServiceCreator.access$300(AbstractServiceCreator.java:35)
	at org.apache.tapestry5.ioc.internal.AbstractServiceCreator$1.findResource(AbstractServiceCreator.java:107)
	at org.apache.tapestry5.ioc.internal.util.DelegatingInjectionResources.findResource(DelegatingInjectionResources.java:38)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:272)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:97)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:321)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
	at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:325)
	at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:288)
	at org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker$1.invoke(ServiceBuilderMethodInvoker.java:62)
	... 136 more
Caused by: java.lang.RuntimeException: Error invoking service contribution method org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration, boolean, EntityManagerSource, EntityManagerManager, TypeCoercer, PropertyAccess, LoggerSource): The type [null] is not the expected [EntityType] for the key class [class com.flowlogix.website.entities.WebStatsPK].
	at org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:134)
	at org.apache.tapestry5.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:88)
	at org.apache.tapestry5.ioc.internal.RegistryImpl$7.run(RegistryImpl.java:599)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
	at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
	... 159 more
Caused by: java.lang.IllegalArgumentException: The type [null] is not the expected [EntityType] for the key class [class com.flowlogix.website.entities.WebStatsPK].
	at org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:160)
	at org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(JpaModule.java:193)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:122)
	... 164 more



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: JPA Integration 5.3.0 with Primary Key Entity Classes Fails

Posted by Lenny Primak <lp...@hope.nyc.ny.us>.
It was working with Tynamo I swear :). 
I will file a JIRA shortly. 
The entity beans were generated by NetBeans. 
I believe if the computer can generate these than the default value encoders should be able to handle it. 
It would suck to generate all that boilerplate for every entity. I am using all this stuff to get rid of boilerplate. 
 Perhaps an annotation would work here?
Some easier way that doesn't involve copying and pasting code?  Thanks again for all your help. 
Also this error doesn't even show nice tapestry exception page either. I like that page. 

On Jul 13, 2011, at 3:02 AM, Igor Drobiazko <ig...@gmail.com> wrote:

> Looks like Tapestry recognized WebStatsPK as an entity. I think I know where
> the problem is. Would you mind to fill a JIRA issue?
> 
> But there is also a problem with your code. Auto-generating ValueEncoders
> never worked with Hibernate integration library nor Tynamo's JPA module. It
> only works for single valued primary key. If you are using embeddable key,
> you need to provide your own ValueEncoder for the particular entity.
> 
> On Wed, Jul 13, 2011 at 4:15 AM, Lenny Primak <lp...@hope.nyc.ny.us>wrote:
> 
>> Well, I am going in deeper into the JPA integration, and
>> I am faced with another problem.
>> 
>> Single Persistence Unit this time, Glassfish 3,1
>> This used to work with Tynamo JPA as well.
>> Everything works until I introduce a primary key entity reference such as
>> this:
>> 
>> Thanks!
>> 
>> 
>> --------------- Main Entity --------------------------
>> 
>> /**
>> *
>> * @author lprimak
>> */
>> @Entity
>> @Table(name = "webstats")
>> @XmlRootElement
>> @NamedQueries(
>> {
>> ...
>> })
>> 
>> @Data
>> public class WebStats implements Serializable
>> {
>>   public String getDate()
>>   {
>>       return webStatsPK.getSdate();
>>   }
>> 
>> 
>>   public String getStatisticName()
>>   {
>>       return webStatsPK.getSName();
>>   }
>> 
>> 
>>   private static final long serialVersionUID = 1L;
>>   @EmbeddedId
>>   protected WebStatsPK webStatsPK;
>>   @Basic(optional = false)
>>   @NotNull
>>   @Column(name = "nvisit")
>>   private long nvisit;
>>   @Column(name = "ncarrier")
>>   private Long ncarrier;
>>   @Column(name = "ntrack")
>>   private Long ntrack;
>>   @Column(name = "nadmin")
>>   private Long nadmin;
>>   @Column(name = "nother")
>>   private Long nother;
>> 
>>   public WebStats()
>>   {
>>   }
>> 
>>   public WebStats(WebStatsPK webstatsPK)
>>   {
>>       this.webStatsPK = webstatsPK;
>>   }
>> 
>>   public WebStats(WebStatsPK webstatsPK, long nvisit)
>>   {
>>       this.webStatsPK = webstatsPK;
>>       this.nvisit = nvisit;
>>   }
>> 
>>   public WebStats(String sdate, String sName)
>>   {
>>       this.webStatsPK = new WebStatsPK(sdate, sName);
>>   }
>> }
>> --------------------- Embedded Primary Key -----------------------
>> /**
>> *
>> * @author lprimak
>> */
>> @Embeddable
>> @Data
>> public class WebStatsPK implements Serializable
>> {
>>   /**
>>    *
>>    */
>>   private static final long serialVersionUID = 1L;
>>   @Basic(optional = false)
>>   @NotNull
>>   @Size(min = 1, max = 8)
>>   @Column(name = "sdate")
>>   private String sdate;
>>   @Basic(optional = false)
>>   @NotNull
>>   @Size(min = 1, max = 50)
>>   @Column(name = "sName")
>>   private String sName;
>> 
>>   public WebStatsPK()
>>   {
>>   }
>> 
>>   public WebStatsPK(String sdate, String sName)
>>   {
>>       this.sdate = sdate;
>>       this.sName = sName;
>>   }
>> }
>> ----------------------------------------------------
>> 
>> Here is the error:
>> SEVERE: Error invoking service contribution method
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
>> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
>> PropertyAccess, LoggerSource): The type [null] is not the expected
>> [EntityType] for the key class [class
>> com.flowlogix.website.entities.WebStatsPK].
>> SEVERE: Operations trace:
>> SEVERE: [ 1] Constructing instance of page class
>> org.apache.tapestry5.corelib.pages.ExceptionReport
>> SEVERE: [ 2] Realizing service ValueEncoderSource
>> SEVERE: [ 3] Invoking
>> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
>> InvalidationEventHub) (at TapestryModule.java:2337)
>> SEVERE: [ 4] Invoking
>> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
>> InvalidationEventHub) (at TapestryModule.java:2337)
>> SEVERE: [ 5] Determining injection value for parameter #1 (java.util.Map)
>> SEVERE: [ 6] Collecting mapped configuration for service ValueEncoderSource
>> SEVERE: [ 7] Invoking method
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
>> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
>> PropertyAccess, LoggerSource) (at JpaModule.java:180).
>> SEVERE: Construction of service ValueEncoderSource failed: Error invoking
>> service builder method
>> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
>> InvalidationEventHub) (at TapestryModule.java:2337) (for service
>> 'ValueEncoderSource'): Error invoking service contribution method
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
>> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
>> PropertyAccess, LoggerSource): The type [null] is not the expected
>> [EntityType] for the key class [class
>> com.flowlogix.website.entities.WebStatsPK].
>> java.lang.RuntimeException: Error invoking service builder method
>> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
>> InvalidationEventHub) (at TapestryModule.java:2337) (for service
>> 'ValueEncoderSource'): Error invoking service contribution method
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
>> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
>> PropertyAccess, LoggerSource): The type [null] is not the expected
>> [EntityType] for the key class [class
>> com.flowlogix.website.entities.WebStatsPK].
>>       at
>> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker$1.invoke(ServiceBuilderMethodInvoker.java:80)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>>       at
>> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:52)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
>>       at
>> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
>>       at
>> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
>>       at
>> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63)
>>       at
>> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
>>       at
>> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
>>       at
>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:56)
>>       at $ValueEncoderSource_122fe8e54dee78bf.delegate(Unknown Source)
>>       at $ValueEncoderSource_122fe8e54dee78bf.getValueEncoder(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.internal.services.ComponentDefaultProviderImpl.defaultValueEncoder(ComponentDefaultProviderImpl.java:124)
>>       at
>> $ComponentDefaultProvider_122fe8e54dee78c4.defaultValueEncoder(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.corelib.components.Loop.defaultEncoder(Loop.java:311)
>>       at
>> org.apache.tapestry5.corelib.components.Loop$Shim_122fe8e54dee795d.invoke(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.internal.plastic.MethodHandleImpl.invoke(MethodHandleImpl.java:48)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodHandleAsMethodAccess.invoke(BridgeClassTransformation.java:84)
>>       at
>> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:109)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>>       at
>> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>>       at
>> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>>       at
>> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:115)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>>       at
>> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>>       at
>> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>>       at
>> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> org.apache.tapestry5.corelib.components.Loop.containingPageDidLoad(Loop.java)
>>       at
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:135)
>>       at
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:1023)
>>       at
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:858)
>>       at
>> org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:173)
>>       at
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:221)
>>       at
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:206)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>>       at
>> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:205)
>>       at $PageLoader_122fe8e54dee78a2.loadPage(Unknown Source)
>>       at
>> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:87)
>>       at $PageSource_122fe8e54dee78a1.getPage(Unknown Source)
>>       at
>> org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:83)
>>       at $RequestPageCache_122fe8e54dee78a0.get(Unknown Source)
>>       at $RequestPageCache_122fe8e54dee789a.get(Unknown Source)
>>       at
>> org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:77)
>>       at
>> $RequestExceptionHandler_122fe8e54dee79e5.advised$handleRequestException_122fe8e54dee79e7(Unknown
>> Source)
>>       at
>> $RequestExceptionHandler_122fe8e54dee79e5$Invocation_handleRequestException_122fe8e54dee79e6.proceedToAdvisedMethod(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:84)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils$19$1.proceed(InternalUtils.java:1384)
>>       at
>> org.tynamo.security.services.SecurityModule$3.advise(SecurityModule.java:258)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils$19.advise(InternalUtils.java:1448)
>>       at
>> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>>       at
>> $RequestExceptionHandler_122fe8e54dee79e5.handleRequestException(Unknown
>> Source)
>>       at
>> $RequestExceptionHandler_122fe8e54dee787b.handleRequestException(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
>>       at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>>       at
>> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:1055)
>>       at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>>       at
>> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:1045)
>>       at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>>       at
>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
>>       at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>>       at
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
>>       at
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
>>       at
>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>>       at
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
>>       at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>>       at $RequestHandler_122fe8e54dee7871.service(Unknown Source)
>>       at
>> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:385)
>>       at
>> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
>>       at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>>       at $HttpServletRequestFilter_122fe8e54dee7870.service(Unknown
>> Source)
>>       at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:1005)
>>       at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
>> Source)
>>       at
>> org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104)
>>       at
>> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>>       at
>> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>>       at
>> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344)
>>       at
>> org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102)
>>       at $HttpServletRequestFilter_122fe8e54dee786e.service(Unknown
>> Source)
>>       at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
>> Source)
>>       at $HttpServletRequestHandler_122fe8e54dee786d.service(Unknown
>> Source)
>>       at
>> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
>>       at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>>       at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>>       at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
>>       at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>>       at
>> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
>>       at
>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
>>       at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
>>       at
>> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
>>       at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
>>       at
>> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
>>       at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
>>       at
>> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
>>       at
>> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
>>       at
>> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
>>       at
>> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
>>       at
>> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
>>       at
>> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
>>       at
>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
>>       at
>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
>>       at
>> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
>>       at
>> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
>>       at
>> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
>>       at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
>>       at
>> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
>>       at
>> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
>>       at java.lang.Thread.run(Thread.java:680)
>> Caused by: org.apache.tapestry5.ioc.internal.OperationException: Error
>> invoking service contribution method
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
>> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
>> PropertyAccess, LoggerSource): The type [null] is not the expected
>> [EntityType] for the key class [class
>> com.flowlogix.website.entities.WebStatsPK].
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:102)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:69)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.addToMappedConfiguration(RegistryImpl.java:595)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.getMappedConfiguration(RegistryImpl.java:546)
>>       at
>> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$3.invoke(ServiceResourcesImpl.java:126)
>>       at
>> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$3.invoke(ServiceResourcesImpl.java:123)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>>       at
>> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getMappedConfiguration(ServiceResourcesImpl.java:121)
>>       at
>> org.apache.tapestry5.ioc.internal.AbstractServiceCreator.getMappedConfiguration(AbstractServiceCreator.java:144)
>>       at
>> org.apache.tapestry5.ioc.internal.AbstractServiceCreator.access$300(AbstractServiceCreator.java:35)
>>       at
>> org.apache.tapestry5.ioc.internal.AbstractServiceCreator$1.findResource(AbstractServiceCreator.java:107)
>>       at
>> org.apache.tapestry5.ioc.internal.util.DelegatingInjectionResources.findResource(DelegatingInjectionResources.java:38)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:272)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:97)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:321)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       at
>> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:325)
>>       at
>> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:288)
>>       at
>> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker$1.invoke(ServiceBuilderMethodInvoker.java:62)
>>       ... 136 more
>> Caused by: java.lang.RuntimeException: Error invoking service contribution
>> method
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
>> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
>> PropertyAccess, LoggerSource): The type [null] is not the expected
>> [EntityType] for the key class [class
>> com.flowlogix.website.entities.WebStatsPK].
>>       at
>> org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:134)
>>       at
>> org.apache.tapestry5.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:88)
>>       at
>> org.apache.tapestry5.ioc.internal.RegistryImpl$7.run(RegistryImpl.java:599)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
>>       at
>> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>>       ... 159 more
>> Caused by: java.lang.IllegalArgumentException: The type [null] is not the
>> expected [EntityType] for the key class [class
>> com.flowlogix.website.entities.WebStatsPK].
>>       at
>> org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:160)
>>       at
>> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(JpaModule.java:193)
>>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>       at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>       at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>       at java.lang.reflect.Method.invoke(Method.java:597)
>>       at
>> org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:122)
>>       ... 164 more
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>> 
>> 
> 
> 
> -- 
> Best regards,
> 
> Igor Drobiazko
> http://tapestry5.de

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: JPA Integration 5.3.0 with Primary Key Entity Classes Fails

Posted by Igor Drobiazko <ig...@gmail.com>.
Looks like Tapestry recognized WebStatsPK as an entity. I think I know where
the problem is. Would you mind to fill a JIRA issue?

But there is also a problem with your code. Auto-generating ValueEncoders
never worked with Hibernate integration library nor Tynamo's JPA module. It
only works for single valued primary key. If you are using embeddable key,
you need to provide your own ValueEncoder for the particular entity.

On Wed, Jul 13, 2011 at 4:15 AM, Lenny Primak <lp...@hope.nyc.ny.us>wrote:

> Well, I am going in deeper into the JPA integration, and
> I am faced with another problem.
>
> Single Persistence Unit this time, Glassfish 3,1
> This used to work with Tynamo JPA as well.
> Everything works until I introduce a primary key entity reference such as
> this:
>
> Thanks!
>
>
> --------------- Main Entity --------------------------
>
> /**
>  *
>  * @author lprimak
>  */
> @Entity
> @Table(name = "webstats")
> @XmlRootElement
> @NamedQueries(
> {
> ...
> })
>
> @Data
> public class WebStats implements Serializable
> {
>    public String getDate()
>    {
>        return webStatsPK.getSdate();
>    }
>
>
>    public String getStatisticName()
>    {
>        return webStatsPK.getSName();
>    }
>
>
>    private static final long serialVersionUID = 1L;
>    @EmbeddedId
>    protected WebStatsPK webStatsPK;
>    @Basic(optional = false)
>    @NotNull
>    @Column(name = "nvisit")
>    private long nvisit;
>    @Column(name = "ncarrier")
>    private Long ncarrier;
>    @Column(name = "ntrack")
>    private Long ntrack;
>    @Column(name = "nadmin")
>    private Long nadmin;
>    @Column(name = "nother")
>    private Long nother;
>
>    public WebStats()
>    {
>    }
>
>    public WebStats(WebStatsPK webstatsPK)
>    {
>        this.webStatsPK = webstatsPK;
>    }
>
>    public WebStats(WebStatsPK webstatsPK, long nvisit)
>    {
>        this.webStatsPK = webstatsPK;
>        this.nvisit = nvisit;
>    }
>
>    public WebStats(String sdate, String sName)
>    {
>        this.webStatsPK = new WebStatsPK(sdate, sName);
>    }
> }
> --------------------- Embedded Primary Key -----------------------
> /**
>  *
>  * @author lprimak
>  */
> @Embeddable
> @Data
> public class WebStatsPK implements Serializable
> {
>    /**
>     *
>     */
>    private static final long serialVersionUID = 1L;
>    @Basic(optional = false)
>    @NotNull
>    @Size(min = 1, max = 8)
>    @Column(name = "sdate")
>    private String sdate;
>    @Basic(optional = false)
>    @NotNull
>    @Size(min = 1, max = 50)
>    @Column(name = "sName")
>    private String sName;
>
>    public WebStatsPK()
>    {
>    }
>
>    public WebStatsPK(String sdate, String sName)
>    {
>        this.sdate = sdate;
>        this.sName = sName;
>    }
> }
> ----------------------------------------------------
>
> Here is the error:
> SEVERE: Error invoking service contribution method
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
> PropertyAccess, LoggerSource): The type [null] is not the expected
> [EntityType] for the key class [class
> com.flowlogix.website.entities.WebStatsPK].
> SEVERE: Operations trace:
> SEVERE: [ 1] Constructing instance of page class
> org.apache.tapestry5.corelib.pages.ExceptionReport
> SEVERE: [ 2] Realizing service ValueEncoderSource
> SEVERE: [ 3] Invoking
> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
> InvalidationEventHub) (at TapestryModule.java:2337)
> SEVERE: [ 4] Invoking
> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
> InvalidationEventHub) (at TapestryModule.java:2337)
> SEVERE: [ 5] Determining injection value for parameter #1 (java.util.Map)
> SEVERE: [ 6] Collecting mapped configuration for service ValueEncoderSource
> SEVERE: [ 7] Invoking method
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
> PropertyAccess, LoggerSource) (at JpaModule.java:180).
> SEVERE: Construction of service ValueEncoderSource failed: Error invoking
> service builder method
> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
> InvalidationEventHub) (at TapestryModule.java:2337) (for service
> 'ValueEncoderSource'): Error invoking service contribution method
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
> PropertyAccess, LoggerSource): The type [null] is not the expected
> [EntityType] for the key class [class
> com.flowlogix.website.entities.WebStatsPK].
> java.lang.RuntimeException: Error invoking service builder method
> org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
> InvalidationEventHub) (at TapestryModule.java:2337) (for service
> 'ValueEncoderSource'): Error invoking service contribution method
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
> PropertyAccess, LoggerSource): The type [null] is not the expected
> [EntityType] for the key class [class
> com.flowlogix.website.entities.WebStatsPK].
>        at
> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker$1.invoke(ServiceBuilderMethodInvoker.java:80)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>        at
> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:52)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
>        at
> org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29)
>        at
> org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46)
>        at
> org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:63)
>        at
> org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
>        at
> org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49)
>        at
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68)
>        at
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:56)
>        at $ValueEncoderSource_122fe8e54dee78bf.delegate(Unknown Source)
>        at $ValueEncoderSource_122fe8e54dee78bf.getValueEncoder(Unknown
> Source)
>        at
> org.apache.tapestry5.internal.services.ComponentDefaultProviderImpl.defaultValueEncoder(ComponentDefaultProviderImpl.java:124)
>        at
> $ComponentDefaultProvider_122fe8e54dee78c4.defaultValueEncoder(Unknown
> Source)
>        at
> org.apache.tapestry5.corelib.components.Loop.defaultEncoder(Loop.java:311)
>        at
> org.apache.tapestry5.corelib.components.Loop$Shim_122fe8e54dee795d.invoke(Unknown
> Source)
>        at
> org.apache.tapestry5.internal.plastic.MethodHandleImpl.invoke(MethodHandleImpl.java:48)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodHandleAsMethodAccess.invoke(BridgeClassTransformation.java:84)
>        at
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:109)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>        at
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>        at
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>        at
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeParameterDefaultMethod.advise(ParameterWorker.java:115)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>        at
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice$1.proceed(BridgeClassTransformation.java:362)
>        at
> org.apache.tapestry5.internal.transform.ParameterWorker$InvokeLoadOnParmeterConduit.advise(ParameterWorker.java:132)
>        at
> org.apache.tapestry5.internal.transform.BridgeClassTransformation$WrapMethodAdviceAsComponentMethodAdvice.advise(BridgeClassTransformation.java:348)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> org.apache.tapestry5.corelib.components.Loop.containingPageDidLoad(Loop.java)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$4.run(ComponentPageElementImpl.java:135)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:1023)
>        at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidLoad(ComponentPageElementImpl.java:858)
>        at
> org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:173)
>        at
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:221)
>        at
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:206)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>        at
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:205)
>        at $PageLoader_122fe8e54dee78a2.loadPage(Unknown Source)
>        at
> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:87)
>        at $PageSource_122fe8e54dee78a1.getPage(Unknown Source)
>        at
> org.apache.tapestry5.internal.services.NonPoolingRequestPageCacheImpl.get(NonPoolingRequestPageCacheImpl.java:83)
>        at $RequestPageCache_122fe8e54dee78a0.get(Unknown Source)
>        at $RequestPageCache_122fe8e54dee789a.get(Unknown Source)
>        at
> org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:77)
>        at
> $RequestExceptionHandler_122fe8e54dee79e5.advised$handleRequestException_122fe8e54dee79e7(Unknown
> Source)
>        at
> $RequestExceptionHandler_122fe8e54dee79e5$Invocation_handleRequestException_122fe8e54dee79e6.proceedToAdvisedMethod(Unknown
> Source)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:84)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$19$1.proceed(InternalUtils.java:1384)
>        at
> org.tynamo.security.services.SecurityModule$3.advise(SecurityModule.java:258)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$19.advise(InternalUtils.java:1448)
>        at
> org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86)
>        at
> $RequestExceptionHandler_122fe8e54dee79e5.handleRequestException(Unknown
> Source)
>        at
> $RequestExceptionHandler_122fe8e54dee787b.handleRequestException(Unknown
> Source)
>        at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
>        at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>        at
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:1055)
>        at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>        at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:1045)
>        at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>        at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
>        at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>        at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
>        at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
>        at
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>        at
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
>        at $RequestHandler_122fe8e54dee787d.service(Unknown Source)
>        at $RequestHandler_122fe8e54dee7871.service(Unknown Source)
>        at
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:385)
>        at
> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
>        at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
> Source)
>        at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>        at $HttpServletRequestFilter_122fe8e54dee7870.service(Unknown
> Source)
>        at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
> Source)
>        at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:1005)
>        at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
> Source)
>        at
> org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104)
>        at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>        at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>        at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344)
>        at
> org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102)
>        at $HttpServletRequestFilter_122fe8e54dee786e.service(Unknown
> Source)
>        at $HttpServletRequestHandler_122fe8e54dee7873.service(Unknown
> Source)
>        at $HttpServletRequestHandler_122fe8e54dee786d.service(Unknown
> Source)
>        at
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>        at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
>        at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
>        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
>        at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
>        at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
>        at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
>        at
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
>        at
> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
>        at
> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
>        at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
>        at
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
>        at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
>        at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
>        at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
>        at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
>        at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
>        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
>        at
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
>        at
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
>        at java.lang.Thread.run(Thread.java:680)
> Caused by: org.apache.tapestry5.ioc.internal.OperationException: Error
> invoking service contribution method
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
> PropertyAccess, LoggerSource): The type [null] is not the expected
> [EntityType] for the key class [class
> com.flowlogix.website.entities.WebStatsPK].
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:102)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:69)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:46)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.addToMappedConfiguration(RegistryImpl.java:595)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.getMappedConfiguration(RegistryImpl.java:546)
>        at
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$3.invoke(ServiceResourcesImpl.java:126)
>        at
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$3.invoke(ServiceResourcesImpl.java:123)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>        at
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getMappedConfiguration(ServiceResourcesImpl.java:121)
>        at
> org.apache.tapestry5.ioc.internal.AbstractServiceCreator.getMappedConfiguration(AbstractServiceCreator.java:144)
>        at
> org.apache.tapestry5.ioc.internal.AbstractServiceCreator.access$300(AbstractServiceCreator.java:35)
>        at
> org.apache.tapestry5.ioc.internal.AbstractServiceCreator$1.findResource(AbstractServiceCreator.java:107)
>        at
> org.apache.tapestry5.ioc.internal.util.DelegatingInjectionResources.findResource(DelegatingInjectionResources.java:38)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:272)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:97)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:321)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1082)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:325)
>        at
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:288)
>        at
> org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker$1.invoke(ServiceBuilderMethodInvoker.java:62)
>        ... 136 more
> Caused by: java.lang.RuntimeException: Error invoking service contribution
> method
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(MappedConfiguration,
> boolean, EntityManagerSource, EntityManagerManager, TypeCoercer,
> PropertyAccess, LoggerSource): The type [null] is not the expected
> [EntityType] for the key class [class
> com.flowlogix.website.entities.WebStatsPK].
>        at
> org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:134)
>        at
> org.apache.tapestry5.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:88)
>        at
> org.apache.tapestry5.ioc.internal.RegistryImpl$7.run(RegistryImpl.java:599)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:47)
>        at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>        ... 159 more
> Caused by: java.lang.IllegalArgumentException: The type [null] is not the
> expected [EntityType] for the key class [class
> com.flowlogix.website.entities.WebStatsPK].
>        at
> org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:160)
>        at
> org.apache.tapestry5.jpa.JpaModule.provideValueEncoders(JpaModule.java:193)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:122)
>        ... 164 more
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Best regards,

Igor Drobiazko
http://tapestry5.de