Re: ExtVal: ELHelper composite component problem

2010-06-02 Thread Rene Stehr

Dear Gerhard,

thank you for the quick reply. I am using the ExtVal library in my custom code 
to get further information about the value binding in order to map errors (from 
our backend) that occur at the Invoke Application phase to the corresponding 
UIInput-fields. That means, I need to know for each UIInput-object the bound 
backing bean object and the attribute name, both are described by the EL 
expression in the value-attribute of the UIInput (e.g., #{cc.attrs.person.name} 
- Backing Bean object is person1:Person, attribute name is name; person1 
is just an example of an existing object at runtime). 

If the ELHelper is not able to resolve cc.attrs expressions, I would be 
grateful if you could recommend me another solution.

Regards,
Rene

 Original-Nachricht 
 Datum: Wed, 2 Jun 2010 00:39:17 +0200
 Von: Gerhard Petracek gerhard.petra...@gmail.com
 An: MyFaces Discussion users@myfaces.apache.org
 Betreff: Re: ExtVal: ELHelper composite component problem

 hi rene,
 
 are you using the implementation provided by extval for your custom code?
 or
 are you just using extval and the problem occurs during the validation
 process?
 
 regards,
 gerhard
 
 http://www.irian.at
 
 Your JSF powerhouse -
 JSF Consulting, Development and
 Courses in English and German
 
 Professional Support for Apache MyFaces
 
 
 2010/6/2 Rene Stehr why-de...@gmx.de
 
  Hello,
 
 
 
  I am using the ELHelper class in order to achieve information about the
  value binding of UIComponents (the binded attribute and the
 corresponding
  backing bean). This information can be received by the method
  „ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which
 returns a
  PropertyDetails-object that contains the data I need.
 
 
 
 
 
  Here is the code:
 
  ELHelper helper = ExtValUtils.getELHelper();
 
  PropertyDetails details = helper.getPropertyDetailsOfValueBinding(comp);
 //
  The comp-Object is an instance of UIInput.
 
 
 
 
 
  This solution works very well, however, if the comp-object is part of a
  custom Composite Component, the details-object is always null. I have
  started to debug the ELHelper but until now I have no clue how it works
 in
  detail. I suppose that the problem is caused by the “cc.attrs”
 expression
  in
  the value-binding of the composite components, e.g.,
  #{cc.attrs.person.name}, that probably can not be resolved.
 
  I also tried to use the ValueExpression directly but this did not work
 as
  well.
 
 
 
  Does anyone understand that problem or even have a solution?
 
 
 
  Thanks in advance for any help
 
  Regards,
 
  Rene
 
 
 
  -
 
  Facts:
 
  JSF: mojarra 2.0.2
 
  ExtVal: 2.0.4 Snapshot
 
  Server: Apache Tomcat 6.0.26
 
 
 
 

-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01


Re: ExtVal: ELHelper composite component problem

2010-06-02 Thread Leonardo Uribe
Hi

It could be good to have more information about what you are trying to do.
In myfaces there is a special code that handles #{cc} resolution, using
the Location object to identify the right composite component from the
composite component stack, so in theory mojarra could have something similar
and that could be the source of the problem.

regards,

Leonardo Uribe

