[Woodstock] customised validator message

View: New views
9 Messages — Rating Filter:   Alert me  

Parent Message unknown [Woodstock] customised validator message

by robert.hook :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have looked at the notes by Dmitry Kushner (http://blogs.sun.com/dmitry/entry/few_details_of_dynamic_functionality) and got my
page correctly invoking the validator on a text field on change of that text field, via Ajax. The trouble I now face is that the
validator is a simple Woodstock LongRangeValidator, and I cannot find any way to override or customise the error message it
produces. Particularly, in my JSP I have:

<webuijsf:textField binding="#{AddDatasource.textField5}" columns="4" id="textField5" maxLength="8"
          autoValidate="true"
          notify="form1:alert1"
          required="true"
          style="position: absolute; left: 264px; top: 192px"
          text="#{SessionBean1.currentDataSource.port}"
          toolTip="#{resources['tooltip.datasources.port']}"
          validatorExpression="#{AddDatasource.longRangeValidator1.validate}"/>

<webuijsf:alert id="alert1" visible="false"
          summary="#{resources['tooltip.datasources.port.brief']}"
          detail="#{resources['tooltip.datasources.port']}"
          style="height: 118px; left: 672px; top: 168px; position: absolute; width: 238px"/>

however the specified summary and detail are ignored and not displayed, instead the spectacularly unfriendly message
"form1:textField5: Validation Error: Specified attribute is not between the expected values of 1,024 and 65,535." is displayed twice.

Dmitry's notes suggest that it is possible to display customised messages - has anyone done this, and can point to examples? Is it a
case that the only way to do it is to build your own validator, rather than using the provided LongRangeValidator?
--

Robert Hook | Software Engineer for Salmat BusinessForce
16 Archimedes Pl
Murarrie QLD 4172 Australia

t   +61 (07) 3896 0896
f   +61 (07) 3899 5674
m   +61 0407 959 570
e   robert.hook@...
w   salmat.com.au

***********************************************************************************
This e-mail, including any attachments to it, may contain confidential and/or personal information. If you have received this e-mail in error, you must not copy, distribute, or disclose it, use or take any action based on the information contained within it. Please notify the sender immediately by return e-mail of the error and then delete the original e-mail.

The information contained within this e-mail may be solely the opinion of the sender and may not necessarily reflect the position, beliefs or opinions of the organisation on any issue. This email has been swept for the presence of computer viruses known to the organisation’s anti-virus systems.

***********************************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: [Woodstock] customised validator message

by John Yeary :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Robert,

Have you tried it without the AJAX to see what the results would look like?

I would try to subscribe to the <domNode>.event.validation.endTopic to capture any results any display them in a JavaScript alert to see what you get. If you are satisfied with the response, set the props on the Woodstock alert.

John

On Tue, Dec 2, 2008 at 8:42 PM, <robert.hook@...> wrote:
I have looked at the notes by Dmitry Kushner (http://blogs.sun.com/dmitry/entry/few_details_of_dynamic_functionality) and got my
page correctly invoking the validator on a text field on change of that text field, via Ajax. The trouble I now face is that the
validator is a simple Woodstock LongRangeValidator, and I cannot find any way to override or customise the error message it
produces. Particularly, in my JSP I have:

<webuijsf:textField binding="#{AddDatasource.textField5}" columns="4" id="textField5" maxLength="8"
         autoValidate="true"
         notify="form1:alert1"
         required="true"
         style="position: absolute; left: 264px; top: 192px"
         text="#{SessionBean1.currentDataSource.port}"
         toolTip="#{resources['tooltip.datasources.port']}"
         validatorExpression="#{AddDatasource.longRangeValidator1.validate}"/>

<webuijsf:alert id="alert1" visible="false"
         summary="#{resources['tooltip.datasources.port.brief']}"
         detail="#{resources['tooltip.datasources.port']}"
         style="height: 118px; left: 672px; top: 168px; position: absolute; width: 238px"/>

however the specified summary and detail are ignored and not displayed, instead the spectacularly unfriendly message
"form1:textField5: Validation Error: Specified attribute is not between the expected values of 1,024 and 65,535." is displayed twice.

Dmitry's notes suggest that it is possible to display customised messages - has anyone done this, and can point to examples? Is it a
case that the only way to do it is to build your own validator, rather than using the provided LongRangeValidator?
--

Robert Hook | Software Engineer for Salmat BusinessForce
16 Archimedes Pl
Murarrie QLD 4172 Australia

t   +61 (07) 3896 0896
f   +61 (07) 3899 5674
m   +61 0407 959 570
e   robert.hook@...
w   salmat.com.au

***********************************************************************************
This e-mail, including any attachments to it, may contain confidential and/or personal information. If you have received this e-mail in error, you must not copy, distribute, or disclose it, use or take any action based on the information contained within it. Please notify the sender immediately by return e-mail of the error and then delete the original e-mail.

The information contained within this e-mail may be solely the opinion of the sender and may not necessarily reflect the position, beliefs or opinions of the organisation on any issue. This email has been swept for the presence of computer viruses known to the organisation's anti-virus systems.

***********************************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...




--
John Yeary
--
http://javaevangelist.blogspot.com

"Far better it is to dare might things, to win glorious triumphs, even though checkered by failure,

than to take rank with those poor spirits who neither enjoy much nor suffer much, because they live in the grey

twilight that knows not victory nor defeat." -- Theodore Roosevelt

Re: [Woodstock] customised validator message

by Antonin Karasek-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Useful staff about validation here:

http://www.netbeans.org/kb/docs/web/convert-validate.html

See "Doing More: Customizing a Standard Validator Message" section...

Hope this will help ;-)

Regards
        Tony

robert.hook@... wrote:

> I have looked at the notes by Dmitry Kushner (http://blogs.sun.com/dmitry/entry/few_details_of_dynamic_functionality) and got my
> page correctly invoking the validator on a text field on change of that text field, via Ajax. The trouble I now face is that the
> validator is a simple Woodstock LongRangeValidator, and I cannot find any way to override or customise the error message it
> produces. Particularly, in my JSP I have:
>
> <webuijsf:textField binding="#{AddDatasource.textField5}" columns="4" id="textField5" maxLength="8"
>           autoValidate="true"
>           notify="form1:alert1"
>           required="true"
>           style="position: absolute; left: 264px; top: 192px"
>           text="#{SessionBean1.currentDataSource.port}"
>           toolTip="#{resources['tooltip.datasources.port']}"
>           validatorExpression="#{AddDatasource.longRangeValidator1.validate}"/>
>
> <webuijsf:alert id="alert1" visible="false"
>           summary="#{resources['tooltip.datasources.port.brief']}"
>           detail="#{resources['tooltip.datasources.port']}"
>           style="height: 118px; left: 672px; top: 168px; position: absolute; width: 238px"/>
>
> however the specified summary and detail are ignored and not displayed, instead the spectacularly unfriendly message
> "form1:textField5: Validation Error: Specified attribute is not between the expected values of 1,024 and 65,535." is displayed twice.
>
> Dmitry's notes suggest that it is possible to display customised messages - has anyone done this, and can point to examples? Is it a
> case that the only way to do it is to build your own validator, rather than using the provided LongRangeValidator?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: [Woodstock] customised validator message

by daniel.jank :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Tony,

I also have troubles with this issue. I use a text field with a Double Range Validator.
The customized validators work for the "REQUIRED" and the "NOT_IN_RANGE"
validation check, but not for the TYPE check..if I prompt same letters into the text field the original
validator messages from woodstock.

Any ideas?

Thanks, Daniel



Antonin Karasek <tonda@...>

03.12.2008 08:36
Please respond to
users@...

To
users@...
cc
Subject
Re: [Woodstock] customised validator message





Useful staff about validation here:

http://www.netbeans.org/kb/docs/web/convert-validate.html

See "Doing More: Customizing a Standard Validator Message" section...

Hope this will help ;-)

Regards
                Tony

robert.hook@... wrote:
> I have looked at the notes by Dmitry Kushner (http://blogs.sun.com/dmitry/entry/few_details_of_dynamic_functionality) and got my
> page correctly invoking the validator on a text field on change of that text field, via Ajax. The trouble I now face is that the
> validator is a simple Woodstock LongRangeValidator, and I cannot find any way to override or customise the error message it
> produces. Particularly, in my JSP I have:
>
> <webuijsf:textField binding="#{AddDatasource.textField5}" columns="4" id="textField5" maxLength="8"
>           autoValidate="true"
>           notify="form1:alert1"
>           required="true"
>           style="position: absolute; left: 264px; top: 192px"
>           text="#{SessionBean1.currentDataSource.port}"
>           toolTip="#{resources['tooltip.datasources.port']}"
>           validatorExpression="#{AddDatasource.longRangeValidator1.validate}"/>
>
> <webuijsf:alert id="alert1" visible="false"
>           summary="#{resources['tooltip.datasources.port.brief']}"
>           detail="#{resources['tooltip.datasources.port']}"
>           style="height: 118px; left: 672px; top: 168px; position: absolute; width: 238px"/>
>
> however the specified summary and detail are ignored and not displayed, instead the spectacularly unfriendly message
> "form1:textField5: Validation Error: Specified attribute is not between the expected values of 1,024 and 65,535." is displayed twice.
>
> Dmitry's notes suggest that it is possible to display customised messages - has anyone done this, and can point to examples? Is it a
> case that the only way to do it is to build your own validator, rather than using the provided LongRangeValidator?


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...



Re: [Woodstock] customised validator message

by Antonin Karasek-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
I know a "must work" approach, but it's really not nice solution...

I hope, there is another way - but I'm a newbie in woodstock.

Locate webui-jsf-suntheme.jar in your system. I have it here:

/export/home/phobos/netbeans-6.1/visualweb2/modules/ext/

Unzip it and locate a file which contains the message, you want to
modify. There is a good chance, that it is in:

com/sun/webui/jsf/suntheme4_2-080320/messages/messages.properties

But it's easy to grep for the message.

Modify the message, zip the file again and replace the original
webui-jsf-suntheme.jar. Don't forget to backup the original
webui-jsf-suntheme.jar.

As I wrote - I believe, that there is a nicer solution...

Regards
        Tony

daniel.jank@... wrote:

>
> Hi Tony,
>
> I also have troubles with this issue. I use a text field with a Double
> Range Validator.
> The customized validators work for the "REQUIRED" and the "NOT_IN_RANGE"
> validation check, but not for the TYPE check..if I prompt same letters
> into the text field the original
> validator messages from woodstock.
>
> Any ideas?
>
> Thanks, Daniel
>
>
>
> *Antonin Karasek <tonda@...>*
>
> 03.12.2008 08:36
> Please respond to
> users@...
>
>
>
> To
> users@...
> cc
>
> Subject
> Re: [Woodstock] customised validator message
>
>
>
>
>
>
>
>
> Useful staff about validation here:
>
> http://www.netbeans.org/kb/docs/web/convert-validate.html
>
> See "Doing More: Customizing a Standard Validator Message" section...
>
> Hope this will help ;-)
>
> Regards
>                 Tony
>
> robert.hook@... wrote:
>  > I have looked at the notes by Dmitry Kushner
> (http://blogs.sun.com/dmitry/entry/few_details_of_dynamic_functionality)
> and got my
>  > page correctly invoking the validator on a text field on change of
> that text field, via Ajax. The trouble I now face is that the
>  > validator is a simple Woodstock LongRangeValidator, and I cannot find
> any way to override or customise the error message it
>  > produces. Particularly, in my JSP I have:
>  >
>  > <webuijsf:textField binding="#{AddDatasource.textField5}" columns="4"
> id="textField5" maxLength="8"
>  >           autoValidate="true"
>  >           notify="form1:alert1"
>  >           required="true"
>  >           style="position: absolute; left: 264px; top: 192px"
>  >           text="#{SessionBean1.currentDataSource.port}"
>  >           toolTip="#{resources['tooltip.datasources.port']}"
>  >          
> validatorExpression="#{AddDatasource.longRangeValidator1.validate}"/>
>  >
>  > <webuijsf:alert id="alert1" visible="false"
>  >           summary="#{resources['tooltip.datasources.port.brief']}"
>  >           detail="#{resources['tooltip.datasources.port']}"
>  >           style="height: 118px; left: 672px; top: 168px; position:
> absolute; width: 238px"/>
>  >
>  > however the specified summary and detail are ignored and not
> displayed, instead the spectacularly unfriendly message
>  > "form1:textField5: Validation Error: Specified attribute is not
> between the expected values of 1,024 and 65,535." is displayed twice.
>  >
>  > Dmitry's notes suggest that it is possible to display customised
> messages - has anyone done this, and can point to examples? Is it a
>  > case that the only way to do it is to build your own validator,
> rather than using the provided LongRangeValidator?
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@...
> For additional commands, e-mail: users-help@...
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


common Task custom Icon

by daniel.jank :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi,

is there a possibility to set custom icons for objects (in my case a common task)?...
When I submit the relative path as a string for the .setIcon() procedure nothing happens...

The problem is I need an icon and the text nearby... so the solution with .setImageUrl() is not suitable for me.

Thanks!

Regards Daniel

Parent Message unknown Re: [Woodstock] customised validator message

by robert.hook :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks for the input on this folks, I stepped back and had a think about it and came up with a solution that works for me based on
extending the validator, which on reflection is what I want to be doing anyway.

The tutorial at <http://www.netbeans.org/kb/docs/web/convert-validate.html> is very good (and better than the 6.1 version that
various FAQs point at), and led me down the right path. The difficulty with overriding the default messages in a resource bundle is
that it still leaves all instances of that message the same (or at least having the same format), whereas I wanted a little more
flexibility for my purposes.

I've not tried the javascript approach that John suggested, but it's an intriguing possibility I will explore at some time.

What I did first was build a simple extension of the validator:

package au.com.hpa.webservice.faces;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;

/**
 * extends the base woodstock LongRangeValidator to provide a mechanism for customising the error messages.
 * @author Robert Hook
 */
public class CustomLongRangeValidator extends javax.faces.validator.LongRangeValidator {

    String briefMessage = null;
    String fullMessage = null;

    /**
     * mutator - store a new short-form error message
     * @return
     */
    public String getBriefMessage() {
        return briefMessage;
    }

    /**
     * mutator - store a new short form error message
     * @param briefMessage
     */
    public void setBriefMessage(String briefMessage) {
        this.briefMessage = briefMessage;
    }

    /**
     *
     * @return
     */
    public String getFullMessage() {
        return fullMessage;
    }

    /**
     * mutator - store a new long form error message
     * @param fullMessage
     */
    public void setFullMessage(String fullMessage) {
        this.fullMessage = fullMessage;
    }

    /**
     * Peform the base validation, but throwing a custom message. A custom message
     * will only be thrown if at least either the brief or full message have been set.
     * @param context
     * @param component
     * @param value
     * @throws javax.faces.validator.ValidatorException
     */
    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
        try {
            super.validate(context, component, value);
        } catch (ValidatorException ex) {
            if (getBriefMessage() != null && getFullMessage() != null) {
                throw new ValidatorException(new FacesMessage(getBriefMessage(), getFullMessage()));
            } else if (getBriefMessage() != null) {
                throw new ValidatorException(new FacesMessage(getBriefMessage()));
            } else if (getFullMessage() != null) {
                throw new ValidatorException(new FacesMessage(getFullMessage()));
            } else {
                throw ex;
            }
        }
    }
}

