You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Charles Moulliard <cm...@gmail.com> on 2009/12/04 15:55:45 UTC

Fwd: Camel-bam component of Camel

FYI

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard

Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm


---------- Forwarded message ----------
From: James Strachan <ja...@gmail.com>
Date: Thu, Dec 3, 2009 at 1:46 PM
Subject: Re: Camel-bam component of Camel
To: Charles Moulliard <cm...@gmail.com>
Cc: willem.jiang@gmail.com


2009/12/3 Charles Moulliard <cm...@gmail.com>:
> Hi James,
>
> I'm working with Willem on camel-bam and camel-bam-example components of
> Camel because we would like migrate the camel-bam-example to osgi
platform.
>
> I have created a camel-osgi-bam-example using ElipseLink (ex Oracle
TopLink)
> JPA but we are faced to issues in camel-bam component :
>
> Different remarks :
>
> 1) Annotation and java reflection
>
> First of all, the profile -PopenJPA does not work anymore and generate
> errors like this :
>
> An Ant BuildException has occured: <openjpa-1.2.1-r752877:753278 nonfatal
> user error> org.apache.openjpa.util.UserException: Type
> "org.apache.camel.bam.model.ActivityState" attempts to use both field and
> property access. Only one access method is permitted. Field access is used
> on the following fields: [private java.util.Date
> org.apache.camel.bam.model.ActivityState.timeExpected, private
> java.util.Date org.apache.camel.bam.model.ActivityState.timeOverdue].
> Property access is used on the following methods: [public
> org.apache.camel.bam.model.ProcessInstance
> org.apache.camel.bam.model.ActivityState.getProcessInstance(), public
> org.apache.camel.bam.model.ActivityDefinition
> org.apache.camel.bam.model.ActivityState.getActivityDefinition(), public
> java.util.Date org.apache.camel.bam.model.ActivityState.getTimeExpected(),
> public java.util.Date
> org.apache.camel.bam.model.ActivityState.getTimeOverdue(), public
> java.lang.String
> org.apache.camel.bam.model.ActivityState.getCorrelationKey(), public
> java.lang.Long org.apache.camel.bam.model.ActivityState.getId(), public
> java.lang.Long org.apache.camel.bam.model.ActivityState.getId()].
>
> By looking into the code, I see that the code has been modified to be
> Hibernate compliant and some @Annotation have been added on the method or
> field. The following is missing in the EntiySupport class
> (@MappedSuperclass)
>
> 2) Fully Qualified Name
>
> The query generate from camel-bam includes in the select the fully
qualified
> name (extension of Hibernate) which is not supported by JPA spec 1
>
> eg : Exception Description: Syntax error parsing the query [select x from
> org.apache.camel.bam.model.ActivityState x where x.timeOverdue <
:timeNow],
> line
> 1, column 17: syntax error at [.].
> Internal Exception: MismatchedTokenException(83!=78))
>
>
http://old.nabble.com/Eclipselink-query-full-package-entity-name-td23922948.html
>
> Proposition : Can we adapt the code to allow it to become JPA spec 1
> compliant ?

Go for it!: )

--
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/