2010/6/2 Rene Stehr why-de...@gmx.de


 Dear Gerhard,

 thank you for the quick reply. I am using the ExtVal library in my custom
 code to get further information about the value binding in order to map
 errors (from our backend) that occur at the Invoke Application phase to the
 corresponding UIInput-fields. That means, I need to know for each
 UIInput-object the bound backing bean object and the attribute name, both
 are described by the EL expression in the value-attribute of the UIInput
 (e.g., #{cc.attrs.person.name} - Backing Bean object is person1:Person,
 attribute name is name; person1 is just an example of an existing object
 at runtime).

 If the ELHelper is not able to resolve cc.attrs expressions, I would be
 grateful if you could recommend me another solution.

 Regards,
 Rene

  Original-Nachricht 
  Datum: Wed, 2 Jun 2010 00:39:17 +0200
  Von: Gerhard Petracek gerhard.petra...@gmail.com
  An: MyFaces Discussion users@myfaces.apache.org
  Betreff: Re: ExtVal: ELHelper composite component problem

  hi rene,
 
  are you using the implementation provided by extval for your custom code?
  or
  are you just using extval and the problem occurs during the validation
  process?
 
  regards,
  gerhard
 
  http://www.irian.at
 
  Your JSF powerhouse -
  JSF Consulting, Development and
  Courses in English and German
 
  Professional Support for Apache MyFaces
 
 
  2010/6/2 Rene Stehr why-de...@gmx.de
 
   Hello,
  
  
  
   I am using the ELHelper class in order to achieve information about the
   value binding of UIComponents (the binded attribute and the
  corresponding
   backing bean). This information can be received by the method
   „ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which
  returns a
   PropertyDetails-object that contains the data I need.
  
  
  
  
  
   Here is the code:
  
   ELHelper helper = ExtValUtils.getELHelper();
  
   PropertyDetails details =
 helper.getPropertyDetailsOfValueBinding(comp);
  //
   The comp-Object is an instance of UIInput.
  
  
  
  
  
   This solution works very well, however, if the comp-object is part of a
   custom Composite Component, the details-object is always null. I have
   started to debug the ELHelper but until now I have no clue how it works
  in
   detail. I suppose that the problem is caused by the “cc.attrs”
  expression
   in
   the value-binding of the composite components, e.g.,
   #{cc.attrs.person.name}, that probably can not be resolved.
  
   I also tried to use the ValueExpression directly but this did not work
  as
   well.
  
  
  
   Does anyone understand that problem or even have a solution?
  
  
  
   Thanks in advance for any help
  
   Regards,
  
   Rene
  
  
  
   -
  
   Facts:
  
   JSF: mojarra 2.0.2
  
   ExtVal: 2.0.4 Snapshot
  
   Server: Apache Tomcat 6.0.26
  
  
  
  

 --
 GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
 Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01



Re: ExtVal: ELHelper composite component problem

2010-06-02 Thread Gerhard Petracek
hi rene,

it isn't an extval issue. this new mechanism of jsf 2 needs a special
context. e.g. during the validation process jsf 2 builds it automatically.
(as you see in the el-helper some additional tricks are needed to get some
parts of the information.) so it works for extval (as well as extval
add-ons). your code gets invoked outside the needed context. that's the
reason why it won't work.