Then I include an instance of that object in my backing bean, and in init() for the page populate it:

        setCustomLongRangeValidator(new CustomLongRangeValidator());
        CustomLongRangeValidator crv = getCustomLongRangeValidator();
        crv.setBriefMessage(Utilities.getResourceString("tooltip.datasources.port.brief", Constants.resourcePath));
        crv.setFullMessage(Utilities.getResourceString("tooltip.datasources.port", Constants.resourcePath));
        crv.setMinimum(1024);
        crv.setMaximum(8192);


Finally in the JSF I refer to my customised validator:

<webuijsf:textField autoValidate="true" columns="4" id="textField4" maxLength="8" notify="form1:alert1"
          required="true" style="left: 264px; top: 168px; position: absolute" text="#{SessionBean1.currentDataSource.port}"
          toolTip="#{resources['tooltip.datasources.port']}" validatorExpression="#{EditDatasource.customLongRangeValidator.validate}"/>


--

Robert Hook | Software Engineer for Salmat BusinessForce
16 Archimedes Pl
Murarrie QLD 4172 Australia

t   +61 (07) 3896 0896
f   +61 (07) 3899 5674
m   +61 0407 959 570
e   robert.hook@...
w   salmat.com.au

***********************************************************************************
This e-mail, including any attachments to it, may contain confidential and/or personal information. If you have received this e-mail in error, you must not copy, distribute, or disclose it, use or take any action based on the information contained within it. Please notify the sender immediately by return e-mail of the error and then delete the original e-mail.

