alwin-joseph / target-test-jsf-issue-migration

This is to tet -jsf-issue-migration
0 stars 0 forks source link

Use method bindings in , etc. #21

Closed alwin-joseph closed 14 years ago

alwin-joseph commented 20 years ago

On Thu, 08 Apr 2004 15:56:21 -0700, Adam Winer adam.winer@ORACLE.COM said:

AW> We built the following tags: AW> AW> AW> AW>

AW> ... before we had MethodBindings. The first two support class names; AW> the latter two, IDs. These are all still useful as-is, but it would be AW> even more useful - and more consistent - to also support MethodBinding AW> EL expressions in these tags.

AW> This was requested a couple times from the EG, but I don't think AW> it ever got assigned a Scarab number.

AW> I'd recommend this as a must-have for 1.2 and a nice-to-have for 1.1. AW> Seems like relatively little work to implement the feature (forgetting, AW> as I sometimes do, about the time it takes to add tests for the AW> feature.)

AW> – Adam

ed.burns@sun.com 2004-04-12 ed.burns@sun.com 2004-04-12

Comments last updated 2004-08-18 15:40:38.0

I've closed 4962916 as a duplicate of this bug. Make sure both issues are addressed. ed.burns@sun.com 8/18/04 15:40 GMT ed.burns@sun.com 8/18/04 15:40 GMT

Environment

Operating System: All Platform: Sun

Affected Versions

[1.2]

alwin-joseph commented 5 years ago
alwin-joseph commented 20 years ago

@glassfishrobot Commented Reported by @edburns

alwin-joseph commented 20 years ago

@glassfishrobot Commented @edburns said: reassign

alwin-joseph commented 19 years ago

@glassfishrobot Commented rogerk said: Ed Burns wrote:

Comments inline (where else would they be?)

On Mon, 18 Oct 2004 10:04:54 -0700, Adam Winer adam.winer@ORACLE.COM said:

AW> A question from a member of my team prompts me to make an AW> alternate proposal for the "MethodBinding": instead of AW> using EL to generate MethodBindings to ActionListeners, Validators, AW> etc., use EL to locate instances of these classes, e.g.,

AW> public class ConfiguredStuff AW> { AW> public Validator getCurrencyValidator()

{ ... }

AW> public Converter getSsnConverter() { ... }

AW> }

AW> AW> <f:validator instance="#

{configured.currencyValidator}"/>

AW> AW> </h:inputText>

AW> Disadvantages: AW> (1) More work for a one-off validator/listener/etc. AW> (2) Can't define multiple validators, etc., in a single class AW> without using inner classes. AW> (3) Can only use one "MethodBinding" validator/listener per AW> component (since MethodBindings would only be available AW> as component properties). AW> (4) Some inconsistency; in an example like: AW> AW> <f:validator instance="#{configured.currencyValidator}

"/>

AW> </h:inputText> AW> ... you'd access "wackyValidator" differently than AW> "currencyValidator".

Harold> I'm still getting up to speed, so forgive me if this is an ignorant HA> question but, is there a reason why we can do this:

HA> <h:inputText validatorInstance="#

{configured.wackyValidator}

">

HA> <f:validator instance="#

{configured.currencyValidator}

"/>

HA> </h:inputText>

HA> This would remove disadvantage 4, correct?

AW> Only in part, since we'd certainly have to continue to support AW> "validator" as an attribute on . It'd also be AW> a rather funky attribute, because it would (necessarily) end AW> up calling addValidator() (instead of setValidator()).

AW> I'd be deeply uncomfortable having an attribute of a tag - AW> so far, is always mirrored on the component as setting a property - AW> result in an "add" operation. "add" operations are currently AW> always modeled as child tags, which is a good thing.

Also, Harold, at a more fundamental level, we want to minimize how much we change the semantics of the tag attributes.

