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