The information contained within this e-mail may be solely the opinion of the sender and may not necessarily reflect the position, beliefs or opinions of the organisation on any issue. This email has been swept for the presence of computer viruses known to the organisation’s anti-virus systems.

***********************************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...


Re: [Woodstock] customised validator message

by John Yeary :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Robert,

Very cool!

Thanks for posting your code for everyone. It is complete and looks well done. I like the fact that you included an example of how to use it too.

John

On Thu, Dec 4, 2008 at 6:11 PM, <robert.hook@...> wrote:
Thanks for the input on this folks, I stepped back and had a think about it and came up with a solution that works for me based on
extending the validator, which on reflection is what I want to be doing anyway.

The tutorial at <http://www.netbeans.org/kb/docs/web/convert-validate.html> is very good (and better than the 6.1 version that
various FAQs point at), and led me down the right path. The difficulty with overriding the default messages in a resource bundle is
that it still leaves all instances of that message the same (or at least having the same format), whereas I wanted a little more
flexibility for my purposes.

I've not tried the javascript approach that John suggested, but it's an intriguing possibility I will explore at some time.

What I did first was build a simple extension of the validator:

package au.com.hpa.webservice.faces;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;

/**
 * extends the base woodstock LongRangeValidator to provide a mechanism for customising the error messages.
 * @author Robert Hook
 */
