Thanks for the suggestion Bill, I've just tried adding the following to the
containing page but the problem remains:

@Inject
private ComponentResources _resources;

Am I right in thinking that the beaneditform should work out of the box?


On Tue, Mar 4, 2008 at 6:03 PM, Bill Holloway <[EMAIL PROTECTED]>
wrote:

> I believe that the "internal" APIs in T5 are "off limits".  Injecting
> ComponentResources, an interface, doesn't do what you want?
>
> Bill h
>
> On Tue, Mar 4, 2008 at 11:29 AM, jack Nuzbit <[EMAIL PROTECTED]>
> wrote:
> > Hi All,
> >
> >  I'm trying to use the beaneditform component but i'm getting the
> following
> >  exception bubbling up. Do i have to create a Service to implement the
> >  InternalComponentResources class?
> >  I can't find anything about this in any documentation so i'm inclined
> to
> >  think i've misconfigured something but could anybody shed any light on
> where
> >  i might be going wrong.
> >
> >  ...
> >  Caused by: org.apache.tapestry.ioc.internal.util.TapestryException:
> >  Exception instantiating instance of
> >  uk.co.myapp.tapestry.pages.account.LoginForm (for component
> 'account/Login:
> >  beaneditform.editor'): Error invoking constructor
> >  uk.co.myapp.tapestry.pages.account.LoginForm
> (InternalComponentResources)
> >  (for service 'BeanModelSource'): No service implements the interface
> >  org.apache.tapestry.internal.InternalComponentResources. [at
> >  classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line
> 8,
> >  column 81]
> >         at
> >  org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(
> >  ComponentPageElementImpl.java:884)
> >         at
> >
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100
> (
> >  ComponentPageElementImpl.java:54)
> >         at
> >
> org.apache.tapestry.internal.structure.ComponentPageElementImpl$13.render(
> >  ComponentPageElementImpl.java:482)
> >         at org.apache.tapestry.internal.services.RenderQueueImpl.run(
> >  RenderQueueImpl.java:63)
> >         ... 65 more
> >  Caused by: org.apache.tapestry.ioc.internal.util.TapestryException:
> >  Exception instantiating instance of
> >  uk.co.myapp.tapestry.pages.account.LoginForm (for component
> 'account/Login:
> >  beaneditform.editor'): Error invoking constructor
> >  uk.co.myapp.tapestry.pages.account.LoginForm
> (InternalComponentResources)
> >  (for service 'BeanModelSource'): No service implements the interface
> >  org.apache.tapestry.internal.InternalComponentResources. [at
> >  classpath:org/apache/tapestry/corelib/components/BeanEditForm.tml, line
> 8,
> >  column 81]
> >         at org.apache.tapestry.corelib.components.BeanEditor.doPrepare(
> >  BeanEditor.java:151)
> >         at
> org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute
> >  (BeanEditor.java:46)
> >         at
> org.apache.tapestry.corelib.components.BeanEditor$Prepare.execute
> >  (BeanEditor.java:40)
> >         at
> >  org.apache.tapestry.corelib.internal.FormSupportImpl.storeAndExecute(
> >  FormSupportImpl.java:116)
> >         at org.apache.tapestry.corelib.components.BeanEditor.setupRender
> (
> >  BeanEditor.java:125)
> >         at org.apache.tapestry.corelib.components.BeanEditor.setupRender
> (
> >  BeanEditor.java)
> >         at
> >
> org.apache.tapestry.internal.structure.ComponentPageElementImpl$13$1.run(
> >  ComponentPageElementImpl.java:478)
> >         at
> >  org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(
> >  ComponentPageElementImpl.java:874)
> >         ... 68 more
> >  Caused by: java.lang.RuntimeException: Error invoking constructor
> >  uk.co.myapp.tapestry.pages.account.LoginForm
> (InternalComponentResources)
> >  (for service 'BeanModelSource'): No service implements the interface
> >  org.apache.tapestry.internal.InternalComponentResources.
> >         at
> >  org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject
> (
> >  ConstructorServiceCreator.java:62)
> >         at
> org.apache.tapestry.ioc.internal.ServiceResourcesImpl.autobuild(
> >  ServiceResourcesImpl.java:123)
> >         at
> org.apache.tapestry.internal.beaneditor.BeanModelImpl.newInstance
> >  (BeanModelImpl.java:75)
> >         at org.apache.tapestry.corelib.components.BeanEditor.doPrepare(
> >  BeanEditor.java:144)
> >         ... 75 more
> >  Caused by: java.lang.RuntimeException: No service implements the
> interface
> >  org.apache.tapestry.internal.InternalComponentResources.
> >         at org.apache.tapestry.ioc.internal.RegistryImpl.getService(
> >  RegistryImpl.java:517)
> >         at
> >
> org.apache.tapestry.ioc.internal.services.MasterObjectProviderImpl.provide
> (
> >  MasterObjectProviderImpl.java:46)
> >         at
> >
>  
> $MasterObjectProvider_1187ad554bb.provide($MasterObjectProvider_1187ad554bb.java)
> >         at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(
> >  RegistryImpl.java:621)
> >         at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(
> >  RegistryImpl.java:675)
> >         at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(
> >  ObjectLocatorImpl.java:50)
> >         at
> >
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue
> (
> >  InternalUtils.java:209)
> >         at
> >  org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters
> (
> >  InternalUtils.java:239)
> >         at
> >
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForConstructor
> >  (InternalUtils.java:227)
> >         at
> >  org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject
> (
> >  ConstructorServiceCreator.java:46)
> >         ... 78 more
> >
> >
> >  I'm using the tapestry 5.0.11-snapshot.
> >  I've got a very simple page:
> >
> >  <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
> >  Login:
> >  <t:beaneditform object="loginForm"/>
> >  </html>
> >
> >
> >  And a similarly simple form:
> >
> >  package mytapestry.pages.account;
> >  import org.apache.tapestry.internal.InternalComponentResources;
> >  public class LoginForm {
> >
> >     private String emailAddress;
> >     private String password;
> >     public String getEmailAddress() {
> >         return emailAddress;
> >     }
> >     public void setEmailAddress(String emailAddress) {
> >         this.emailAddress = emailAddress;
> >     }
> >     public String getPassword() {
> >         return password;
> >     }
> >     public void setPassword(String password) {
> >         this.password = password;
> >     }
> >  }
> >
> >
> >  Any help would be much appreciated,
> >  Cheers,
> >
> >  Jack
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to