Roger> Can we look at it from the perspective that one approach is a RK> "method-based" approach and the other is a "class-based" approach? RK> So maybe we don't have to look at it so much as an "inconsistency", RK> but just as another way for developers to specify JSF validators? RK> This new proposal is very similar to component binding...

I propose we scrap the previous proposal to have a type attribute that is a MethodBinding that points to a method that performs validation, etc, in favor of adding the "binding" attribute. Formally:

Add a "binding" attribute to the following tags:

This works exactly like the "binding" attribute on the component tags. Now, I know that it's not semantically just the same since the f: tags expressly don't map to UIComponent instances, but there's no reason why they can't map to actionListener, valueChangeListener, validator, or converter instances. Furthermore, this would cause the instance to be added to the enclosing parent, where no such behavior exists in the h: binding case. Of course, we could change the name of the attribute to reflect this difference by calling it "instance" as Adam suggested. I think this mechanism is "close enough" to being a binding such that it would be more confusing to introduce the "instance" attribute.

Hrm. The semantics are a bit different, since there's no "set-if-getter-returns-null" here. I can imagine that if someone wrote:

<f:validator id="foo" binding="#

{myBean.validator}

"/>

... they'd expect to create the "foo" validator, then call setValidator() on myBean to push it in.

OTOH, I hate inventing a new word when one already exists that basically works, and "binding" is such a word.

Would there be anything wrong with just supporting the full set of "binding" semantics? This'd also dodge the question of mutual exclusivity. So, for example, for :

(I'm not worried about an inconsistency w/r to adding the instance to the enclosing parent, since that in fact does happen with component instances. They're added to their parent component.)

The most significant inconsistency I see is that I assume "binding" is used most often in "set" mode on components, but will be used most often in "get" mode for these tags. But at least both are feasible.

If we went this route, a reasonable question would be whether "binding" should be supported on all validator and converter tags, and I can't see why not.

– Adam

Ed Burns wrote:

On Tue, 19 Oct 2004 08:47:18 -0700, Adam Winer adam.winer@ORACLE.COM said:

AW> Ed Burns wrote: AW> Would there be anything wrong with just supporting the full set AW> of "binding" semantics? This'd also dodge the question of AW> mutual exclusivity. So, for example, for :

AW> - If "binding" is set, it is converted into a ValueBinding instance AW> that must be of type javax.faces.validator.Validator, or a subtype AW> thereof. AW> - Evaluation proceeds as follows: AW> (1) If "binding" is set, getValue() is called on the ValueBinding. If AW> it returns a non-null value, that is used as the Validator instance, AW> and execution continues at step 3. AW> (2) Else if "id" is set, that value is used for a call to AW> Application.createValidator(). If "binding" is set, setValue() AW> is called on its ValueBinding with this new instance. AW> (3) If no Validator has yet been produced, a JspException is thrown. If AW> the parent component is not an instance of EditableValueHolder, AW> a JspException is thrown. Otherwise, the validator is added to AW> the parent component using EditableValueHolder.addValidator().

AW> (I'm not worried about an inconsistency w/r to adding the instance to the AW> enclosing parent, since that in fact does happen with component instances. AW> They're added to their parent component.)

I like this idea.

AW> The most significant inconsistency I see is that I assume "binding" AW> is used most often in "set" mode on components, but will be used AW> most often in "get" mode for these tags. But at least both are AW> feasible.

I disagree that it's used in "get" mode on components. I thought the whole point was to allow your managed-bean to have a JavaBeans property that is the UIComponent instance which should be bound to the tag.

I just meant that, most of the time I use "binding", I let the tag create the component (though I think that Studio Creator creates the components in the bean, which I find kinda gross). With this use of "binding", I'd usually let the bean create the validator/converter/listener. But it's no big thing.

AW> If we went this route, a reasonable question would be whether AW> "binding" should be supported on all validator and converter tags, AW> and I can't see why not.

I agree. Why not.

– Adam

Adam Winer wrote:

Ed Burns wrote:

On Tue, 19 Oct 2004 08:47:18 -0700, Adam Winer adam.winer@ORACLE.COM said:

AW> Ed Burns wrote: AW> Would there be anything wrong with just supporting the full set AW> of "binding" semantics? This'd also dodge the question of AW> mutual exclusivity. So, for example, for :

AW> - If "binding" is set, it is converted into a ValueBinding instance AW> that must be of type javax.faces.validator.Validator, or a subtype AW> thereof. AW> - Evaluation proceeds as follows: AW> (1) If "binding" is set, getValue() is called on the ValueBinding. If AW> it returns a non-null value, that is used as the Validator instance, AW> and execution continues at step 3. AW> (2) Else if "id" is set, that value is used for a call to AW> Application.createValidator(). If "binding" is set, setValue() AW> is called on its ValueBinding with this new instance. AW> (3) If no Validator has yet been produced, a JspException is thrown. If AW> the parent component is not an instance of EditableValueHolder, AW> a JspException is thrown. Otherwise, the validator is added to AW> the parent component using EditableValueHolder.addValidator().

AW> (I'm not worried about an inconsistency w/r to adding the instance to the AW> enclosing parent, since that in fact does happen with component instances. AW> They're added to their parent component.)

I like this idea.

+1 I like the idea of not having to introduce yet another attribute. I have no problem expanding the scope of "binding" to validators, converters, etc.

AW> The most significant inconsistency I see is that I assume "binding" AW> is used most often in "set" mode on components, but will be used AW> most often in "get" mode for these tags. But at least both are AW> feasible.

I disagree that it's used in "get" mode on components. I thought the whole point was to allow your managed-bean to have a JavaBeans property that is the UIComponent instance which should be bound to the tag.

I just meant that, most of the time I use "binding", I let the tag create the component (though I think that Studio Creator creates the components in the bean, which I find kinda gross). With this use of "binding", I'd usually let the bean create the validator/converter/listener. But it's no big thing.

AW> If we went this route, a reasonable question would be whether AW> "binding" should be supported on all validator and converter tags, AW> and I can't see why not.

I agree. Why not.

Makes sense for consistency.

– Adam

I'd like to reach concensus on this today - so if anyone has anything to add, please do so today. Otherwise, we'll run with this proposal.

Thanks, Roger.

alwin-joseph commented 19 years ago

@glassfishrobot Commented rogerk said: Created an attachment (id=4) Differences and New Files For Issue 21.

alwin-joseph commented 19 years ago

@glassfishrobot Commented rogerk said: This is the first part of implementation for this issue. The rest will be done in a subsequent checkin (ri changes that deal with core tag changes and TLV changes).

jsf-api

M build.xml

M src/javax/faces/Messages.properties

Index: build.xml

RCS file: /cvs/javaserverfaces-sources/jsf-api/build.xml,v retrieving revision 1.136 diff -u -r1.136 build.xml — build.xml 8 Nov 2004 20:15:57 -0000 1.136 +++ build.xml 11 Nov 2004 14:56:17 -0000 @@ -292,6 +292,11 @@ todir="$

{build.generate}/javax/faces/validator" filtering="true"/>

/javax/faces/webapp"

Index: ConverterTag.java

RCS file: /cvs/javaserverfaces-sources/jsf-api/src/javax/faces/webapp/ConverterTag.java,v retrieving revision 1.10 diff -u -r1.10 ConverterTag.java — ConverterTag.java 26 Feb 2004 20:31:19 -0000 1.10 +++ ConverterTag.java 11 Nov 2004 14:54:53 -0000 @@ -9,9 +9,12 @@

package javax.faces.webapp;

- -import javax.faces.component.ValueHolder; +import javax.faces.FactoryFinder; +import javax.faces.application.Application; +import javax.faces.application.ApplicationFactory; +import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; +import javax.faces.component.ValueHolder; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; @@ -20,9 +23,8 @@ import javax.servlet.jsp.tagext.Tag; import javax.servlet.jsp.tagext.TagSupport;