public class CustomLongRangeValidator extends javax.faces.validator.LongRangeValidator {

   String briefMessage = null;
   String fullMessage = null;

   /**
    * mutator - store a new short-form error message
    * @return
    */
   public String getBriefMessage() {
       return briefMessage;
   }

   /**
    * mutator - store a new short form error message
    * @param briefMessage
    */
   public void setBriefMessage(String briefMessage) {
       this.briefMessage = briefMessage;
   }

   /**
    *
    * @return
    */
   public String getFullMessage() {
       return fullMessage;
   }

   /**
    * mutator - store a new long form error message
    * @param fullMessage
    */
   public void setFullMessage(String fullMessage) {
       this.fullMessage = fullMessage;
   }

   /**
    * Peform the base validation, but throwing a custom message. A custom message
    * will only be thrown if at least either the brief or full message have been set.
    * @param context
    * @param component
    * @param value
    * @throws javax.faces.validator.ValidatorException
    */
   @Override
   public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
       try {
           super.validate(context, component, value);
       } catch (ValidatorException ex) {
           if (getBriefMessage() != null && getFullMessage() != null) {
               throw new ValidatorException(new FacesMessage(getBriefMessage(), getFullMessage()));
           } else if (getBriefMessage() != null) {
               throw new ValidatorException(new FacesMessage(getBriefMessage()));
           } else if (getFullMessage() != null) {
               throw new ValidatorException(new FacesMessage(getFullMessage()));
           } else {
               throw ex;
           }
       }
   }
}

