Hi Johann,

If the error is WOLips is ignored (or validation turned off), then this code is 
needed to give a useful error message.  WIthout it, it would be hard to track 
down the cause.

Chuck


On 2012-08-04, at 8:34 AM, Johann Werner wrote:

> Hi list,
> 
> in many dynamic element classes there are some checks in the constructor if 
> certain bindings exist or not. Example from ERAttachmentLink:
> 
> public ERAttachmentLink(String name, NSDictionary<String, WOAssociation> 
> associations, WOElement template) {
>     super(name, associations, template);
>     _associations = associations.mutableClone();
>     _attachment = _associations.removeObjectForKey("attachment");
>     _download = _associations.removeObjectForKey("download");
>     if (_attachment == null) {
>       throw new WODynamicElementCreationException("<ERAttachmentLink> The 
> 'attachment' binding is required.");
>     }
>     _configurationName = 
> _associations.removeObjectForKey("configurationName");
> }
> 
> Most of the components do have an API file (for those missing we will have to 
> fix and add them) that WOLips uses to do binding validation within the 
> component editor. In the API file you can set a binding as mandatory or even 
> more complex rules by manually editing the file in a text editor. An API file 
> should be present for a component as you will get instant feedback in the 
> component editor while changing bindings.
> 
> Now looking at the checks in code this is sort of duplicated code. In the 
> example above if I don't add the attachment binding to the ERAttachmendLink 
> on a page of mine the component editor will already show an error whereas the 
> exception that the binding is missing will only be thrown when a user will 
> hit the enclosing page. So do we really need that extra logic in the 
> constructors? I would tend to no (at least for those validations that can be 
> covered by an API file), remove them and prefer keeping the API files 
> correct. What is your opinion?
> 
> jw
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> 
> This email sent to [email protected]

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/gvc/practical_webobjects









 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to