however, you can try to use UIComponent#invokeOnComponent (or
UIComponent#visitTree) for your special requirements.

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2010/6/2 Rene Stehr why-de...@gmx.de


 Dear Gerhard,

 thank you for the quick reply. I am using the ExtVal library in my custom
 code to get further information about the value binding in order to map
 errors (from our backend) that occur at the Invoke Application phase to the
 corresponding UIInput-fields. That means, I need to know for each
 UIInput-object the bound backing bean object and the attribute name, both
 are described by the EL expression in the value-attribute of the UIInput
 (e.g., #{cc.attrs.person.name} - Backing Bean object is person1:Person,
 attribute name is name; person1 is just an example of an existing object
 at runtime).

 If the ELHelper is not able to resolve cc.attrs expressions, I would be
 grateful if you could recommend me another solution.

 Regards,
 Rene

  Original-Nachricht 
  Datum: Wed, 2 Jun 2010 00:39:17 +0200
  Von: Gerhard Petracek gerhard.petra...@gmail.com
  An: MyFaces Discussion users@myfaces.apache.org
  Betreff: Re: ExtVal: ELHelper composite component problem

  hi rene,
 
  are you using the implementation provided by extval for your custom code?
  or
  are you just using extval and the problem occurs during the validation
  process?
 
  regards,
  gerhard
 
  http://www.irian.at
 
  Your JSF powerhouse -
  JSF Consulting, Development and
  Courses in English and German
 
  Professional Support for Apache MyFaces
 
 
  2010/6/2 Rene Stehr why-de...@gmx.de
 
   Hello,
  
  
  
   I am using the ELHelper class in order to achieve information about the
   value binding of UIComponents (the binded attribute and the
  corresponding
   backing bean). This information can be received by the method
   „ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which
  returns a
   PropertyDetails-object that contains the data I need.
  
  
  
  
  
   Here is the code:
  
   ELHelper helper = ExtValUtils.getELHelper();
  
   PropertyDetails details =
 helper.getPropertyDetailsOfValueBinding(comp);
  //
   The comp-Object is an instance of UIInput.
  
  
  
  
  
   This solution works very well, however, if the comp-object is part of a
   custom Composite Component, the details-object is always null. I have
   started to debug the ELHelper but until now I have no clue how it works
  in
   detail. I suppose that the problem is caused by the “cc.attrs”
  expression
   in
   the value-binding of the composite components, e.g.,
   #{cc.attrs.person.name}, that probably can not be resolved.
  
   I also tried to use the ValueExpression directly but this did not work
  as
   well.
  
  
  
   Does anyone understand that problem or even have a solution?
  
  
  
   Thanks in advance for any help
  
   Regards,
  
   Rene
  
  
  
   -
  
   Facts:
  
   JSF: mojarra 2.0.2
  
   ExtVal: 2.0.4 Snapshot
  
   Server: Apache Tomcat 6.0.26
  
  
  
  

 --
 GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
 Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01



Re: ExtVal: ELHelper composite component problem

2010-06-02 Thread Rene Stehr

Hello,

I need for each UIInput object the backing bean and the attribute name that are 
bound to this component.

A simple example:

// sample Backing Bean
@ManagedBean(name=person)
class Person{
  private String name;
  private String surname;
  private Address address;
 ...
}

// sample xhtml-page
h:inputText id=inputField1 value=#{person.name}/
h:inputText id=inputField2 value=#{person.surname}/
address:addressCC id=address address=#{person.address}/

// sample composite component
composite:interface
  composite:attribute name=address/
/composite:interface
composite:implementation
  h:inputText id=inputField3 value=#{cc.attrs.zipcode}/
/composite:implementation

The information I need is the value binding at runtime.
For this example, that would be:
1. inputField1 = base object: person, attribute name:name
2. inputField2 = base object: person, attribute name:surname
3. inputField3 = base object: address, attribute name:zipcode

If a have such a map, I am able to map the backend event error occured at 
'Person.address.zipcode' to the corresponding UIComponent. 

The simplest way to get this data is the method 
ELHelper.getPropertyDetailsOfValueBinding(), which unfortunately does not work 
for the inputField3.

I hope that descibes my concern in more detail.

