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]