Then I include an instance of that object in my backing bean, and in init() for the page populate it:

       setCustomLongRangeValidator(new CustomLongRangeValidator());
       CustomLongRangeValidator crv = getCustomLongRangeValidator();
       crv.setBriefMessage(Utilities.getResourceString("tooltip.datasources.port.brief", Constants.resourcePath));
       crv.setFullMessage(Utilities.getResourceString("tooltip.datasources.port", Constants.resourcePath));
       crv.setMinimum(1024);
       crv.setMaximum(8192);


Finally in the JSF I refer to my customised validator:

<webuijsf:textField autoValidate="true" columns="4" id="textField4" maxLength="8" notify="form1:alert1"
         required="true" style="left: 264px; top: 168px; position: absolute" text="#{SessionBean1.currentDataSource.port}"
         toolTip="#{resources['tooltip.datasources.port']}" validatorExpression="#{EditDatasource.customLongRangeValidator.validate}"/>


--

Robert Hook | Software Engineer for Salmat BusinessForce
16 Archimedes Pl
Murarrie QLD 4172 Australia

t   +61 (07) 3896 0896
f   +61 (07) 3899 5674
m   +61 0407 959 570
e   robert.hook@...
w   salmat.com.au

***********************************************************************************
This e-mail, including any attachments to it, may contain confidential and/or personal information. If you have received this e-mail in error, you must not copy, distribute, or disclose it, use or take any action based on the information contained within it. Please notify the sender immediately by return e-mail of the error and then delete the original e-mail.

