I checked the source code and the error seems to be raised from here
private <T> T withLogging(PersistenceCapable pojo, Callable<T>
runnable, CalledFrom calledFrom) {
> if (LOG.isDebugEnabled()) {
> LOG.debug(logString(calledFrom, LoggingLocation.ENTRY, pojo));
> }
> try {
> return runnable.call();
> } catch (Exception e) {
> throw new RuntimeException(e);
> } finally {
> if (LOG.isDebugEnabled()) {
> LOG.debug(logString(calledFrom, LoggingLocation.EXIT, pojo));
> }
> }
> }
>
>
from
org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:273)
.
What I don't know is why and under what circumstances should the
RuntimeException be raised.
On Mon, Mar 17, 2014 at 9:54 PM, Jeroen van der Wal <[email protected]>wrote:
> Hi James,
>
> The invoice summaries in Estatio also contain queries.
>
> Example:
>
> https://github.com/estatio/estatio/blob/master/dom/src/main/java/org/estatio/dom/invoice/viewmodel/InvoiceSummaryForInvoiceRun.java
> Accessed through the repository:
>
> https://github.com/estatio/estatio/blob/master/dom/src/main/java/org/estatio/dom/invoice/viewmodel/InvoiceSummariesForInvoiceRun.java
>
> Hope this helps.
>
> Jeroen
> On 17 Mar 2014 20:50, "james agada" <[email protected]> wrote:
>
> > any help? Cant seem to be able to track this down.
> >
> >
> > On Sun, Mar 16, 2014 at 7:52 PM, james agada <[email protected]>
> wrote:
> >
> > > Following the examples in Estatio, I have defined a query model like
> this
> > >
> > >>
> > >> @javax.jdo.annotations.PersistenceCapable(
> > >>
> > >> identityType = IdentityType.NONDURABLE,
> > >>
> > >> table = "DailySalesTotalForParty",
> > >>
> > >> extensions = {
> > >>
> > >> @Extension(vendorName = "datanucleus", key =
> > >> "view-definition-mysql",
> > >>
> > >> value = "CREATE VIEW {DailySalesTotalForParty} " +
> > >>
> > >> "( " +
> > >>
> > >> " {this.transactionDate}, " +
> > >>
> > >> " {this.totalAmount} ," +
> > >>
> > >> " {this.fromPartyReference}, " +
> > >>
> > >> " {this.transactiontype} " +
> > >>
> > >> ") AS " +
> > >>
> > >> "SELECT " +
> > >>
> > >> " {Transaction.transactionDate} , " +
> > >>
> > >>
> > >> " SUM({Transaction.faceValue}) AS totalAmount
> ," +
> > >>
> > >> // " \"Transaction\".\"fromParty_Party_ID_OID\"
> AS
> > >> \"fromParty\", " +
> > >>
> > >> " {Transaction.fromPartyReference} , " +
> > >>
> > >>
> > >> " {Transaction.transactiontype} " +
> > >>
> > >> " FROM " +
> > >>
> > >> " {Transaction} " +
> > >>
> > >> "GROUP BY " +
> > >>
> > >> " {Transaction.transactionDate}, " +
> > >>
> > >> " {Transaction.fromPartyReference}, " +
> > >>
> > >> " {Transaction.transactiontype} "
> > >>
> > >> +
> > >>
> > >> "ORDER BY " +
> > >>
> > >> " {Transaction.transactionDate}, " +
> > >>
> > >> " {Transaction.fromPartyReference}, " +
> > >>
> > >> " {Transaction.transactiontype}"
> > >>
> > >> )
> > >>
> > >> })
> > >>
> > >> @javax.jdo.annotations.Inheritance(strategy =
> > >> InheritanceStrategy.NEW_TABLE)
> > >>
> > >> @javax.jdo.annotations.Queries( {
> > >>
> > >> @javax.jdo.annotations.Query(
> > >>
> > >> name="DailySalesForParty", language="JDOQL",
> > >>
> > >> value="SELECT FROM dom.todo.DailySalesTotalForParty WHERE
> > >> fromPartyReference == :party ")
> > >>
> > >> })
> > >>
> > >> @Bookmarkable
> > >>
> > >> @Immutable
> > >>
> > >> public class DailySalesTotalForParty { ........
> > >>
> > >
> > > I try to get the records from the view using the Query definition in a
> > > service as
> > >
> > >> @Programmatic
> > >>
> > >> public List<DailySalesTotalForParty> getDailySalesTotalForParty(Party
> > p){
> > >>
> > >> //get party id
> > >>
> > >> //get party
> > >>
> > >> //String party = p.getUniqueRef();
> > >>
> > >> //party="2";
> > >>
> > >> return allMatches(
> > >>
> > >> new QueryDefault<DailySalesTotalForParty>(
> > DailySalesTotalForParty.class,
> > >>
> > >> "DailySalesForParty",
> > >>
> > >> "party",p.getUniqueRef());
> > >>
> > >> }
> > >>
> > >
> > > But I end up with this error during runtime
> > >
> > > [exec] 19:52:40,699 [Native qtp1993764967-32 DEBUG]
> > SELECT
> > >> 'dom.todo.DailySalesTotalForParty' AS
> > >>
> >
> NUCLEUS_TYPE,`A0`.`FROMPARTYREFERENCE`,`A0`.`TOTALAMOUNT`,`A0`.`TRANSACTIONDATE`,`A0`.`TRANSACTIONTYPE`
> > >> FROM `DAILYSALESTOTALFORPARTY` `A0` WHERE `A0`.`FROMPARTYREFERENCE` =
> > <'2'>
> > >>
> > >> [exec] 19:52:40,778 [RequestCycleExtra qtp1993764967-32 WARN
> ]
> > >> ********************************
> > >>
> > >> [exec] 19:52:40,778 [RequestCycleExtra qtp1993764967-32 WARN
> ]
> > >> Handling the following exception
> > >>
> > >> [exec] org.apache.wicket.WicketRuntimeException: Error attaching
> > >> this container for rendering: [WebMarkupContainer [Component id =
> body]]
> > >>
> > >> [exec] at
> > >>
> >
> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1693)
> > >>
> > >> [exec]
> > >>
> > > ..........
> > >
> > > [exec] Caused by: java.lang.RuntimeException:
> > > java.lang.IllegalArgumentException: identifier
> > > 'org.datanucleus.identity.SCOID_org.datanucleus.identity.SCOID@73946e71
> '
> > > contains an '@' symbol
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:273)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:282)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:69)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:82)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:64)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:43)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:542)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:537)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:461)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:458)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:458)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:454)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:391)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:386)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:260)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:400)
> > >
> > > [exec] at
> > >
> >
> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:175)
> > >
> > > [exec] at
> > > dom.todo.Partytypes.getDailySalesTotalForParty(Partytypes.java:392)
> > >
> > > [exec] at dom.todo.Party.getDailySales(Party.java:283)
> > >
> > > What could be wrong? What does
> > > org.datanucleus.identity.SCOID_org.datanucleus.identity.SCOID@73946e71
> '
> > > contains an '@' symbol mean? Where do I start to look for the problem?
> > >
> > >>
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>