Author: husted
Date: Mon Feb 13 17:39:49 2006
New Revision: 377566
URL: http://svn.apache.org/viewcvs?rev=377566&view=rev
Log:
Cancellable
* Reformat XML only. No changes.
Modified:
struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml
struts/apps/trunk/examples/src/webapp/WEB-INF/struts-config.xml
struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml
struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml
struts/apps/trunk/examples/src/webapp/WEB-INF/web.xml
Modified:
struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml
URL:
http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml?rev=377566&r1=377565&r2=377566&view=diff
==============================================================================
--- struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml
(original)
+++ struts/apps/trunk/examples/src/webapp/WEB-INF/exercise/struts-config.xml
Mon Feb 13 17:39:49 2006
@@ -1,85 +1,113 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE struts-config PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
- "http://struts.apache.org/dtds/struts-config_1_3.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
+ "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
- <form-beans>
- <form-bean name="testbean"
type="org.apache.struts.webapp.exercise.TestBean" />
- <!-- Locale form bean -->
- <form-bean name="localeForm"
type="org.apache.struts.action.DynaActionForm">
- <form-property name="language" type="java.lang.String" />
- <form-property name="country" type="java.lang.String" />
- <form-property name="page" type="java.lang.String" />
- </form-bean>
- </form-beans>
- <global-forwards>
- <forward name="absolute" path="http://jakarta.apache.org/struts" />
- <forward name="context-relative" path="/welcome.do" />
- <forward name="module-root" path="/welcome.do" module="" />
- <forward name="module-validator" path="/welcome.do" module="/validator" />
- <forward name="relative" path="/welcome.do" />
- <forward name="redirect-default" path="/" redirect="true" />
- <forward name="logic-forward" path="/logic-forward.do" />
- </global-forwards>
- <action-mappings>
- <action path="/welcome" forward="/index.html" />
- <action path="/bean-write-2" forward="/bean-write-2.jsp" />
- <action path="/html-cancel" forward="/html-cancel.jsp"/>
- <action path="/html-cancel-true" name="testbean" input="/html-cancel.jsp"
cancellable="true" validate="true" forward="/welcome.do"/>
- <action path="/html-cancel-false" name="testbean"
input="/html-cancel.jsp" cancellable="false" validate="true"
forward="/welcome.do">
- <exception
- key="errors.invalidCancel"
- type="org.apache.struts.action.InvalidCancelException"
- path="/html-cancel.jsp"/>
- </action>
+ <form-beans>
+ <form-bean name="testbean"
+ type="org.apache.struts.webapp.exercise.TestBean"/>
+ <!-- Locale form bean -->
+ <form-bean name="localeForm"
+ type="org.apache.struts.action.DynaActionForm">
+ <form-property name="language" type="java.lang.String"/>
+ <form-property name="country" type="java.lang.String"/>
+ <form-property name="page" type="java.lang.String"/>
+ </form-bean>
+ </form-beans>
+ <global-forwards>
+ <forward name="absolute" path="http://jakarta.apache.org/struts"/>
+ <forward name="context-relative" path="/welcome.do"/>
+ <forward name="module-root" path="/welcome.do" module=""/>
+ <forward name="module-validator" path="/welcome.do"
+ module="/validator"/>
+ <forward name="relative" path="/welcome.do"/>
+ <forward name="redirect-default" path="/" redirect="true"/>
+ <forward name="logic-forward" path="/logic-forward.do"/>
+ </global-forwards>
+ <action-mappings>
+ <action path="/welcome" forward="/index.html"/>
+ <action path="/bean-write-2" forward="/bean-write-2.jsp"/>
+ <action path="/html-cancel" forward="/html-cancel.jsp"/>
+ <action path="/html-cancel-true" name="testbean"
+ input="/html-cancel.jsp" cancellable="true" validate="true"
+ forward="/welcome.do"/>
+ <action path="/html-cancel-false" name="testbean"
+ input="/html-cancel.jsp" cancellable="false" validate="true"
+ forward="/welcome.do">
+ <exception
+ key="errors.invalidCancel"
+ type="org.apache.struts.action.InvalidCancelException"
+ path="/html-cancel.jsp"/>
+ </action>
- <action path="/html-img" forward="/html-img.jsp" />
- <!-- :FIXME: ImageAction should compute module prefix -->
- <action path="/html-img-action"
type="org.apache.struts.webapp.exercise.ImageAction"
parameter="/exercise/struts-power.gif"/>
- <action path="/html-link" forward="/html-link.jsp" />
- <action path="/html-link-submit"
type="org.apache.struts.webapp.exercise.HtmlSettersAction" name="testbean"
scope="session" validate="false">
- <forward name="input" path="/html-link.do" />
- </action>
- <action path="/html-messages" forward="/html-messages.jsp" />
- <action path="/html-multibox" forward="/html-multibox.jsp" />
- <action path="/html-multibox-submit"
type="org.apache.struts.webapp.exercise.HtmlSettersAction" name="testbean"
scope="session" validate="false">
- <forward name="input" path="/html-multibox.do" />
- </action>
- <action path="/html-select" forward="/html-select.jsp" />
- <action path="/html-select-submit"
type="org.apache.struts.webapp.exercise.HtmlSettersAction" name="testbean"
scope="session" validate="false">
- <forward name="input" path="/html-select.do" />
- </action>
- <action path="/html-setters" forward="/html-setters.jsp" />
- <action path="/html-setters-submit"
type="org.apache.struts.webapp.exercise.HtmlSettersAction" name="testbean"
scope="session" validate="false">
- <forward name="input" path="/html-setters.do" />
- </action>
- <action path="/logic-forward" forward="/logic-forward.jsp" />
- <action path="/logic-forward-test-forward"
forward="/logic-forward-test-forward.jsp" />
- <action path="/logic-redirect-test-action"
forward="/logic-redirect-test-action.jsp" />
- <action path="/logic-redirect-test-forward"
forward="/logic-redirect-test-forward.jsp" />
- <action path="/logic-redirect-test-page"
forward="/logic-redirect-test-page.jsp" />
+ <action path="/html-img" forward="/html-img.jsp"/>
+ <!-- :FIXME: ImageAction should compute module prefix -->
+ <action path="/html-img-action"
+ type="org.apache.struts.webapp.exercise.ImageAction"
+ parameter="/exercise/struts-power.gif"/>
+ <action path="/html-link" forward="/html-link.jsp"/>
+ <action path="/html-link-submit"
+ type="org.apache.struts.webapp.exercise.HtmlSettersAction"
+ name="testbean" scope="session" validate="false">
+ <forward name="input" path="/html-link.do"/>
+ </action>
+ <action path="/html-messages" forward="/html-messages.jsp"/>
+ <action path="/html-multibox" forward="/html-multibox.jsp"/>
+ <action path="/html-multibox-submit"
+ type="org.apache.struts.webapp.exercise.HtmlSettersAction"
+ name="testbean" scope="session" validate="false">
+ <forward name="input" path="/html-multibox.do"/>
+ </action>
+ <action path="/html-select" forward="/html-select.jsp"/>
+ <action path="/html-select-submit"
+ type="org.apache.struts.webapp.exercise.HtmlSettersAction"
+ name="testbean" scope="session" validate="false">
+ <forward name="input" path="/html-select.do"/>
+ </action>
+ <action path="/html-setters" forward="/html-setters.jsp"/>
+ <action path="/html-setters-submit"
+ type="org.apache.struts.webapp.exercise.HtmlSettersAction"
+ name="testbean" scope="session" validate="false">
+ <forward name="input" path="/html-setters.do"/>
+ </action>
+ <action path="/logic-forward" forward="/logic-forward.jsp"/>
+ <action path="/logic-forward-test-forward"
+ forward="/logic-forward-test-forward.jsp"/>
+ <action path="/logic-redirect-test-action"
+ forward="/logic-redirect-test-action.jsp"/>
+ <action path="/logic-redirect-test-forward"
+ forward="/logic-redirect-test-forward.jsp"/>
+ <action path="/logic-redirect-test-page"
+ forward="/logic-redirect-test-page.jsp"/>
- <action path="/forward-redirect-default"
type="org.apache.struts.webapp.exercise.SuccessAction" >
- <forward name="success" path="/" redirect="true" />
- </action>
- <action path="/forward-redirect-default-module"
type="org.apache.struts.webapp.exercise.SuccessAction" >
- <forward name="success" path="/" redirect="true" />
- </action>
- <action path="/forward-redirect-path"
type="org.apache.struts.webapp.exercise.SuccessAction" >
- <forward name="success" path="/html-link.do" redirect="true" />
- </action>
+ <action path="/forward-redirect-default"
+ type="org.apache.struts.webapp.exercise.SuccessAction">
+ <forward name="success" path="/" redirect="true"/>
+ </action>
+ <action path="/forward-redirect-default-module"
+ type="org.apache.struts.webapp.exercise.SuccessAction">
+ <forward name="success" path="/" redirect="true"/>
+ </action>
+ <action path="/forward-redirect-path"
+ type="org.apache.struts.webapp.exercise.SuccessAction">
+ <forward name="success" path="/html-link.do" redirect="true"/>
+ </action>
- <!-- :FIXME: We could allow forward to use an action attribute
- <action path="/forward-redirect-default-module"
type="org.apache.struts.webapp.exercise.SuccessAction" >
- <forward name="success" action="/html-link" redirect="true" />
- </action>
- -->
+ <!-- :FIXME: We could allow forward to use an action attribute
+ <action path="/forward-redirect-default-module"
type="org.apache.struts.webapp.exercise.SuccessAction" >
+ <forward name="success" action="/html-link" redirect="true" />
+ </action>
+ -->
- <!-- Locale Action -->
- <action path="/locale"
type="org.apache.struts.webapp.validator.LocaleAction" name="localeForm"
scope="request">
- <forward name="success" path="/welcome.do" />
- </action>
- </action-mappings>
- <message-resources
parameter="org.apache.struts.webapp.exercise.MessageResources" null="false" />
+ <!-- Locale Action -->
+ <action path="/locale"
+ type="org.apache.struts.webapp.validator.LocaleAction"
+ name="localeForm" scope="request">
+ <forward name="success" path="/welcome.do"/>
+ </action>
+ </action-mappings>
+ <message-resources
+ parameter="org.apache.struts.webapp.exercise.MessageResources"
+ null="false"/>
</struts-config>
Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/struts-config.xml
URL:
http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/struts-config.xml?rev=377566&r1=377565&r2=377566&view=diff
==============================================================================
--- struts/apps/trunk/examples/src/webapp/WEB-INF/struts-config.xml (original)
+++ struts/apps/trunk/examples/src/webapp/WEB-INF/struts-config.xml Mon Feb 13
17:39:49 2006
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE struts-config PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
- "http://struts.apache.org/dtds/struts-config_1_3.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
+ "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<!--
Default configuration file for examples application.
Each module also has its own struts-config under: /WEB-INF/$MODULE/
@@ -9,28 +9,31 @@
-->
<struts-config>
- <form-beans type="org.apache.struts.webapp.examples.CustomFormBean">
- <form-bean name="example"
type="org.apache.struts.webapp.examples.CustomFormBean" >
- <set-property property="example" value="EXAMPLE" />
- </form-bean>
- </form-beans>
-
- <global-exceptions />
-
- <global-forwards
type="org.apache.struts.webapp.examples.CustomActionForward">
-
- <!-- utilize a custom ActionForward as an example only -->
- <forward name="welcome" path="/welcome.do">
- <set-property property="example" value="EXAMPLE" />
- </forward>
- </global-forwards>
-
- <action-mappings
type="org.apache.struts.webapp.examples.CustomActionMapping">
- <action path="/welcome" forward="/welcome.jsp" >
- <set-property property="example" value="EXAMPLE" />
- </action>
- </action-mappings>
-
- <message-resources parameter="MessageResources" />
-
+ <form-beans type="org.apache.struts.webapp.examples.CustomFormBean">
+ <form-bean name="example"
+ type="org.apache.struts.webapp.examples.CustomFormBean">
+ <set-property property="example" value="EXAMPLE"/>
+ </form-bean>
+ </form-beans>
+
+ <global-exceptions/>
+
+ <global-forwards
+ type="org.apache.struts.webapp.examples.CustomActionForward">
+
+ <!-- utilize a custom ActionForward as an example only -->
+ <forward name="welcome" path="/welcome.do">
+ <set-property property="example" value="EXAMPLE"/>
+ </forward>
+ </global-forwards>
+
+ <action-mappings
+ type="org.apache.struts.webapp.examples.CustomActionMapping">
+ <action path="/welcome" forward="/welcome.jsp">
+ <set-property property="example" value="EXAMPLE"/>
+ </action>
+ </action-mappings>
+
+ <message-resources parameter="MessageResources"/>
+
</struts-config>
Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml
URL:
http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml?rev=377566&r1=377565&r2=377566&view=diff
==============================================================================
--- struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml
(original)
+++ struts/apps/trunk/examples/src/webapp/WEB-INF/upload/struts-config.xml Mon
Feb 13 17:39:49 2006
@@ -1,40 +1,42 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE struts-config PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
- "http://struts.apache.org/dtds/struts-config_1_3.dtd">
+ "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
+ "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
- <form-beans>
- <form-bean name="uploadForm"
type="org.apache.struts.webapp.upload.UploadForm" />
- </form-beans>
- <action-mappings>
-
- <action path="/upload" forward="/upload.jsp" />
-
- <!-- Upload Action -->
- <action path="/upload-submit"
- type="org.apache.struts.webapp.upload.UploadAction"
- name="uploadForm"
- scope="request"
- validate="true"
- input="input">
- <forward name="input" path="/upload.jsp" />
- <forward name="display" path="/display.jsp" />
- </action>
-
- </action-mappings>
-
- <!-- This is where you set the maximum file size for your file uploads.
- -1 is an unlimited size. If you
- don't specify this here, it defaults to -1. -->
- <controller maxFileSize="2M" inputForward="true" />
-
- <message-resources
parameter="org.apache.struts.webapp.upload.UploadResources"/>
-
- <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
- <set-property property="pathnames"
- value="/org/apache/struts/validator/validator-rules.xml,
- /WEB-INF/upload/validation.xml" />
- <set-property property="stopOnFirstError" value="false" />
- </plug-in>
+ <form-beans>
+ <form-bean name="uploadForm"
+ type="org.apache.struts.webapp.upload.UploadForm"/>
+ </form-beans>
+ <action-mappings>
+
+ <action path="/upload" forward="/upload.jsp"/>
+
+ <!-- Upload Action -->
+ <action path="/upload-submit"
+ type="org.apache.struts.webapp.upload.UploadAction"
+ name="uploadForm"
+ scope="request"
+ validate="true"
+ input="input">
+ <forward name="input" path="/upload.jsp"/>
+ <forward name="display" path="/display.jsp"/>
+ </action>
+
+ </action-mappings>
+
+ <!-- This is where you set the maximum file size for your file uploads.
+-1 is an unlimited size. If you
+don't specify this here, it defaults to -1. -->
+ <controller maxFileSize="2M" inputForward="true"/>
+
+ <message-resources
+ parameter="org.apache.struts.webapp.upload.UploadResources"/>
+
+ <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
+ <set-property property="pathnames"
+ value="/org/apache/struts/validator/validator-rules.xml,
+ /WEB-INF/upload/validation.xml"/>
+ <set-property property="stopOnFirstError" value="false"/>
+ </plug-in>
</struts-config>
Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml
URL:
http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml?rev=377566&r1=377565&r2=377566&view=diff
==============================================================================
--- struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml
(original)
+++ struts/apps/trunk/examples/src/webapp/WEB-INF/upload/validation.xml Mon Feb
13 17:39:49 2006
@@ -1,32 +1,34 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE form-validation PUBLIC
- "-//Apache Software Foundation//DTD Commons Validator Rules
Configuration 1.2.0//EN"
- "http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd">
+ "-//Apache Software Foundation//DTD Commons Validator Rules
Configuration 1.2.0//EN"
+ "http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd">
<form-validation>
- <formset>
+ <formset>
- <form name="uploadForm">
+ <form name="uploadForm">
- <field property="theText" depends="required,minlength">
- <arg key="The Text" resource="false" position="0"/>
- <arg name="minlength" key="${var:minlength}" resource="false"
position="1"/>
- <var>
- <var-name>minlength</var-name>
- <var-value>5</var-value>
- </var>
- </field>
-
- <field property="filePath" depends="validwhen">
- <arg key="File Path" resource="false" position="0" />
- <var>
- <var-name>test</var-name>
- <var-value>((writeFile == "false") or (*this* != null))</var-value>
- </var>
- </field>
+ <field property="theText" depends="required,minlength">
+ <arg key="The Text" resource="false" position="0"/>
+ <arg name="minlength" key="${var:minlength}" resource="false"
+ position="1"/>
+ <var>
+ <var-name>minlength</var-name>
+ <var-value>5</var-value>
+ </var>
+ </field>
+
+ <field property="filePath" depends="validwhen">
+ <arg key="File Path" resource="false" position="0"/>
+ <var>
+ <var-name>test</var-name>
+ <var-value>((writeFile == "false") or (*this* !=
+ null))</var-value>
+ </var>
+ </field>
- </form>
+ </form>
- </formset>
+ </formset>
</form-validation>
Modified: struts/apps/trunk/examples/src/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewcvs/struts/apps/trunk/examples/src/webapp/WEB-INF/web.xml?rev=377566&r1=377565&r2=377566&view=diff
==============================================================================
--- struts/apps/trunk/examples/src/webapp/WEB-INF/web.xml (original)
+++ struts/apps/trunk/examples/src/webapp/WEB-INF/web.xml Mon Feb 13 17:39:49
2006
@@ -1,67 +1,67 @@
<?xml version="1.0" encoding="iso-8859-1"?>
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
- <display-name>Struts Examples Application</display-name>
- <!-- Standard Action Servlet Configuration (with debugging) -->
- <servlet>
- <servlet-name>action</servlet-name>
- <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
-
- <!-- Default -->
- <init-param>
- <param-name>config</param-name>
- <param-value>/WEB-INF/struts-config.xml</param-value>
- </init-param>
-
- <!-- Exercise module -->
- <init-param>
- <param-name>config/exercise</param-name>
- <param-value>/WEB-INF/exercise/struts-config.xml</param-value>
- </init-param>
-
- <!-- File Upload module -->
- <init-param>
- <param-name>config/upload</param-name>
- <param-value>/WEB-INF/upload/struts-config.xml</param-value>
- </init-param>
-
- <!-- Validator module -->
- <init-param>
- <param-name>config/validator</param-name>
- <param-value>/WEB-INF/validator/struts-config.xml,
- /WEB-INF/validator/struts-config-bundles.xml,
- /WEB-INF/validator/struts-config-i18nVariables.xml,
- /WEB-INF/validator/struts-config-type.xml,
- /WEB-INF/validator/struts-config-validwhen.xml
- </param-value>
- </init-param>
-
- <init-param>
- <param-name>debug</param-name>
- <param-value>2</param-value>
- </init-param>
- <init-param>
- <param-name>detail</param-name>
- <param-value>2</param-value>
- </init-param>
- <load-on-startup>2</load-on-startup>
- </servlet>
-
- <!-- Standard Action Servlet Mapping -->
- <servlet-mapping>
- <servlet-name>action</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
-
- <!-- The Usual Welcome File List -->
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>index.html</welcome-file>
- <welcome-file>upload.jsp</welcome-file>
- </welcome-file-list>
+ <display-name>Struts Examples Application</display-name>
+ <!-- Standard Action Servlet Configuration (with debugging) -->
+ <servlet>
+ <servlet-name>action</servlet-name>
+ <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
+
+ <!-- Default -->
+ <init-param>
+ <param-name>config</param-name>
+ <param-value>/WEB-INF/struts-config.xml</param-value>
+ </init-param>
+
+ <!-- Exercise module -->
+ <init-param>
+ <param-name>config/exercise</param-name>
+ <param-value>/WEB-INF/exercise/struts-config.xml</param-value>
+ </init-param>
+
+ <!-- File Upload module -->
+ <init-param>
+ <param-name>config/upload</param-name>
+ <param-value>/WEB-INF/upload/struts-config.xml</param-value>
+ </init-param>
+
+ <!-- Validator module -->
+ <init-param>
+ <param-name>config/validator</param-name>
+ <param-value>/WEB-INF/validator/struts-config.xml,
+ /WEB-INF/validator/struts-config-bundles.xml,
+ /WEB-INF/validator/struts-config-i18nVariables.xml,
+ /WEB-INF/validator/struts-config-type.xml,
+ /WEB-INF/validator/struts-config-validwhen.xml
+ </param-value>
+ </init-param>
+
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>2</param-value>
+ </init-param>
+ <init-param>
+ <param-name>detail</param-name>
+ <param-value>2</param-value>
+ </init-param>
+ <load-on-startup>2</load-on-startup>
+ </servlet>
+
+ <!-- Standard Action Servlet Mapping -->
+ <servlet-mapping>
+ <servlet-name>action</servlet-name>
+ <url-pattern>*.do</url-pattern>
+ </servlet-mapping>
+
+ <!-- The Usual Welcome File List -->
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>upload.jsp</welcome-file>
+ </welcome-file-list>
</web-app>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]