You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by jack Nuzbit <fn...@googlemail.com> on 2008/03/04 18:29:31 UTC
beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
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
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Posted by Howard Lewis Ship <hl...@gmail.com>.
May be related to TAPESTRY-2229, which was just fixed this morning.
On Tue, Mar 4, 2008 at 12:50 PM, jack Nuzbit <fn...@googlemail.com> wrote:
> Hi Marcus, looks like this is tapestry 5.0.11-SNAPSHOT specific. My fault
> for being too eager.
> I switched over to 5.0.10 and everything works fine.
>
> In case this is a bug and not just a work in progress, to recreate it just
> create a new project with the tapestry 5 archetype, change the tapestry
> version to 5.0.11-SNAPSHOT
>
> Add a form to the prebuilt Start class
>
> public class Start
> {
> private MyForm myForm;
> public Date getCurrentTime()
> {
> return new Date();
> }
> public static class MyForm {
> private String myField;
> public String getMyField() {
> return myField;
> }
> public void setMyField(String myField) {
> this.myField = myField;
> }
> }
> public MyForm getMyForm() {
> return myForm;
> }
> public void setMyForm(MyForm myForm) {
> this.myForm = myForm;
> }
> }
>
> Add the beaneditform to the Start.tml file
>
> <t:beaneditform object="myForm"/>
>
> mvn jetty:run and you should get the exception.
>
> Cheers,
>
> Jack
>
>
>
>
> On Tue, Mar 4, 2008 at 6:36 PM, Marcus <mv...@gmail.com> wrote:
>
> > Hi Jack,
> >
> > Can you post the code of this class?
> >
> > <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
> > Login:
> > <t:beaneditform object="loginForm"/>
> > </html>
> >
> > maybe the problem is there.
> >
> > Marcus
> >
>
--
Howard M. Lewis Ship
Creator Apache Tapestry and Apache HiveMind
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Posted by jack Nuzbit <fn...@googlemail.com>.
Hi Marcus, looks like this is tapestry 5.0.11-SNAPSHOT specific. My fault
for being too eager.
I switched over to 5.0.10 and everything works fine.
In case this is a bug and not just a work in progress, to recreate it just
create a new project with the tapestry 5 archetype, change the tapestry
version to 5.0.11-SNAPSHOT
Add a form to the prebuilt Start class
public class Start
{
private MyForm myForm;
public Date getCurrentTime()
{
return new Date();
}
public static class MyForm {
private String myField;
public String getMyField() {
return myField;
}
public void setMyField(String myField) {
this.myField = myField;
}
}
public MyForm getMyForm() {
return myForm;
}
public void setMyForm(MyForm myForm) {
this.myForm = myForm;
}
}
Add the beaneditform to the Start.tml file
<t:beaneditform object="myForm"/>
mvn jetty:run and you should get the exception.
Cheers,
Jack
On Tue, Mar 4, 2008 at 6:36 PM, Marcus <mv...@gmail.com> wrote:
> Hi Jack,
>
> Can you post the code of this class?
>
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
> Login:
> <t:beaneditform object="loginForm"/>
> </html>
>
> maybe the problem is there.
>
> Marcus
>
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Posted by Marcus <mv...@gmail.com>.
Hi Jack,
Can you post the code of this class?
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
Login:
<t:beaneditform object="loginForm"/>
</html>
maybe the problem is there.
Marcus
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Posted by jack Nuzbit <fn...@googlemail.com>.
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 <bi...@gmail.com>
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 <fn...@googlemail.com>
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
Re: beaneditform - java.lang.RuntimeException: No service implements the interface org.apache.tapestry.internal.InternalComponentResources.
Posted by Bill Holloway <bi...@gmail.com>.
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 <fn...@googlemail.com> 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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org