-import javax.faces.application.ApplicationFactory; -import javax.faces.application.Application; -import javax.faces.FactoryFinder; + +

@@ -61,11 +63,22 @@

// -------------------------------------------------------------- Attributes

/**

// Nothing to do unless this tag created a component if (!tag.getCreated())

{ return (SKIP_BODY); }

+

{ + throw new JspException(message.getSummary()); + } else { + throw new JspException("Can't create Component from tag."); + }

else

{ + throw new JspException("Not nested in a tag of proper type. Error for tag with handler class:"+ + this.getClass().getName()); + }

} @@ -134,19 +225,47 @@ */ protected Validator createValidator() throws JspException {

Index: Messages.properties

RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/javax/faces/Messages.properties,v retrieving revision 1.17 diff -u -r1.17 Messages.properties — Messages.properties 26 Jul 2004 21:12:45 -0000 1.17 +++ Messages.properties 11 Nov 2004 15:00:30 -0000 @@ -65,6 +65,20 @@ javax.faces.validator.LongRangeValidator.MINIMUM=Validation Error: Value is less than allowable minimum of ''

{0}'' javax.faces.validator.LongRangeValidator.TYPE=Validation Error: Value is not of the correct type.

+# ============================================================================== +# Webapp Errors +# ============================================================================== +javax.faces.webapp.INVALID_EXPRESSION=Invalid expression: ''{0}

''. +javax.faces.webapp.COMPONENT_FROM_TAG_ERROR=Can''t create Component from tag. +javax.faces.webapp.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag Error for tag with handler class: ''

{0}''. +javax.faces.webapp.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''{0}

''. +javax.faces.webapp.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''

{0}'' from: ''{1}''. +javax.faces.webapp.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''{0}

''. + + + + +javax.faces.webapp.INVALID_PARENT_COMPONENT=Parent component must be type: ''

{0}''.

==============================================================================

IMPLEMENTATION DEFINED MESSAGES

@@ -74,6 +88,7 @@ com.sun.faces.ATTRIBUTE_NOT_SUPORTED=Attribute ''{0}

'' not supported for component type ''

{1}''. com.sun.faces.CANT_CONVERT_VALUE=Can''t convert property: ''{0}'' to value type: ''{1}

''. com.sun.faces.CANT_CLOSE_INPUT_STREAM=Unable to close input stream. +com.sun.faces.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''

{0}'' from ''{1}''. com.sun.faces.CANT_CREATE_LIFECYCLE_ERROR=Can''t create Lifecycle for id: ''{0}

''. com.sun.faces.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''

{0}''. com.sun.faces.CANT_INTROSPECT_CLASS=Can''t introspect class: ''{0}

'' @@ -111,6 +126,7 @@ com.sun.faces.MODELUPDATE_ERROR=Model Update failure for value ''

{0}'' in model''{1}''. com.sun.faces.NAMED_OBJECT_NOT_FOUND_ERROR=Expression Error: Named Object: ''{0}

'' not found. com.sun.faces.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag Error for tag with handler class: ''

{0}''. +com.sun.faces.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''{0}

''. com.sun.faces.NO_DTD_FOUND_ERROR=Unable to locate DTD with PUBLIC ID ''

{0}'' at path ''{1}''. com.sun.faces.NULL_BODY_CONTENT_ERROR=BodyContent is null for tag with handler class: ''{0}

''. com.sun.faces.NULL_COMPONENT_ERROR=Construction Error: Component argument is null.

alwin-joseph commented 19 years ago

@glassfishrobot Commented rogerk said: Back out i18n messages until EG discussion on them.

M src/javax/faces/webapp/ConverterTag.java M src/javax/faces/webapp/ValidatorTag.java

M src/javax/faces/Messages.properties M src/javax/faces/Messages_de.properties M src/javax/faces/Messages_es.properties M src/javax/faces/Messages_fr.properties

Index: ConverterTag.java

RCS file: /cvs/javaserverfaces-sources/jsf-api/src/javax/faces/webapp/ConverterTag.java,v retrieving revision 1.11 diff -u -r1.11 ConverterTag.java — ConverterTag.java 11 Nov 2004 16:09:38 -0000 1.11 +++ ConverterTag.java 11 Nov 2004 19:50:43 -0000 @@ -63,12 +63,6 @@

// -------------------------------------------------------------- Attributes

// Nothing to do unless this tag created a component @@ -150,24 +132,13 @@

UIComponent component = tag.getComponentInstance(); if (component == null) {

validator = createValidator(); @@ -185,15 +156,9 @@ } }

