I just confirm that seems to be a bug ? on the conversion of

driver.setConstraintViolations(constraints) to List<EditorError> in the 
Editor framework

the jsr 303 reports like this:


Mon Nov 12 21:29:55 GMT-600 2012 foo.bar.client.view.BaseViewImpl INFO: 
tipoIeps

Mon Nov 12 21:29:55 GMT-600 2012 foo.bar.client.view.BaseViewImpl INFO: 
unidadImpuesto 

Just to complement the information i have my subeditors in this manner in 
my Top editor :

public class AddProductViewImpl extends BaseViewImpl implements 
AddProductView, Editor<ProductoProxy>{

@UiField(provided=true)
UiOptionalValueListBoxImpl<ImpuestoProxy,ImpuestoEditorImpl> impuesto = new 
UiOptionalValueListBoxImpl<ImpuestoProxy,ImpuestoEditorImpl>(new 
Renderer<ImpuestoProxy>() {

@Override
public String render(ImpuestoProxy object) {
return object != null ? (object.getNombreImpuesto() != null ? 
object.getNombreImpuesto() : "n/d") : "Seleccione un impuesto";
}

@Override
public void render(ImpuestoProxy object, Appendable appendable) throws 
IOException {
render(object);
}
}, new ImpuestoEditorImpl(true));
...
}

public class UiOptionalValueListBoxImpl<T, E extends Editor<T>> extends 
UiBaseBox implements IsEditor<OptionalFieldEditor<T, E>> {
...
} 


Thank you.


El lunes, 12 de noviembre de 2012 21:26:45 UTC-6, Daniel Mauricio Patino 
León escribió:
>
> Hello there today i am almost finish with a medium complex EntityProxy 
> editor module.
>
> But now seems that i found a new hole or don't know why this happens.
>
> This the proxy scenario:
>
> in ProductoProxy i have:
>
>     @Valid
>     public ImpuestoProxy getImpuesto();
>     @Valid
>     public ImpuestoProxy getIeps();
>
> whose are @Embedded pojos.
>
> Then on the ImpuestoProxy i have properties that need be validated 
> differently when it is Impuesto or Ieps so i created a ImpuestoGroup and 
> ImpuestoIepsTasaGroup marker interfaces to validate differently using the 
> same Editor (see below why):
>
>     @NotNull(message="notNull", groups = {ImpuestoGroup.class, 
> ImpuestoIepsTasaGroup.class}) /*so be validated when it;s Impuesto or Ieps 
> */
>     @DecimalMin(value="0.0", message="decimalMin:0.0", groups = 
> {ImpuestoGroup.class, ImpuestoIepsMontoGroup.class})
>     public Double getTasaImpuesto();
>
>     @NotNull(message="notNull", groups = {ImpuestoIepsMontoGroup.class}) 
> /* so be validated when it's type is Impuesto only */
>     @DecimalMin(value="0.0", message="decimalMin:0.0", groups = 
> {ImpuestoIepsMontoGroup.class})
>     public BigDecimal getMontoImpuesto();
>
>     ...
>
> Plus i need let user choose predefined valueproxy so i used a:
>
> public class UiOptionalValueListBoxImpl<T, E extends Editor<T>> extends 
> UiBaseBox implements IsEditor<OptionalFieldEditor<T, E>>{
>    ...
> }
>
> So when the user edits a getImpuesto() and then want to save it i check 
> for constraints  in this manner:
>
>    driver.flush();
>                 
>    ImpuestoProxy proxy = productoProxy.getIeps(); 
>
>    /* Here i cannot validate the whole ProductoProxy because some 
> constraints fails due my custom groups. 
>    *  so i need validate only the @Embedded proxy
>    */               
>    Set constraints = AddProductViewImpl.this.validator.validate(proxy, 
> proxy.getTipoIeps().equals(TipoIeps.MONTO) ? ImpuestoIepsMontoGroup.class : 
> ImpuestoIepsTasaGroup.class);
>                                             
>    if(!constraints.isEmpty()){
>       driver.setConstraintViolations(constraints);
>    }
>                 
>    logger.log(Level.INFO, "After the flush we got 
> "+driver.getErrors().size());
>
> In my Editor of ImpuestoProxy view i have my own validation ui framework 
> (user ui messages, etc ...) and to identify a property who us failing i use 
> their path then i compare with the path reported by List<EditorError> 
> reported by the main driver.
>
> The problem becomes here. The next behavior happens:
>
> IsEditor<ValueBoxEditor<T>> report path ok 
> foo.bar.client.view.Products.ImpuestoEditorImpl INFO: On the sub view we 
> got: ieps.unidadImpuesto notNull 
>
> but IsEditor<TakesValueEditor<T>> and IsEditor<LeafValueEditor<T>> don't
>
> foo.bar.client.view.Products.ImpuestoEditorImpl INFO: On the sub view we 
> got: iepstipoIeps notNull 
>
> foo.bar.client.view.Products.ImpuestoEditorImpl INFO: On the sub view we 
> got: iepsnombreImpuesto notNull 
>
> As you can see there is missing . on the path name. ( iepsnombreImpuesto 
> should be ieps.nombreImpuesto )
>
> Plase note if i validate the whole ProductoProxy  the paths are reported 
> fine
>
> Don't know it the conversion from 
> driver.setConstraintViolations(constraints); to List<EditorError> fails or 
> it's the validation who reports badly the path. Will try atm.
>
> Please help me.
>
> Thanks.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/SlSKoF-GAAMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to