You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Tobias Wehrum <Le...@dragonlab.de> on 2008/04/15 18:37:53 UTC
T5: Teaching the BeanModel to always add my class
Hi there,
I have a class named "Status" which implements toString(). But still
when I have class A, which has a property of type Status, I always have
to add the Status property to the BeanModel with model.add("myStatus").
Obviously implementing toString() isn't enough to teach my the BeanModel
a new trick. So I tried to contribute a TypeCoercer and a
TranslatorSource, but neither of them seems to work.
My try on TypeCoercer:
--------------------------------------------------
public static void
contributeTypeCoercer(Configuration<CoercionTuple> configuration)
{
Coercion<Status, String> coercionStatusString = new
Coercion<Status, String>()
{
public String coerce(Status input)
{
return input.toString();
}
};
configuration.add(new CoercionTuple<Status,
String>(Status.class, String.class, coercionStatusString));
}
--------------------------------------------------
My try on TranslatorSource:
--------------------------------------------------
public static void
contributeTranslatorDefaultSource(MappedConfiguration<Class, Translator>
configuration) {
configuration.add(Status.class, new StatusTranslator());
}
public static void
contributeTranslatorSource(MappedConfiguration<String, Translator>
configuration) {
configuration.add("status", new StatusTranslator());
}
--------------------------------------------------
--------------------------------------------------
public class StatusTranslator implements Translator<Status> {
public Class<Status> getType() {
return Status.class;
}
public Status parseClient(String arg0, Messages arg1)
throws ValidationException {
throw new ValidationException("StatusTranslator cannot implement
parseClient()");
}
public String toClient(Status arg0) {
return arg0.toString();
}
}
--------------------------------------------------
Am I missing something? Or am I on a complete wrong path?
Any hints on how to solve my problem are welcome.
Thanks in advance,
Tobias
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Teaching the BeanModel to always add my class
Posted by Tobias Wehrum <Le...@dragonlab.de>.
Hi Filip,
it's good to hear that it is just a leftover, so I can ignore it and
stop wondering.
Thanks again for your help!
Tobias
Filip S. Adamsen schrieb:
> Hi,
>
> On 2008-04-15 19:13, Tobias Wehrum wrote:
>> Thank you, Filip!
>>
>> Looking through the page you suggested, I found the missing piece of
>> code:
>>
>> --------------------------------------------------
>> public static void
>> contributeDefaultDataTypeAnalyzer(MappedConfiguration<Class, String>
>> configuration)
>> {
>> configuration.add(Status.class, "status");
>> }
>> --------------------------------------------------
>>
>> And now it works! :)
>
> Great. :)
>
>> Just because I'm curious: What does contributeTranslatorDefaultSource
>> do? Using it didn't seem to have any effect.
>
> Well, it's a leftover from earlier on when you had to contribute to
> both TranslatorSource and TranslatorDefaultSource. It was kind of
> awkward so it was changed.
>
>> Tobias
>
> -Filip
>
>> Tobias Wehrum schrieb:
>>> Hi there,
>>>
>>> yes, maybe I caused confusion. To further point out what I'm trying
>>> to do: I just want to output whatever value Status.toString() will
>>> return to me, for example in a grid. When I add the property to the
>>> BeanModel, tapestry has no problems calling toString()
>>> automatically; but at the moment, like I said, I have to add it
>>> first to the BeanModel, and I want to automatize this. (When it
>>> comes to input, I will implement t:parameter for it.)
>>>
>>> Regards,
>>> Tobias
>>>
>>> Filip S. Adamsen schrieb:
>>>> Oh, sorry, didn't catch that all you want to edit is a String
>>>> property from another class. I don't know what else there is to do,
>>>> then.
>>>>
>>>> -Filip
>>>>
>>>> On 2008-04-15 18:41, Filip S. Adamsen wrote:
>>>>> Hi,
>>>>>
>>>>> You might need to add a new property editor, see Adding New
>>>>> Property Editors at
>>>>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html.
>>>>>
>>>>>
>>>>> -Filip
>>>>>
>>>>> On 2008-04-15 18:37, Tobias Wehrum wrote:
>>>>>> Hi there,
>>>>>>
>>>>>> I have a class named "Status" which implements toString(). But
>>>>>> still when I have class A, which has a property of type Status, I
>>>>>> always have to add the Status property to the BeanModel with
>>>>>> model.add("myStatus").
>>>>>>
>>>>>> Obviously implementing toString() isn't enough to teach my the
>>>>>> BeanModel a new trick. So I tried to contribute a TypeCoercer and
>>>>>> a TranslatorSource, but neither of them seems to work.
>>>>>>
>>>>>> My try on TypeCoercer:
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> public static void
>>>>>> contributeTypeCoercer(Configuration<CoercionTuple> configuration)
>>>>>> {
>>>>>> Coercion<Status, String> coercionStatusString = new
>>>>>> Coercion<Status, String>()
>>>>>> {
>>>>>> public String coerce(Status input)
>>>>>> {
>>>>>> return input.toString();
>>>>>> }
>>>>>> };
>>>>>> configuration.add(new CoercionTuple<Status,
>>>>>> String>(Status.class, String.class, coercionStatusString)); }
>>>>>> --------------------------------------------------
>>>>>>
>>>>>>
>>>>>> My try on TranslatorSource:
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> public static void
>>>>>> contributeTranslatorDefaultSource(MappedConfiguration<Class,
>>>>>> Translator> configuration) {
>>>>>> configuration.add(Status.class, new StatusTranslator());
>>>>>> }
>>>>>> public static void
>>>>>> contributeTranslatorSource(MappedConfiguration<String,
>>>>>> Translator> configuration) {
>>>>>> configuration.add("status", new StatusTranslator());
>>>>>> }
>>>>>> --------------------------------------------------
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> public class StatusTranslator implements Translator<Status> {
>>>>>>
>>>>>> public Class<Status> getType() {
>>>>>> return Status.class;
>>>>>> }
>>>>>>
>>>>>> public Status parseClient(String arg0, Messages arg1)
>>>>>> throws ValidationException {
>>>>>> throw new ValidationException("StatusTranslator cannot
>>>>>> implement parseClient()");
>>>>>> }
>>>>>>
>>>>>> public String toClient(Status arg0) {
>>>>>> return arg0.toString();
>>>>>> }
>>>>>>
>>>>>> }
>>>>>> --------------------------------------------------
>>>>>>
>>>>>>
>>>>>> Am I missing something? Or am I on a complete wrong path?
>>>>>> Any hints on how to solve my problem are welcome.
>>>>>>
>>>>>> Thanks in advance,
>>>>>> Tobias
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Teaching the BeanModel to always add my class
Posted by "Filip S. Adamsen" <fs...@fsadev.com>.
Hi,
On 2008-04-15 19:13, Tobias Wehrum wrote:
> Thank you, Filip!
>
> Looking through the page you suggested, I found the missing piece of code:
>
> --------------------------------------------------
> public static void
> contributeDefaultDataTypeAnalyzer(MappedConfiguration<Class, String>
> configuration)
> {
> configuration.add(Status.class, "status");
> }
> --------------------------------------------------
>
> And now it works! :)
Great. :)
> Just because I'm curious: What does contributeTranslatorDefaultSource
> do? Using it didn't seem to have any effect.
Well, it's a leftover from earlier on when you had to contribute to both
TranslatorSource and TranslatorDefaultSource. It was kind of awkward so
it was changed.
> Tobias
-Filip
> Tobias Wehrum schrieb:
>> Hi there,
>>
>> yes, maybe I caused confusion. To further point out what I'm trying to
>> do: I just want to output whatever value Status.toString() will return
>> to me, for example in a grid. When I add the property to the
>> BeanModel, tapestry has no problems calling toString() automatically;
>> but at the moment, like I said, I have to add it first to the
>> BeanModel, and I want to automatize this. (When it comes to input, I
>> will implement t:parameter for it.)
>>
>> Regards,
>> Tobias
>>
>> Filip S. Adamsen schrieb:
>>> Oh, sorry, didn't catch that all you want to edit is a String
>>> property from another class. I don't know what else there is to do,
>>> then.
>>>
>>> -Filip
>>>
>>> On 2008-04-15 18:41, Filip S. Adamsen wrote:
>>>> Hi,
>>>>
>>>> You might need to add a new property editor, see Adding New Property
>>>> Editors at
>>>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html.
>>>>
>>>>
>>>> -Filip
>>>>
>>>> On 2008-04-15 18:37, Tobias Wehrum wrote:
>>>>> Hi there,
>>>>>
>>>>> I have a class named "Status" which implements toString(). But
>>>>> still when I have class A, which has a property of type Status, I
>>>>> always have to add the Status property to the BeanModel with
>>>>> model.add("myStatus").
>>>>>
>>>>> Obviously implementing toString() isn't enough to teach my the
>>>>> BeanModel a new trick. So I tried to contribute a TypeCoercer and a
>>>>> TranslatorSource, but neither of them seems to work.
>>>>>
>>>>> My try on TypeCoercer:
>>>>>
>>>>> --------------------------------------------------
>>>>> public static void
>>>>> contributeTypeCoercer(Configuration<CoercionTuple> configuration)
>>>>> {
>>>>> Coercion<Status, String> coercionStatusString = new
>>>>> Coercion<Status, String>()
>>>>> {
>>>>> public String coerce(Status input)
>>>>> {
>>>>> return input.toString();
>>>>> }
>>>>> };
>>>>> configuration.add(new CoercionTuple<Status,
>>>>> String>(Status.class, String.class, coercionStatusString)); }
>>>>> --------------------------------------------------
>>>>>
>>>>>
>>>>> My try on TranslatorSource:
>>>>>
>>>>> --------------------------------------------------
>>>>> public static void
>>>>> contributeTranslatorDefaultSource(MappedConfiguration<Class,
>>>>> Translator> configuration) {
>>>>> configuration.add(Status.class, new StatusTranslator());
>>>>> }
>>>>> public static void
>>>>> contributeTranslatorSource(MappedConfiguration<String, Translator>
>>>>> configuration) {
>>>>> configuration.add("status", new StatusTranslator());
>>>>> }
>>>>> --------------------------------------------------
>>>>>
>>>>> --------------------------------------------------
>>>>> public class StatusTranslator implements Translator<Status> {
>>>>>
>>>>> public Class<Status> getType() {
>>>>> return Status.class;
>>>>> }
>>>>>
>>>>> public Status parseClient(String arg0, Messages arg1)
>>>>> throws ValidationException {
>>>>> throw new ValidationException("StatusTranslator cannot
>>>>> implement parseClient()");
>>>>> }
>>>>>
>>>>> public String toClient(Status arg0) {
>>>>> return arg0.toString();
>>>>> }
>>>>>
>>>>> }
>>>>> --------------------------------------------------
>>>>>
>>>>>
>>>>> Am I missing something? Or am I on a complete wrong path?
>>>>> Any hints on how to solve my problem are welcome.
>>>>>
>>>>> Thanks in advance,
>>>>> Tobias
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Teaching the BeanModel to always add my class
Posted by Tobias Wehrum <Le...@dragonlab.de>.
Thank you, Filip!
Looking through the page you suggested, I found the missing piece of code:
--------------------------------------------------
public static void
contributeDefaultDataTypeAnalyzer(MappedConfiguration<Class, String>
configuration)
{
configuration.add(Status.class, "status");
}
--------------------------------------------------
And now it works! :)
Just because I'm curious: What does contributeTranslatorDefaultSource
do? Using it didn't seem to have any effect.
Tobias
Tobias Wehrum schrieb:
> Hi there,
>
> yes, maybe I caused confusion. To further point out what I'm trying to
> do: I just want to output whatever value Status.toString() will return
> to me, for example in a grid. When I add the property to the
> BeanModel, tapestry has no problems calling toString() automatically;
> but at the moment, like I said, I have to add it first to the
> BeanModel, and I want to automatize this. (When it comes to input, I
> will implement t:parameter for it.)
>
> Regards,
> Tobias
>
> Filip S. Adamsen schrieb:
>> Oh, sorry, didn't catch that all you want to edit is a String
>> property from another class. I don't know what else there is to do,
>> then.
>>
>> -Filip
>>
>> On 2008-04-15 18:41, Filip S. Adamsen wrote:
>>> Hi,
>>>
>>> You might need to add a new property editor, see Adding New Property
>>> Editors at
>>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html.
>>>
>>>
>>> -Filip
>>>
>>> On 2008-04-15 18:37, Tobias Wehrum wrote:
>>>> Hi there,
>>>>
>>>> I have a class named "Status" which implements toString(). But
>>>> still when I have class A, which has a property of type Status, I
>>>> always have to add the Status property to the BeanModel with
>>>> model.add("myStatus").
>>>>
>>>> Obviously implementing toString() isn't enough to teach my the
>>>> BeanModel a new trick. So I tried to contribute a TypeCoercer and a
>>>> TranslatorSource, but neither of them seems to work.
>>>>
>>>> My try on TypeCoercer:
>>>>
>>>> --------------------------------------------------
>>>> public static void
>>>> contributeTypeCoercer(Configuration<CoercionTuple> configuration)
>>>> {
>>>> Coercion<Status, String> coercionStatusString = new
>>>> Coercion<Status, String>()
>>>> {
>>>> public String coerce(Status input)
>>>> {
>>>> return input.toString();
>>>> }
>>>> };
>>>> configuration.add(new CoercionTuple<Status,
>>>> String>(Status.class, String.class, coercionStatusString)); }
>>>> --------------------------------------------------
>>>>
>>>>
>>>> My try on TranslatorSource:
>>>>
>>>> --------------------------------------------------
>>>> public static void
>>>> contributeTranslatorDefaultSource(MappedConfiguration<Class,
>>>> Translator> configuration) {
>>>> configuration.add(Status.class, new StatusTranslator());
>>>> }
>>>> public static void
>>>> contributeTranslatorSource(MappedConfiguration<String, Translator>
>>>> configuration) {
>>>> configuration.add("status", new StatusTranslator());
>>>> }
>>>> --------------------------------------------------
>>>>
>>>> --------------------------------------------------
>>>> public class StatusTranslator implements Translator<Status> {
>>>>
>>>> public Class<Status> getType() {
>>>> return Status.class;
>>>> }
>>>>
>>>> public Status parseClient(String arg0, Messages arg1)
>>>> throws ValidationException {
>>>> throw new ValidationException("StatusTranslator cannot
>>>> implement parseClient()");
>>>> }
>>>>
>>>> public String toClient(Status arg0) {
>>>> return arg0.toString();
>>>> }
>>>>
>>>> }
>>>> --------------------------------------------------
>>>>
>>>>
>>>> Am I missing something? Or am I on a complete wrong path?
>>>> Any hints on how to solve my problem are welcome.
>>>>
>>>> Thanks in advance,
>>>> Tobias
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Teaching the BeanModel to always add my class
Posted by Tobias Wehrum <Le...@dragonlab.de>.
Hi there,
yes, maybe I caused confusion. To further point out what I'm trying to
do: I just want to output whatever value Status.toString() will return
to me, for example in a grid. When I add the property to the BeanModel,
tapestry has no problems calling toString() automatically; but at the
moment, like I said, I have to add it first to the BeanModel, and I want
to automatize this. (When it comes to input, I will implement
t:parameter for it.)
Regards,
Tobias
Filip S. Adamsen schrieb:
> Oh, sorry, didn't catch that all you want to edit is a String property
> from another class. I don't know what else there is to do, then.
>
> -Filip
>
> On 2008-04-15 18:41, Filip S. Adamsen wrote:
>> Hi,
>>
>> You might need to add a new property editor, see Adding New Property
>> Editors at
>> http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html.
>>
>>
>> -Filip
>>
>> On 2008-04-15 18:37, Tobias Wehrum wrote:
>>> Hi there,
>>>
>>> I have a class named "Status" which implements toString(). But still
>>> when I have class A, which has a property of type Status, I always
>>> have to add the Status property to the BeanModel with
>>> model.add("myStatus").
>>>
>>> Obviously implementing toString() isn't enough to teach my the
>>> BeanModel a new trick. So I tried to contribute a TypeCoercer and a
>>> TranslatorSource, but neither of them seems to work.
>>>
>>> My try on TypeCoercer:
>>>
>>> --------------------------------------------------
>>> public static void
>>> contributeTypeCoercer(Configuration<CoercionTuple> configuration)
>>> {
>>> Coercion<Status, String> coercionStatusString = new
>>> Coercion<Status, String>()
>>> {
>>> public String coerce(Status input)
>>> {
>>> return input.toString();
>>> }
>>> };
>>> configuration.add(new CoercionTuple<Status,
>>> String>(Status.class, String.class, coercionStatusString)); }
>>> --------------------------------------------------
>>>
>>>
>>> My try on TranslatorSource:
>>>
>>> --------------------------------------------------
>>> public static void
>>> contributeTranslatorDefaultSource(MappedConfiguration<Class,
>>> Translator> configuration) {
>>> configuration.add(Status.class, new StatusTranslator());
>>> }
>>> public static void
>>> contributeTranslatorSource(MappedConfiguration<String, Translator>
>>> configuration) {
>>> configuration.add("status", new StatusTranslator());
>>> }
>>> --------------------------------------------------
>>>
>>> --------------------------------------------------
>>> public class StatusTranslator implements Translator<Status> {
>>>
>>> public Class<Status> getType() {
>>> return Status.class;
>>> }
>>>
>>> public Status parseClient(String arg0, Messages arg1)
>>> throws ValidationException {
>>> throw new ValidationException("StatusTranslator cannot
>>> implement parseClient()");
>>> }
>>>
>>> public String toClient(Status arg0) {
>>> return arg0.toString();
>>> }
>>>
>>> }
>>> --------------------------------------------------
>>>
>>>
>>> Am I missing something? Or am I on a complete wrong path?
>>> Any hints on how to solve my problem are welcome.
>>>
>>> Thanks in advance,
>>> Tobias
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Teaching the BeanModel to always add my class
Posted by "Filip S. Adamsen" <fs...@fsadev.com>.
Oh, sorry, didn't catch that all you want to edit is a String property
from another class. I don't know what else there is to do, then.
-Filip
On 2008-04-15 18:41, Filip S. Adamsen wrote:
> Hi,
>
> You might need to add a new property editor, see Adding New Property
> Editors at
> http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html.
>
> -Filip
>
> On 2008-04-15 18:37, Tobias Wehrum wrote:
>> Hi there,
>>
>> I have a class named "Status" which implements toString(). But still
>> when I have class A, which has a property of type Status, I always
>> have to add the Status property to the BeanModel with
>> model.add("myStatus").
>>
>> Obviously implementing toString() isn't enough to teach my the
>> BeanModel a new trick. So I tried to contribute a TypeCoercer and a
>> TranslatorSource, but neither of them seems to work.
>>
>> My try on TypeCoercer:
>>
>> --------------------------------------------------
>> public static void
>> contributeTypeCoercer(Configuration<CoercionTuple> configuration)
>> {
>> Coercion<Status, String> coercionStatusString = new
>> Coercion<Status, String>()
>> {
>> public String coerce(Status input)
>> {
>> return input.toString();
>> }
>> };
>> configuration.add(new CoercionTuple<Status,
>> String>(Status.class, String.class, coercionStatusString)); }
>> --------------------------------------------------
>>
>>
>> My try on TranslatorSource:
>>
>> --------------------------------------------------
>> public static void
>> contributeTranslatorDefaultSource(MappedConfiguration<Class,
>> Translator> configuration) {
>> configuration.add(Status.class, new StatusTranslator());
>> }
>> public static void
>> contributeTranslatorSource(MappedConfiguration<String, Translator>
>> configuration) {
>> configuration.add("status", new StatusTranslator());
>> }
>> --------------------------------------------------
>>
>> --------------------------------------------------
>> public class StatusTranslator implements Translator<Status> {
>>
>> public Class<Status> getType() {
>> return Status.class;
>> }
>>
>> public Status parseClient(String arg0, Messages arg1)
>> throws ValidationException {
>> throw new ValidationException("StatusTranslator cannot
>> implement parseClient()");
>> }
>>
>> public String toClient(Status arg0) {
>> return arg0.toString();
>> }
>>
>> }
>> --------------------------------------------------
>>
>>
>> Am I missing something? Or am I on a complete wrong path?
>> Any hints on how to solve my problem are welcome.
>>
>> Thanks in advance,
>> Tobias
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Teaching the BeanModel to always add my class
Posted by "Filip S. Adamsen" <fs...@fsadev.com>.
Hi,
You might need to add a new property editor, see Adding New Property
Editors at
http://tapestry.apache.org/tapestry5/tapestry-core/guide/beaneditform.html.
-Filip
On 2008-04-15 18:37, Tobias Wehrum wrote:
> Hi there,
>
> I have a class named "Status" which implements toString(). But still
> when I have class A, which has a property of type Status, I always have
> to add the Status property to the BeanModel with model.add("myStatus").
>
> Obviously implementing toString() isn't enough to teach my the BeanModel
> a new trick. So I tried to contribute a TypeCoercer and a
> TranslatorSource, but neither of them seems to work.
>
> My try on TypeCoercer:
>
> --------------------------------------------------
> public static void contributeTypeCoercer(Configuration<CoercionTuple>
> configuration)
> {
> Coercion<Status, String> coercionStatusString = new
> Coercion<Status, String>()
> {
> public String coerce(Status input)
> {
> return input.toString();
> }
> };
> configuration.add(new CoercionTuple<Status,
> String>(Status.class, String.class, coercionStatusString)); }
> --------------------------------------------------
>
>
> My try on TranslatorSource:
>
> --------------------------------------------------
> public static void
> contributeTranslatorDefaultSource(MappedConfiguration<Class, Translator>
> configuration) {
> configuration.add(Status.class, new StatusTranslator());
> }
> public static void
> contributeTranslatorSource(MappedConfiguration<String, Translator>
> configuration) {
> configuration.add("status", new StatusTranslator());
> }
> --------------------------------------------------
>
> --------------------------------------------------
> public class StatusTranslator implements Translator<Status> {
>
> public Class<Status> getType() {
> return Status.class;
> }
>
> public Status parseClient(String arg0, Messages arg1)
> throws ValidationException {
> throw new ValidationException("StatusTranslator cannot implement
> parseClient()");
> }
>
> public String toClient(Status arg0) {
> return arg0.toString();
> }
>
> }
> --------------------------------------------------
>
>
> Am I missing something? Or am I on a complete wrong path?
> Any hints on how to solve my problem are welcome.
>
> Thanks in advance,
> Tobias
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org