// Register an instance with the appropriate component

Index: Messages_de.properties

RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/javax/faces/Messages_de.properties,v retrieving revision 1.17 diff -u -r1.17 Messages_de.properties — Messages_de.properties 11 Nov 2004 16:11:23 -0000 1.17 +++ Messages_de.properties 11 Nov 2004 19:53:25 -0000 @@ -44,7 +44,6 @@ javax.faces.validator.LengthValidator.MAXIMUM=Validierungs-Fehler: Wert ist gr\u00F6\u00DFer als zul\u00E4ssiges Maximum ''

{0}''. javax.faces.validator.LengthValidator.MINIMUM=Validierungs-Fehler: Wert ist kleiner als zul\u00E4ssiges Minimum ''{0}

''. javax.faces.component.UIInput.REQUIRED=Validierungs-Fehler: Wert wird ben\u00F6tigt. -javax.faces.component.UIInput.CONVERSION=Conversion error occurred. javax.faces.component.UISelectOne.INVALID=Validierungs-Fehler: Wert nicht g\u00F6ltig. javax.faces.component.UISelectMany.INVALID=Validierungs-Fehler: Wert nicht g\u00F6ltig. javax.faces.validator.RequiredValidator.FAILED=Validierungs-Fehler: Wert wird ben\u00F6tigt. @@ -52,20 +51,6 @@ javax.faces.validator.LongRangeValidator.MAXIMUM=Validierungs-Fehler: Wert ist gr\u00F6\u00DFer als zul\u00E4ssiges Maximum ''

{0}''. javax.faces.validator.LongRangeValidator.MINIMUM=Validierungs-Fehler: Wert ist kleiner als zul\u00E4ssiges Minimum ''{0}

''. javax.faces.validator.LongRangeValidator.TYPE=Validierungs-Fehler: Wert ist nicht vom richtigen Datentyp.

-# ==============================================================================# EL Errors -# ==============================================================================javax.faces.el.INVALID_EXPRESSION=Invalid expression: ''

{0}''.

-# ==============================================================================# Webapp Errors -# ==============================================================================javax.faces.webapp.COMPONENT_FROM_TAG_ERROR=Can''t create Component from tag. -javax.faces.webapp.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag -Error for tag with handler class: ''{0}

''. -javax.faces.webapp.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''

{0}''. -javax.faces.webapp.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''{0}

'' -from: ''

{1}''. -javax.faces.webapp.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''{0}''. -javax.faces.webapp.INVALID_PARENT_COMPONENT=Parent component must be type: ''{0}''.

com.sun.faces.TYPECONVERSION_ERROR=Konvertierungs-Fehler: Wert ''{0}'' f\u00FCr Modell ''{1}

''. com.sun.faces.MODELUPDATE_ERROR=Modell-Aktualisierungsfehler: Fehler w\303\244hrend der Aktualisierung der Wertes ''