Regards,
Rene


 Original-Nachricht 
 Datum: Wed, 2 Jun 2010 03:36:27 -0500
 Von: Leonardo Uribe lu4...@gmail.com
 An: MyFaces Discussion users@myfaces.apache.org
 Betreff: Re: ExtVal: ELHelper composite component problem

 Hi
 
 It could be good to have more information about what you are trying to do.
 In myfaces there is a special code that handles #{cc} resolution, using
 the Location object to identify the right composite component from the
 composite component stack, so in theory mojarra could have something
 similar
 and that could be the source of the problem.
 
 regards,
 
 Leonardo Uribe
 
 2010/6/2 Rene Stehr why-de...@gmx.de
 
 
  Dear Gerhard,
 
  thank you for the quick reply. I am using the ExtVal library in my
 custom
  code to get further information about the value binding in order to map
  errors (from our backend) that occur at the Invoke Application phase to
 the
  corresponding UIInput-fields. That means, I need to know for each
  UIInput-object the bound backing bean object and the attribute name,
 both
  are described by the EL expression in the value-attribute of the UIInput
  (e.g., #{cc.attrs.person.name} - Backing Bean object is
 person1:Person,
  attribute name is name; person1 is just an example of an existing
 object
  at runtime).
 
  If the ELHelper is not able to resolve cc.attrs expressions, I would
 be
  grateful if you could recommend me another solution.
 
  Regards,
  Rene
 
   Original-Nachricht 
   Datum: Wed, 2 Jun 2010 00:39:17 +0200
   Von: Gerhard Petracek gerhard.petra...@gmail.com
   An: MyFaces Discussion users@myfaces.apache.org
   Betreff: Re: ExtVal: ELHelper composite component problem
 
   hi rene,
  
   are you using the implementation provided by extval for your custom
 code?
   or
   are you just using extval and the problem occurs during the validation
   process?
  
   regards,
   gerhard
  
   http://www.irian.at
  
   Your JSF powerhouse -
   JSF Consulting, Development and
   Courses in English and German
  
   Professional Support for Apache MyFaces
  
  
   2010/6/2 Rene Stehr why-de...@gmx.de
  
Hello,
   
   
   
I am using the ELHelper class in order to achieve information about
 the
value binding of UIComponents (the binded attribute and the
   corresponding
backing bean). This information can be received by the method
„ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which
   returns a
PropertyDetails-object that contains the data I need.
   
   
   
   
   
Here is the code:
   
ELHelper helper = ExtValUtils.getELHelper();
   
PropertyDetails details =
  helper.getPropertyDetailsOfValueBinding(comp);
   //
The comp-Object is an instance of UIInput.
   
   
   
   
   
This solution works very well, however, if the comp-object is part
 of a
custom Composite Component, the details-object is always null. I
 have
started to debug the ELHelper but until now I have no clue how it
 works
   in
detail. I suppose that the problem is caused by the “cc.attrs”
   expression
in
the value-binding of the composite components, e.g.,
#{cc.attrs.person.name}, that probably can not be resolved.
   
I also tried to use the ValueExpression directly but this did not
 work
   as
well.
   
   
   
Does anyone understand that problem or even have a solution?
   
   
   
Thanks in advance for any help
   
Regards,
   
Rene
   
   
   
-
   
Facts:
   
JSF: mojarra 2.0.2
   
ExtVal: 2.0.4 Snapshot
   
Server: Apache Tomcat 6.0.26
   
   
   
   
 
  --
  GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
  Jetzt freischalten unter http

Re: ExtVal: ELHelper composite component problem

2010-06-02 Thread Gerhard Petracek
hi rene,

in addition to the suggestion of my previous e-mail:

you can also use a custom ProcessedInformationRecorder to create a (request
scoped) storage which provides the required information.

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2010/6/2 Rene Stehr why-de...@gmx.de


 Hello,

 I need for each UIInput object the backing bean and the attribute name that
 are bound to this component.

 A simple example:

 // sample Backing Bean
 @ManagedBean(name=person)
 class Person{
  private String name;
  private String surname;
  private Address address;
  ...
 }

 // sample xhtml-page
 h:inputText id=inputField1 value=#{person.name}/
 h:inputText id=inputField2 value=#{person.surname}/
 address:addressCC id=address address=#{person.address}/

 // sample composite component
 composite:interface
  composite:attribute name=address/
 /composite:interface
 composite:implementation
  h:inputText id=inputField3 value=#{cc.attrs.zipcode}/
 /composite:implementation

 The information I need is the value binding at runtime.
 For this example, that would be:
 1. inputField1 = base object: person, attribute name:name
 2. inputField2 = base object: person, attribute name:surname
 3. inputField3 = base object: address, attribute name:zipcode

 If a have such a map, I am able to map the backend event error occured at
 'Person.address.zipcode' to the corresponding UIComponent.

 The simplest way to get this data is the method
 ELHelper.getPropertyDetailsOfValueBinding(), which unfortunately does not
 work for the inputField3.

 I hope that descibes my concern in more detail.

 Regards,
 Rene


  Original-Nachricht 
  Datum: Wed, 2 Jun 2010 03:36:27 -0500
  Von: Leonardo Uribe lu4...@gmail.com
  An: MyFaces Discussion users@myfaces.apache.org
  Betreff: Re: ExtVal: ELHelper composite component problem

  Hi
 
  It could be good to have more information about what you are trying to
 do.
  In myfaces there is a special code that handles #{cc} resolution, using
  the Location object to identify the right composite component from the
  composite component stack, so in theory mojarra could have something
  similar
  and that could be the source of the problem.
 
  regards,
 
  Leonardo Uribe
 
  2010/6/2 Rene Stehr why-de...@gmx.de
 
  
   Dear Gerhard,
  
   thank you for the quick reply. I am using the ExtVal library in my
  custom
   code to get further information about the value binding in order to map
   errors (from our backend) that occur at the Invoke Application phase to
  the
   corresponding UIInput-fields. That means, I need to know for each
   UIInput-object the bound backing bean object and the attribute name,
  both
   are described by the EL expression in the value-attribute of the
 UIInput
   (e.g., #{cc.attrs.person.name} - Backing Bean object is
  person1:Person,
   attribute name is name; person1 is just an example of an existing
  object
   at runtime).
  
   If the ELHelper is not able to resolve cc.attrs expressions, I would
  be
   grateful if you could recommend me another solution.
  
   Regards,
   Rene
  
    Original-Nachricht 
Datum: Wed, 2 Jun 2010 00:39:17 +0200
Von: Gerhard Petracek gerhard.petra...@gmail.com
An: MyFaces Discussion users@myfaces.apache.org
Betreff: Re: ExtVal: ELHelper composite component problem
  
hi rene,
   
are you using the implementation provided by extval for your custom
  code?
or
are you just using extval and the problem occurs during the
 validation
process?
   
regards,
gerhard
   
http://www.irian.at
   
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
   
Professional Support for Apache MyFaces
   
   
2010/6/2 Rene Stehr why-de...@gmx.de
   
 Hello,



 I am using the ELHelper class in order to achieve information about
  the
 value binding of UIComponents (the binded attribute and the
corresponding
 backing bean). This information can be received by the method
 „ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which
returns a
 PropertyDetails-object that contains the data I need.





 Here is the code:

 ELHelper helper = ExtValUtils.getELHelper();

 PropertyDetails details =
   helper.getPropertyDetailsOfValueBinding(comp);
//
 The comp-Object is an instance of UIInput.





 This solution works very well, however, if the comp-object is part
  of a
 custom Composite Component, the details-object is always null. I
  have
 started to debug the ELHelper but until now I have no clue how it
  works
in
 detail. I suppose that the problem is caused by the “cc.attrs”
expression
 in
 the value-binding of the composite components, e.g.,
 #{cc.attrs.person.name

Re: ExtVal: ELHelper composite component problem

2010-06-02 Thread Rene Stehr

Hi Gerhard,

thank you for your support. I will check the recommended solutions.

