You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Chris Mylonas <ch...@opencsta.org> on 2010/03/12 05:07:14 UTC

Grid -> Create ActionLink to get details or record

Hi,

I've got a pretty basic problem that has had me stuck for a couple of days.
I have a grid that spits out values from a database using hibernate

I'm trying to create a link on one of the fields in each row to drill down
into further details and getting this exception

org.apache.tapestry5.internal.
services.TransformationException: Error obtaining injected value for field
net.omniumlite.admin.pages.HigherEd.user: No service implements the
interface net.omniumlite.admin.entities.CustData


###pages.HigherEd.java###
public class HigherEd{

  @Inject
  private Session session ;

  @Inject
  private CustData user ;

  public List<CustData> getUsers(){
    return session.createCriteria(CustData.class).list() ;
  }

}


###entities.CustData.java###   snipped, which is mapped to a table in the
database
@Entity
@Table(name = "cust_data", catalog = "omlite_tapestry_test")
public class CustData implements java.io.Serializable {

    private Integer dbId;
    private Integer omlitedbnum;
    private String omlitename;
    private String custName;
    private String contact1;
    private String contact2;
    private String contact3;
    private Integer omlitestatus;
    private Integer sid;
    private String adminPassPlaintext;
    private String adminPassMd5;
    private String omliteSuburl;
    private Integer deleteFlag;
    private Integer deleteFinal;
    private Integer injectNewSql;

//getters adn setters omitted

###HigherEd.tml### snippet
    <t:grid source="users" row="user">
        <t:parameter name="omlitedbnumCell">
         <t:pagelink page="sitedetails"
context="user.omlitedbnum">${user.omlitedbnum}</t:pagelink>
        </t:parameter>
    </t:grid>

How do I get to my next step?/What am I doing fundamentally wrong?   Has
anyone get any pointers?


Thanks
Chris

Re: Grid -> Create ActionLink to get details or record

Posted by Chris Mylonas <ch...@opencsta.org>.
Sorry - figured it out looking at JumpStart