{0}'' f\u00fcr Modell ''{1}''. com.sun.faces.FACES_CONTEXT_CONSTRUCTION_ERROR=Fehler beim Erzeugen einer Struktur. FacesContext kann nicht erzeugt werden. Vielleicht sind ein paar Eingabe-Parameter Null? @@ -139,3 +124,5 @@ com.sun.faces.OBJECT_CREATION_ERROR=One or more confgured application objects could not be created. Check your web application logs for details.

com.sun.faces.CYCLIC_REFERENCE_ERROR=Possible cycle reference to managed bean "{0}

" + +javax.faces.component.UIInput.CONVERSION=Conversion error occurred.

Index: Messages_es.properties

RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/javax/faces/Messages_es.properties,v retrieving revision 1.17 diff -u -r1.17 Messages_es.properties — Messages_es.properties 11 Nov 2004 16:11:23 -0000 1.17 +++ Messages_es.properties 11 Nov 2004 19:54:19 -0000 @@ -45,7 +45,6 @@ javax.faces.validator.LengthValidator.MAXIMUM=Error de Validaci\u00F3n: Valor es m\u00E1s grande de valor de m\u00E1ximo permitido: ''

{0}''. javax.faces.validator.LengthValidator.MINIMUM=Error de Validaci\u00F3n: Valor is menos de valor de m\u00EDnimo permitido: ''{0}

''. javax.faces.component.UIInput.REQUIRED=Error de Validaci\u00F3n: Valor es necesario. -javax.faces.component.UIInput.CONVERSION=Conversion error occurred. javax.faces.component.UISelectOne.INVALID=Error de Validaci\u00F3n: Valor no es correcto. javax.faces.component.UISelectMany.INVALID=Error de Validaci\u00F3n: Valor no es correcto. javax.faces.validator.RequiredValidator.FAILED=Error de Validaci\u00f3n: Valor es necesario. @@ -53,20 +52,6 @@ javax.faces.validator.LongRangeValidator.MAXIMUM=Error de Validaci\u00F3n: Valor es m\u00E1s grande de valor de m\u00E1ximo permitido: ''

{0}''. javax.faces.validator.LongRangeValidator.MINIMUM=Error de Validaci\u00F3n: Valor is menos de valor de m\u00EDnimo permitido: ''{0}

''. javax.faces.validator.LongRangeValidator.TYPE=Error de Validaci\u00F3n: Valor no es correcto tipo.

-# ==============================================================================# EL Errors -# ==============================================================================javax.faces.el.INVALID_EXPRESSION=Invalid expression: ''

{0}''.

-# ==============================================================================# Webapp Errors -# ==============================================================================javax.faces.webapp.COMPONENT_FROM_TAG_ERROR=Can''t create Component from tag. -javax.faces.webapp.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag -Error for tag with handler class: ''{0}

''. -javax.faces.webapp.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''

{0}''. -javax.faces.webapp.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''{0}

'' -from: ''

{1}''. -javax.faces.webapp.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''{0}''. -javax.faces.webapp.INVALID_PARENT_COMPONENT=Parent component must be type: ''{0}''.

com.sun.faces.TYPECONVERSION_ERROR=Error de conversion en el valor puesto ''{0}'' del modelo ''{1}

''. com.sun.faces.MODELUPDATE_ERROR=Fallo de poner al d\u00edda del modelo: da valor ''

{0}'' para modelo ''{1}'' com.sun.faces.FACES_CONTEXT_CONSTRUCTION_ERROR=Error de construcci\u00f3n: No puede creer FacesContext. Uno o mas de algunos parametros requerida esta nulo. @@ -140,3 +125,5 @@ com.sun.faces.OBJECT_CREATION_ERROR=One or more confgured application objects could not be created. Check your web application logs for details.

com.sun.faces.CYCLIC_REFERENCE_ERROR=Possible cycle reference to managed bean "{0}

" + +javax.faces.component.UIInput.CONVERSION=Conversion error occurred.

Index: Messages_fr.properties

RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/javax/faces/Messages_fr.properties,v retrieving revision 1.16 diff -u -r1.16 Messages_fr.properties — Messages_fr.properties 11 Nov 2004 16:11:23 -0000 1.16 +++ Messages_fr.properties 11 Nov 2004 19:55:14 -0000 @@ -45,7 +45,6 @@ javax.faces.validator.LengthValidator.MAXIMUM=Erreur de validation\: La valeur sp\u00E9cifi\u00E9e est sup\u00E9rieure \u00B4 la valeur maximale permise ''

{0}''. javax.faces.validator.LengthValidator.MINIMUM=Erreur de validation\: La valeur sp\u00E9cifi\u00E9e est inf\u00E9rieure \u00B4 la valeur minimale permise ''{0}

''. javax.faces.component.UIInput.REQUIRED=Erreur de validation\: Valeur requise. -javax.faces.component.UIInput.CONVERSION=Conversion error occurred. javax.faces.component.UISelectOne.INVALID=Erreur de validation\: Valeur not valid. javax.faces.component.UISelectMany.INVALID=Erreur de validation\: Valeur not valid. javax.faces.validator.RequiredValidator.FAILED=Erreur de validation: Valeur requise. @@ -53,20 +52,6 @@ javax.faces.validator.LongRangeValidator.MAXIMUM=Erreur de validation\: La valeur sp\u00E9cifi\u00E9e est sup\u00E9rieure \u00B4 la valeur maximale permise ''

{0}''. javax.faces.validator.LongRangeValidator.MINIMUM=Erreur de validation\: La valeur sp\u00E9cifi\u00E9e est inf\u00E9rieure \u00B4 la valeur minimale permise ''{0}

''. javax.faces.validator.LongRangeValidator.TYPE=Erreur de validation\: La valeur sp\u00E9cifi\u00E9e n'est pas du bon type.

-# ==============================================================================# EL Errors -# ==============================================================================javax.faces.el.INVALID_EXPRESSION=Invalid expression: ''

{0}''.

-# ==============================================================================# Webapp Errors -# ==============================================================================javax.faces.webapp.COMPONENT_FROM_TAG_ERROR=Can''t create Component from tag. -javax.faces.webapp.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag -Error for tag with handler class: ''{0}

''. -javax.faces.webapp.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''

{0}''. -javax.faces.webapp.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''{0}

'' -from: ''

{1}''. -javax.faces.webapp.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''{0}''. -javax.faces.webapp.INVALID_PARENT_COMPONENT=Parent component must be type: ''{0}''.

com.sun.faces.TYPECONVERSION_ERROR=Erreur de conversion quand la valeur ''{0}'' est commise pour le mod\u00E9le ''{1}

''. com.sun.faces.MODELUPDATE_ERROR=Erreur lors de la mise \u00b4 jour de la valeur ''

{0}'' pour le mod\u00e9le ''{1}''. com.sun.faces.FACES_CONTEXT_CONSTRUCTION_ERROR=Erreur lors de la construction: Ne peut cr\u00e9er le FacesContext. Un ou plusieurs param\u00e9tres peuvent ''tre nuls.

Index: Messages.properties

RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/javax/faces/Messages.properties,v retrieving revision 1.18 diff -u -r1.18 Messages.properties — Messages.properties 11 Nov 2004 16:11:23 -0000 1.18 +++ Messages.properties 11 Nov 2004 19:55:45 -0000 @@ -65,20 +65,6 @@ javax.faces.validator.LongRangeValidator.MINIMUM=Validation Error: Value is less than allowable minimum of ''{0}

'' javax.faces.validator.LongRangeValidator.TYPE=Validation Error: Value is not of the correct type.

-# ==============================================================================-# EL Errors -# ==============================================================================-javax.faces.el.INVALID_EXPRESSION=Invalid expression: ''

{0}''.

-# ==============================================================================-# Webapp Errors -# ==============================================================================-javax.faces.webapp.COMPONENT_FROM_TAG_ERROR=Can''t create Component from tag. -javax.faces.webapp.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag Error for tag with handler class: ''{0}