The information contained within this e-mail may be solely the opinion of the sender and may not necessarily reflect the position, beliefs or opinions of the organisation on any issue. This email has been swept for the presence of computer viruses known to the organisation's anti-virus systems.

***********************************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...




--
John Yeary
--
http://javaevangelist.blogspot.com

"Far better it is to dare might things, to win glorious triumphs, even though checkered by failure,

than to take rank with those poor spirits who neither enjoy much nor suffer much, because they live in the grey

twilight that knows not victory nor defeat." -- Theodore Roosevelt

Parent Message unknown Re: [Woodstock] customised validator message

by robert.hook :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


>
> From:"John Yeary" <johnyeary@...>
> Date: Fri, 5 Dec 2008 10:18:21 +1100
>
> Hello Robert,
>
> Very cool!
>
> Thanks for posting your code for everyone. It is complete and looks well
> done. I like the fact that you included an example of how to use it too.
>
> John
>

Looking at the Wiki and other documentation, it strikes me that is one of the resources that could really be fleshed out to supress
some of the "how do I..." questions. In my Copious Spare Time (tm) I will start working toward dumping things in there. It's likely
I'll have more time to do that than to work directly on the project code.


--

Robert Hook | Software Engineer for Salmat BusinessForce
16 Archimedes Pl
Murarrie QLD 4172 Australia

t   +61 (07) 3896 0896
f   +61 (07) 3899 5674
m   +61 0407 959 570
e   robert.hook@...
w   salmat.com.au

***********************************************************************************
This e-mail, including any attachments to it, may contain confidential and/or personal information. If you have received this e-mail in error, you must not copy, distribute, or disclose it, use or take any action based on the information contained within it. Please notify the sender immediately by return e-mail of the error and then delete the original e-mail.

The information contained within this e-mail may be solely the opinion of the sender and may not necessarily reflect the position, beliefs or opinions of the organisation on any issue. This email has been swept for the presence of computer viruses known to the organisation’s anti-virus systems.

***********************************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@...
For additional commands, e-mail: users-help@...