Regards,
Rene

 Original-Nachricht 
 Datum: Wed, 2 Jun 2010 11:55:40 +0200
 Von: Gerhard Petracek gerhard.petra...@gmail.com
 An: MyFaces Discussion users@myfaces.apache.org
 Betreff: Re: ExtVal: ELHelper composite component problem

 hi rene,
 
 in addition to the suggestion of my previous e-mail:
 
 you can also use a custom ProcessedInformationRecorder to create a
 (request
 scoped) storage which provides the required information.
 
 regards,
 gerhard
 
 http://www.irian.at
 
 Your JSF powerhouse -
 JSF Consulting, Development and
 Courses in English and German
 
 Professional Support for Apache MyFaces
 
 
 
 2010/6/2 Rene Stehr why-de...@gmx.de
 
 
  Hello,
 
  I need for each UIInput object the backing bean and the attribute name
 that
  are bound to this component.
 
  A simple example:
 
  // sample Backing Bean
  @ManagedBean(name=person)
  class Person{
   private String name;
   private String surname;
   private Address address;
   ...
  }
 
  // sample xhtml-page
  h:inputText id=inputField1 value=#{person.name}/
  h:inputText id=inputField2 value=#{person.surname}/
  address:addressCC id=address address=#{person.address}/
 
  // sample composite component
  composite:interface
   composite:attribute name=address/
  /composite:interface
  composite:implementation
   h:inputText id=inputField3 value=#{cc.attrs.zipcode}/
  /composite:implementation
 
  The information I need is the value binding at runtime.
  For this example, that would be:
  1. inputField1 = base object: person, attribute name:name
  2. inputField2 = base object: person, attribute name:surname
  3. inputField3 = base object: address, attribute name:zipcode
 
  If a have such a map, I am able to map the backend event error occured
 at
  'Person.address.zipcode' to the corresponding UIComponent.
 
  The simplest way to get this data is the method
  ELHelper.getPropertyDetailsOfValueBinding(), which unfortunately does
 not
  work for the inputField3.
 
  I hope that descibes my concern in more detail.
 
  Regards,
  Rene
 
 
   Original-Nachricht 
   Datum: Wed, 2 Jun 2010 03:36:27 -0500
   Von: Leonardo Uribe lu4...@gmail.com
   An: MyFaces Discussion users@myfaces.apache.org
   Betreff: Re: ExtVal: ELHelper composite component problem
 
   Hi
  
   It could be good to have more information about what you are trying to
  do.
   In myfaces there is a special code that handles #{cc} resolution,
 using
   the Location object to identify the right composite component from the
   composite component stack, so in theory mojarra could have something
   similar
   and that could be the source of the problem.
  
   regards,
  
   Leonardo Uribe
  
   2010/6/2 Rene Stehr why-de...@gmx.de
  
   
Dear Gerhard,
   
thank you for the quick reply. I am using the ExtVal library in my
   custom
code to get further information about the value binding in order to
 map
errors (from our backend) that occur at the Invoke Application phase
 to
   the
corresponding UIInput-fields. That means, I need to know for each
UIInput-object the bound backing bean object and the attribute name,
   both
are described by the EL expression in the value-attribute of the
  UIInput
(e.g., #{cc.attrs.person.name} - Backing Bean object is
   person1:Person,
attribute name is name; person1 is just an example of an existing
   object
at runtime).
   
If the ELHelper is not able to resolve cc.attrs expressions, I
 would
   be
grateful if you could recommend me another solution.
   
Regards,
Rene
   
 Original-Nachricht 
 Datum: Wed, 2 Jun 2010 00:39:17 +0200
 Von: Gerhard Petracek gerhard.petra...@gmail.com
 An: MyFaces Discussion users@myfaces.apache.org
 Betreff: Re: ExtVal: ELHelper composite component problem
   
 hi rene,

 are you using the implementation provided by extval for your
 custom
   code?
 or
 are you just using extval and the problem occurs during the
  validation
 process?

 regards,
 gerhard

 http://www.irian.at

 Your JSF powerhouse -
 JSF Consulting, Development and
 Courses in English and German

 Professional Support for Apache MyFaces


 2010/6/2 Rene Stehr why-de...@gmx.de

  Hello,
 
 
 
  I am using the ELHelper class in order to achieve information
 about
   the
  value binding of UIComponents (the binded attribute and the
 corresponding
  backing bean). This information can be received by the method
  „ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“,
 which
 returns a
  PropertyDetails-object that contains the data I need.
 
 
 
 
 
  Here is the code:
 
  ELHelper helper = ExtValUtils.getELHelper();
 
  PropertyDetails details