''. -javax.faces.webapp.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''

{0}''. -javax.faces.webapp.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''{0}

'' from: ''

{1}''. -javax.faces.webapp.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''{0}''. -javax.faces.webapp.INVALID_PARENT_COMPONENT=Parent component must be type: ''{0}''.

# ============================================================================== # IMPLEMENTATION DEFINED MESSAGES @@ -88,7 +74,6 @@ com.sun.faces.ATTRIBUTE_NOT_SUPORTED=Attribute ''{0}'' not supported for component type ''{1}

''. com.sun.faces.CANT_CONVERT_VALUE=Can''t convert property: ''

{0}'' to value type: ''{1}''. com.sun.faces.CANT_CLOSE_INPUT_STREAM=Unable to close input stream. -com.sun.faces.CANT_CREATE_CLASS_ERROR=Can''t create class of type: ''{0}

'' from ''

{1}''. com.sun.faces.CANT_CREATE_LIFECYCLE_ERROR=Can''t create Lifecycle for id: ''{0}''. com.sun.faces.CANT_INSTANTIATE_CLASS=Can''t instantiate class: ''{0}''. com.sun.faces.CANT_INTROSPECT_CLASS=Can''t introspect class: ''{0}'' @@ -126,7 +111,6 @@ com.sun.faces.MODELUPDATE_ERROR=Model Update failure for value ''{0}'' in model''{1}

''. com.sun.faces.NAMED_OBJECT_NOT_FOUND_ERROR=Expression Error: Named Object: ''

{0}'' not found. com.sun.faces.NOT_NESTED_IN_FACES_TAG_ERROR=Not nested in a UIComponentTag Error for tag with handler class: ''{0}

''. -com.sun.faces.NOT_NESTED_IN_TYPE_TAG_ERROR=Not nested in a tag of proper type: Error for tag with handler class: ''

{0}''. com.sun.faces.NO_DTD_FOUND_ERROR=Unable to locate DTD with PUBLIC ID ''{0}

'' at path ''

{1}

''. com.sun.faces.NULL_BODY_CONTENT_ERROR=BodyContent is null for tag with handler class: ''

{0}

''. com.sun.faces.NULL_COMPONENT_ERROR=Construction Error: Component argument is null.

alwin-joseph commented 19 years ago

@glassfishrobot Commented @edburns said: r=edburns

alwin-joseph commented 19 years ago

@glassfishrobot Commented rogerk said: Created an attachment (id=5) Contains differences and new modules

alwin-joseph commented 19 years ago

@glassfishrobot Commented @edburns said: Roger, what happen to the directories in this change-bundle? I was hoping to be able to unzip it in my top level directory, but this change-bundle only has one flat directory level. This makes it harder to review.

I agree using the namespace is better than qualified name. The testcase is very clever as well.

r=edburns

alwin-joseph commented 19 years ago

@glassfishrobot Commented @edburns said: fixed in EDR

alwin-joseph commented 14 years ago

@glassfishrobot Commented @edburns said: Prepare to delete "spec" subcomponent.

alwin-joseph commented 14 years ago

@glassfishrobot Commented @edburns said: Move all to 1.2

alwin-joseph commented 10 years ago

@glassfishrobot Commented @manfredriem said: Closing resolved issue out

alwin-joseph commented 19 years ago

@glassfishrobot Commented File: 21.zip.gz Attached By: rogerk

alwin-joseph commented 19 years ago

@glassfishrobot Commented File: issue21.tar.gz Attached By: rogerk

alwin-joseph commented 20 years ago

@glassfishrobot Commented Was assigned to rogerk

alwin-joseph commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA JAVASERVERFACES_SPEC_PUBLIC-21

alwin-joseph commented 14 years ago

@glassfishrobot Commented Marked as fixed on Thursday, March 4th 2010, 6:09:24 am