  @Inject    //this should be @Property
  private CustData user ;

And it works


On Fri, Mar 12, 2010 at 3:07 PM, Chris Mylonas <ch...@opencsta.org> wrote:

> Hi,
>
> I've got a pretty basic problem that has had me stuck for a couple of
> days.  I have a grid that spits out values from a database using hibernate
>
> I'm trying to create a link on one of the fields in each row to drill down
> into further details and getting this exception
>
> org.apache.tapestry5.internal.
> services.TransformationException: Error obtaining injected value for field
> net.omniumlite.admin.pages.HigherEd.user: No service implements the
> interface net.omniumlite.admin.entities.CustData
>
>
> ###pages.HigherEd.java###
> public class HigherEd{
>
>   @Inject
>   private Session session ;
>
>   @Inject
>   private CustData user ;
>
>   public List<CustData> getUsers(){
>     return session.createCriteria(CustData.class).list() ;
>   }
>
> }
>
>
> ###entities.CustData.java###   snipped, which is mapped to a table in the
> database
> @Entity
> @Table(name = "cust_data", catalog = "omlite_tapestry_test")
> public class CustData implements java.io.Serializable {
>
>     private Integer dbId;
>     private Integer omlitedbnum;
>     private String omlitename;
>     private String custName;
>     private String contact1;
>     private String contact2;
>     private String contact3;
>     private Integer omlitestatus;
>     private Integer sid;
>     private String adminPassPlaintext;
>     private String adminPassMd5;
>     private String omliteSuburl;
>     private Integer deleteFlag;
>     private Integer deleteFinal;
>     private Integer injectNewSql;
>
> //getters adn setters omitted
>
> ###HigherEd.tml### snippet
>     <t:grid source="users" row="user">
>         <t:parameter name="omlitedbnumCell">
>          <t:pagelink page="sitedetails"
> context="user.omlitedbnum">${user.omlitedbnum}</t:pagelink>
>         </t:parameter>
>     </t:grid>
>
> How do I get to my next step?/What am I doing fundamentally wrong?   Has
> anyone get any pointers?
>
>
> Thanks
> Chris
>

Re: Grid -> Create ActionLink to get details or record

Posted by Chris Mylonas <ch...@opencsta.org>.
I'm definitely in need of reading up on the services.AppModule and related
stuff (note the vague description)
So now that I've got the link working on the selected record, how would I
connect to one of the 500 databases in my table the Tapestry way on the
fly;  or, is this another framework's task?

In a way it behaves like the PHP My Admin web app


Cheers
Chris


On Fri, Mar 12, 2010 at 4:09 PM, Chris Mylonas <ch...@opencsta.org> wrote:

> Thanks for putting it like that Kalle,
>
> I'll read up a bit on these annotations I think.
>
> Cheers
> Chris
>
>
> On Fri, Mar 12, 2010 at 3:48 PM, Kalle Korhonen <
> kalle.o.korhonen@gmail.com> wrote:
>
>> There's no service typed CustData, exactly as the error message says.
>> You are trying to @Inject CustData but it's not a service, it's your
>> data class. What you want is to mark "CustData user" as a @Property.
>>
>> Kalle
>>
>>
>> On Thu, Mar 11, 2010 at 8:07 PM, Chris Mylonas <ch...@opencsta.org>
>> wrote:
>> > Hi,
>> >
>> > I've got a pretty basic problem that has had me stuck for a couple of
>> days.
>> > I have a grid that spits out values from a database using hibernate
>> >
>> > I'm trying to create a link on one of the fields in each row to drill
>> down
>> > into further details and getting this exception
>> >
>> > org.apache.tapestry5.internal.
>> > services.TransformationException: Error obtaining injected value for
>> field
>> > net.omniumlite.admin.pages.HigherEd.user: No service implements the
>> > interface net.omniumlite.admin.entities.CustData
>> >
>> >
>> > ###pages.HigherEd.java###
>> > public class HigherEd{
>> >
>> >  @Inject
>> >  private Session session ;
>> >
>> >  @Inject
>> >  private CustData user ;
>> >
>> >  public List<CustData> getUsers(){
>> >    return session.createCriteria(CustData.class).list() ;
>> >  }
>> >
>> > }
>> >
>> >
>> > ###entities.CustData.java###   snipped, which is mapped to a table in
>> the
>> > database
>> > @Entity
>> > @Table(name = "cust_data", catalog = "omlite_tapestry_test")
>> > public class CustData implements java.io.Serializable {
>> >
>> >    private Integer dbId;
>> >    private Integer omlitedbnum;
>> >    private String omlitename;
>> >    private String custName;
>> >    private String contact1;
>> >    private String contact2;
>> >    private String contact3;
>> >    private Integer omlitestatus;
>> >    private Integer sid;
>> >    private String adminPassPlaintext;
>> >    private String adminPassMd5;
>> >    private String omliteSuburl;
>> >    private Integer deleteFlag;
>> >    private Integer deleteFinal;
>> >    private Integer injectNewSql;
>> >
>> > //getters adn setters omitted
>> >
>> > ###HigherEd.tml### snippet
>> >    <t:grid source="users" row="user">
>> >        <t:parameter name="omlitedbnumCell">
>> >         <t:pagelink page="sitedetails"
>> > context="user.omlitedbnum">${user.omlitedbnum}</t:pagelink>
>> >        </t:parameter>
>> >    </t:grid>
>> >
>> > How do I get to my next step?/What am I doing fundamentally wrong?   Has
>> > anyone get any pointers?
>> >
>> >
>> > Thanks
>> > Chris
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>

Re: Grid -> Create ActionLink to get details or record

Posted by Chris Mylonas <ch...@opencsta.org>.
Thanks for putting it like that Kalle,

I'll read up a bit on these annotations I think.

Cheers
Chris

On Fri, Mar 12, 2010 at 3:48 PM, Kalle Korhonen
<ka...@gmail.com>wrote:

> There's no service typed CustData, exactly as the error message says.
> You are trying to @Inject CustData but it's not a service, it's your
> data class. What you want is to mark "CustData user" as a @Property.
>
> Kalle
>
>
> On Thu, Mar 11, 2010 at 8:07 PM, Chris Mylonas <ch...@opencsta.org> wrote:
> > Hi,
> >
> > I've got a pretty basic problem that has had me stuck for a couple of
> days.
> > I have a grid that spits out values from a database using hibernate
> >
> > I'm trying to create a link on one of the fields in each row to drill
> down
> > into further details and getting this exception
> >
> > org.apache.tapestry5.internal.
> > services.TransformationException: Error obtaining injected value for
> field
> > net.omniumlite.admin.pages.HigherEd.user: No service implements the
> > interface net.omniumlite.admin.entities.CustData
> >
> >
> > ###pages.HigherEd.java###
> > public class HigherEd{
> >
> >  @Inject
> >  private Session session ;
> >
> >  @Inject
> >  private CustData user ;
> >
> >  public List<CustData> getUsers(){
> >    return session.createCriteria(CustData.class).list() ;
> >  }
> >
> > }
> >
> >
> > ###entities.CustData.java###   snipped, which is mapped to a table in the
> > database
> > @Entity
> > @Table(name = "cust_data", catalog = "omlite_tapestry_test")
> > public class CustData implements java.io.Serializable {
> >
> >    private Integer dbId;
> >    private Integer omlitedbnum;
> >    private String omlitename;
> >    private String custName;
> >    private String contact1;
> >    private String contact2;
> >    private String contact3;
> >    private Integer omlitestatus;
> >    private Integer sid;
> >    private String adminPassPlaintext;
> >    private String adminPassMd5;
> >    private String omliteSuburl;
> >    private Integer deleteFlag;
> >    private Integer deleteFinal;
> >    private Integer injectNewSql;
> >
> > //getters adn setters omitted
> >
> > ###HigherEd.tml### snippet
> >    <t:grid source="users" row="user">
> >        <t:parameter name="omlitedbnumCell">
> >         <t:pagelink page="sitedetails"
> > context="user.omlitedbnum">${user.omlitedbnum}</t:pagelink>
> >        </t:parameter>
> >    </t:grid>
> >
> > How do I get to my next step?/What am I doing fundamentally wrong?   Has
> > anyone get any pointers?
> >
> >
> > Thanks
> > Chris
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: Grid -> Create ActionLink to get details or record

Posted by Kalle Korhonen <ka...@gmail.com>.
There's no service typed CustData, exactly as the error message says.
You are trying to @Inject CustData but it's not a service, it's your
data class. What you want is to mark "CustData user" as a @Property.

Kalle


On Thu, Mar 11, 2010 at 8:07 PM, Chris Mylonas <ch...@opencsta.org> wrote:
> Hi,
>
> I've got a pretty basic problem that has had me stuck for a couple of days.
> I have a grid that spits out values from a database using hibernate
>
> I'm trying to create a link on one of the fields in each row to drill down
> into further details and getting this exception
>
> org.apache.tapestry5.internal.
> services.TransformationException: Error obtaining injected value for field
> net.omniumlite.admin.pages.HigherEd.user: No service implements the
> interface net.omniumlite.admin.entities.CustData
>
>
> ###pages.HigherEd.java###
> public class HigherEd{
>
>  @Inject
>  private Session session ;
>
>  @Inject
>  private CustData user ;
>
>  public List<CustData> getUsers(){
>    return session.createCriteria(CustData.class).list() ;
>  }
>
> }
>
>
> ###entities.CustData.java###   snipped, which is mapped to a table in the
> database
> @Entity
> @Table(name = "cust_data", catalog = "omlite_tapestry_test")
> public class CustData implements java.io.Serializable {
>
>    private Integer dbId;
>    private Integer omlitedbnum;
>    private String omlitename;
>    private String custName;
>    private String contact1;
>    private String contact2;
>    private String contact3;
>    private Integer omlitestatus;
>    private Integer sid;
>    private String adminPassPlaintext;
>    private String adminPassMd5;
>    private String omliteSuburl;
>    private Integer deleteFlag;
>    private Integer deleteFinal;
>    private Integer injectNewSql;
>
> //getters adn setters omitted
>
> ###HigherEd.tml### snippet
>    <t:grid source="users" row="user">
>        <t:parameter name="omlitedbnumCell">
>         <t:pagelink page="sitedetails"
> context="user.omlitedbnum">${user.omlitedbnum}</t:pagelink>
>        </t:parameter>
>    </t:grid>
>
> How do I get to my next step?/What am I doing fundamentally wrong?   Has
> anyone get any pointers?
>
>
> Thanks
> Chris
>

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