SOLVED: ExtVal: ELHelper composite component problem

2010-06-02 Thread Rene Stehr
Hi Gerhard,

after some hours of intensive debbugging, I have found the differences between 
the EL resolution at render and invoke-application time. It seems that the 
FacesContext is used as temporary saving location for the NamingContainer of 
the composite component, which is currently rendered (saved in the 
attributes-map with the key: UIComponent.CURRENT_COMPOSITE_COMPONENT). In the 
class ContextualCompositeValueExpression, this attribute is read for the 
treatment of composite components, which enables to resolve cc.attrs 
expressions. 

If I set the CURRENT_COMPOSITE_COMPONENT attribute manually before calling the 
ELHelper, the return-value is not null and holds the expected data.

Code:
// namingCont is the NamingContainer which holds the current UIComponent 
comp

// set the naming container
fctx.getAttributes().put(UIComponent.CURRENT_COMPOSITE_COMPONENT, namingCont);

// get the property details
ELHelper helper = ExtValUtils.getELHelper();
PropertyDetails details = helper.getPropertyDetailsOfValueBinding(comp);

// remove the naming container
fctx.getAttributes().remove(UIComponent.CURRENT_COMPOSITE_COMPONENT);


However, I'm not sure if this could lead to negative side effects. I will test 
the methods that you have recommended (UIComponent#invokeOnComponent 
UIComponent#visitTree). Maybe the CURRENT_COMPOSITE_COMPONENT-attribute is set 
automatically while traversing the view-root.

Thank you in advance for your help

Best regards,
Rene


 Original-Nachricht 
 Datum: Wed, 2 Jun 2010 11:55:40 +0200
 Von: Gerhard Petracek gerhard.petra...@gmail.com
 An: MyFaces Discussion users@myfaces.apache.org
 Betreff: Re: ExtVal: ELHelper composite component problem

 hi rene,
 
 in addition to the suggestion of my previous e-mail:
 
 you can also use a custom ProcessedInformationRecorder to create a
 (request
 scoped) storage which provides the required information.
 
 regards,
 gerhard
 
 http://www.irian.at
 
 Your JSF powerhouse -
 JSF Consulting, Development and
 Courses in English and German
 
 Professional Support for Apache MyFaces
 
 
 
 2010/6/2 Rene Stehr why-de...@gmx.de
 
 
  Hello,
 
  I need for each UIInput object the backing bean and the attribute name
 that
  are bound to this component.
 
  A simple example:
 
  // sample Backing Bean
  @ManagedBean(name=person)
  class Person{
   private String name;
   private String surname;
   private Address address;
   ...
  }
 
  // sample xhtml-page
  h:inputText id=inputField1 value=#{person.name}/
  h:inputText id=inputField2 value=#{person.surname}/
  address:addressCC id=address address=#{person.address}/
 
  // sample composite component
  composite:interface
   composite:attribute name=address/
  /composite:interface
  composite:implementation
   h:inputText id=inputField3 value=#{cc.attrs.zipcode}/
  /composite:implementation
 
  The information I need is the value binding at runtime.
  For this example, that would be:
  1. inputField1 = base object: person, attribute name:name
  2. inputField2 = base object: person, attribute name:surname
  3. inputField3 = base object: address, attribute name:zipcode
 
  If a have such a map, I am able to map the backend event error occured
 at
  'Person.address.zipcode' to the corresponding UIComponent.
 
  The simplest way to get this data is the method
  ELHelper.getPropertyDetailsOfValueBinding(), which unfortunately does
 not
  work for the inputField3.
 
  I hope that descibes my concern in more detail.
 
  Regards,
  Rene
 
 
   Original-Nachricht 
   Datum: Wed, 2 Jun 2010 03:36:27 -0500
   Von: Leonardo Uribe lu4...@gmail.com
   An: MyFaces Discussion users@myfaces.apache.org
   Betreff: Re: ExtVal: ELHelper composite component problem
 
   Hi
  
   It could be good to have more information about what you are trying to
  do.
   In myfaces there is a special code that handles #{cc} resolution,
 using
   the Location object to identify the right composite component from the
   composite component stack, so in theory mojarra could have something
   similar
   and that could be the source of the problem.
  
   regards,
  
   Leonardo Uribe
  
   2010/6/2 Rene Stehr why-de...@gmx.de
  
   
Dear Gerhard,
   
thank you for the quick reply. I am using the ExtVal library in my
   custom
code to get further information about the value binding in order to
 map
errors (from our backend) that occur at the Invoke Application phase
 to
   the
corresponding UIInput-fields. That means, I need to know for each
UIInput-object the bound backing bean object and the attribute name,
   both
are described by the EL expression in the value-attribute of the
  UIInput
(e.g., #{cc.attrs.person.name} - Backing Bean object is
   person1:Person,
attribute name is name; person1 is just an example of an existing
   object
at runtime).
   
If the ELHelper is not able to resolve cc.attrs expressions, I
 would
   be
grateful if you could recommend

ExtVal: ELHelper composite component problem

2010-06-01 Thread Rene Stehr
Hello,

 

I am using the ELHelper class in order to achieve information about the
value binding of UIComponents (the binded attribute and the corresponding
backing bean). This information can be received by the method
„ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which returns a
PropertyDetails-object that contains the data I need. 

 

 

Here is the code:

ELHelper helper = ExtValUtils.getELHelper();

PropertyDetails details = helper.getPropertyDetailsOfValueBinding(comp); //
The comp-Object is an instance of UIInput.

 

 

This solution works very well, however, if the comp-object is part of a
custom Composite Component, the details-object is always null. I have
started to debug the ELHelper but until now I have no clue how it works in
detail. I suppose that the problem is caused by the “cc.attrs” expression in
the value-binding of the composite components, e.g.,
#{cc.attrs.person.name}, that probably can not be resolved.

I also tried to use the ValueExpression directly but this did not work as
well. 

 

Does anyone understand that problem or even have a solution?

 

Thanks in advance for any help

Regards,

Rene

 

-

Facts:

JSF: mojarra 2.0.2 

ExtVal: 2.0.4 Snapshot

Server: Apache Tomcat 6.0.26

 



Re: ExtVal: ELHelper composite component problem

2010-06-01 Thread Gerhard Petracek
hi rene,

are you using the implementation provided by extval for your custom code?
or
are you just using extval and the problem occurs during the validation
process?

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces


2010/6/2 Rene Stehr why-de...@gmx.de

 Hello,



 I am using the ELHelper class in order to achieve information about the
 value binding of UIComponents (the binded attribute and the corresponding
 backing bean). This information can be received by the method
 „ELHelper.getPropertyDetailsOfValueBinding(UIComponent)“, which returns a
 PropertyDetails-object that contains the data I need.





 Here is the code:

 ELHelper helper = ExtValUtils.getELHelper();

 PropertyDetails details = helper.getPropertyDetailsOfValueBinding(comp); //
 The comp-Object is an instance of UIInput.





 This solution works very well, however, if the comp-object is part of a
 custom Composite Component, the details-object is always null. I have
 started to debug the ELHelper but until now I have no clue how it works in
 detail. I suppose that the problem is caused by the “cc.attrs” expression
 in
 the value-binding of the composite components, e.g.,
 #{cc.attrs.person.name}, that probably can not be resolved.

 I also tried to use the ValueExpression directly but this did not work as
 well.



 Does anyone understand that problem or even have a solution?



 Thanks in advance for any help

 Regards,

 Rene



 -

 Facts:

 JSF: mojarra 2.0.2

 ExtVal: 2.0.4 Snapshot

 Server: Apache Tomcat 6.0.26