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?
> >
> >>
> >
> >
> >
> >
> >
> >
> >
> >
> >
>

Reply via email to