You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/03/15 23:41:58 UTC
svn commit: r923484 [1/2] - in
/myfaces/extensions/validator/branches/branch_for_jsf_2_0:
component-support/ component-support/generic-support/src/main/config/
component-support/trinidad-support/ component-support/trinidad-support/src/
component-suppor...
Author: gpetracek
Date: Mon Mar 15 22:41:57 2010
New Revision: 923484
URL: http://svn.apache.org/viewvc?rev=923484&view=rev
Log:
trinidad2 support module
Added:
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/pom.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/config/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/config/faces-config.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/LICENSE.txt
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/NOTICE.txt
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadClientValidatorWrapper.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadValidationPhaseListener.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/TrinidadComponentInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadMetaDataExtractionInterceptor.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadValidationExceptionInterceptor.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/renderkit/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/renderkit/ExtValTrinidadRenderKit.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/renderkit/ExtValTrinidadRendererProxy.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/startup/TrinidadModuleStartupListener.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/storage/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/storage/DefaultClientValidatorStorage.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/storage/DefaultClientValidatorStorageManager.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/storage/TrinidadClientValidatorStorage.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/storage/mapper/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/storage/mapper/DefaultClientValidatorStorageNameMapper.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/util/TrinidadUtils.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadFacesMessageFactory.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/validation/message/TrinidadViolationMessage.java
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/resources/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/resources/LICENSE.txt
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/resources/NOTICE.txt
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/site/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/site/apt/
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/site/apt/index.apt
Modified:
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/generic-support/src/main/config/faces-config.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/pom.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/core/src/main/config/faces-config.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/examples/pom.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/bean-validation/src/main/config/faces-config.xml
myfaces/extensions/validator/branches/branch_for_jsf_2_0/validation-modules/property-validation/src/main/config/faces-config.xml
Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/generic-support/src/main/config/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/generic-support/src/main/config/faces-config.xml?rev=923484&r1=923483&r2=923484&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/generic-support/src/main/config/faces-config.xml (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/generic-support/src/main/config/faces-config.xml Mon Mar 15 22:41:57 2010
@@ -18,7 +18,7 @@
-->
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<lifecycle>
<phase-listener>
Modified: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/pom.xml?rev=923484&r1=923483&r2=923484&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/pom.xml (original)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/pom.xml Mon Mar 15 22:41:57 2010
@@ -43,7 +43,7 @@
</scm>
<modules>
- <!--module>trinidad-support</module-->
+ <module>trinidad-support</module>
<module>generic-support</module>
</modules>
@@ -57,6 +57,6 @@
</dependencies>
<properties>
- <trinidad.version>1.2.9</trinidad.version>
+ <trinidad.version>2.0.0-alpha-2</trinidad.version>
</properties>
</project>
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/pom.xml?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/pom.xml (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/pom.xml Mon Mar 15 22:41:57 2010
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>jar</packaging>
+
+ <groupId>org.apache.myfaces.extensions.validator.component-support-modules</groupId>
+ <artifactId>myfaces-extval-trinidad-support</artifactId>
+
+ <name>MyFaces Extensions-Validator Trinidad Support Module</name>
+ <version>2.0.3-SNAPSHOT</version>
+
+ <parent>
+ <groupId>org.apache.myfaces.extensions.validator.component-support-modules</groupId>
+ <artifactId>component-support-modules-project</artifactId>
+ <version>2.0.3-SNAPSHOT</version>
+ </parent>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.myfaces.core</groupId>
+ <artifactId>myfaces-api</artifactId>
+ <version>${jsf.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.myfaces.trinidad</groupId>
+ <artifactId>trinidad-api</artifactId>
+ <version>${trinidad.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.myfaces.trinidad</groupId>
+ <artifactId>trinidad-impl</artifactId>
+ <version>${trinidad.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/config</directory>
+ <includes>
+ <include>**/*xml</include>
+ </includes>
+ <targetPath>/META-INF</targetPath>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>LICENSE.txt</include>
+ <include>NOTICE.txt</include>
+ </includes>
+ <targetPath>/META-INF</targetPath>
+ </resource>
+ <resource>
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**/*properties</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <inherited>true</inherited>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/config/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/config/faces-config.xml?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/config/faces-config.xml (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/config/faces-config.xml Mon Mar 15 22:41:57 2010
@@ -0,0 +1,34 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
+ version="2.0">
+ <lifecycle>
+ <phase-listener>
+ org.apache.myfaces.extensions.validator.trinidad.startup.TrinidadModuleStartupListener
+ </phase-listener>
+ </lifecycle>
+
+ <lifecycle>
+ <phase-listener>
+ org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadValidationPhaseListener
+ </phase-listener>
+ </lifecycle>
+</faces-config>
\ No newline at end of file
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/LICENSE.txt
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/LICENSE.txt?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/LICENSE.txt (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/LICENSE.txt Mon Mar 15 22:41:57 2010
@@ -0,0 +1,174 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/NOTICE.txt
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/NOTICE.txt?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/NOTICE.txt (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/META-INF/NOTICE.txt Mon Mar 15 22:41:57 2010
@@ -0,0 +1,9 @@
+Apache MyFaces Extensions Validator
+Copyright 2007-2010 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+------------------------------------------------------------------------
+See the file LICENSE.txt
+------------------------------------------------------------------------
\ No newline at end of file
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadClientValidatorWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadClientValidatorWrapper.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadClientValidatorWrapper.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadClientValidatorWrapper.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad;
+
+import org.apache.myfaces.trinidad.validator.ClientValidator;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+import javax.faces.validator.Validator;
+import javax.faces.validator.ValidatorException;
+import javax.faces.context.FacesContext;
+import javax.faces.component.UIComponent;
+import java.io.Serializable;
+import java.util.Collection;
+
+/**
+ * in case of client-side validation a trinidad client validator is added to the component based on the meta-data.
+ * at the postback: the extval validation strategy gets called and after that the added validator.
+ * this wrapper prevents such a server-side double validation.
+ * it just delegates the client-side functionality.
+ *
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.REUSE)
+public class ExtValTrinidadClientValidatorWrapper implements Validator, ClientValidator, Serializable
+{
+ private transient ClientValidator wrapped;
+ private static final long serialVersionUID = 1414547841700621410L;
+
+ public ExtValTrinidadClientValidatorWrapper(ClientValidator clientValidator)
+ {
+ this.wrapped = clientValidator;
+ }
+
+ public void validate(FacesContext facesContext, UIComponent uiComponent, Object o) throws ValidatorException
+ {
+ //don't validate - the extval validation strategy will do that
+ }
+
+ public String getClientLibrarySource(FacesContext facesContext)
+ {
+ return wrapped.getClientLibrarySource(facesContext);
+ }
+
+ public Collection<String> getClientImportNames()
+ {
+ return wrapped.getClientImportNames();
+ }
+
+ public String getClientScript(FacesContext facesContext, UIComponent uiComponent)
+ {
+ return wrapped.getClientScript(facesContext, uiComponent);
+ }
+
+ public String getClientValidation(FacesContext facesContext, UIComponent uiComponent)
+ {
+ return wrapped.getClientValidation(facesContext, uiComponent);
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadValidationPhaseListener.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadValidationPhaseListener.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/ExtValTrinidadValidationPhaseListener.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad;
+
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.trinidad.renderkit.ExtValTrinidadRenderKit;
+
+import javax.faces.FactoryFinder;
+import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseEvent;
+import javax.faces.event.PhaseId;
+import javax.faces.event.PhaseListener;
+import javax.faces.render.RenderKit;
+import javax.faces.render.RenderKitFactory;
+
+/**
+ * use this phase-listener instead of a ExtValTrinidadRenderKitWrapperFactory due to a trinidad issue
+ *
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class ExtValTrinidadValidationPhaseListener implements PhaseListener
+{
+ private static final long serialVersionUID = 9109721831864146165L;
+
+ public void afterPhase(PhaseEvent event)
+ {
+ }
+
+ public void beforePhase(PhaseEvent event)
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+
+ RenderKitFactory renderKitFactory = getRenderKitFactory();
+
+ String renderKitId = getRenderKitId(facesContext);
+
+ if (isIncompatibleRenderKit(renderKitId))
+ {
+ changeRenderKit(facesContext, renderKitFactory, renderKitId);
+ }
+ }
+
+ private String getRenderKitId(FacesContext facesContext)
+ {
+ return facesContext.getViewRoot().getRenderKitId();
+ }
+
+ private RenderKitFactory getRenderKitFactory()
+ {
+ return (RenderKitFactory)FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
+ }
+
+ private boolean isIncompatibleRenderKit(String renderKitId)
+ {
+ return !ExtValTrinidadRenderKit.ID.equals(renderKitId);
+ }
+
+ private void changeRenderKit(FacesContext facesContext, RenderKitFactory renderKitFactory, String renderKitId)
+ {
+ RenderKit renderKit = renderKitFactory.getRenderKit(FacesContext.getCurrentInstance(), renderKitId);
+ renderKitFactory.addRenderKit(ExtValTrinidadRenderKit.ID, new ExtValTrinidadRenderKit(renderKit));
+ facesContext.getViewRoot().setRenderKitId(ExtValTrinidadRenderKit.ID);
+ }
+
+ public PhaseId getPhaseId()
+ {
+ return PhaseId.RENDER_RESPONSE;
+ }
+
+ /*
+ * generated
+ */
+ @Override
+ public boolean equals(Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (!(o instanceof ExtValTrinidadValidationPhaseListener))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return super.hashCode();
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/WebXmlParameter.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad;
+
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.util.WebXmlUtils;
+
+/**
+ * centralized in order that these information aren't spread over the complete code base
+ *
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public interface WebXmlParameter
+{
+ /*
+ * deactivate
+ */
+ static final String DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION = WebXmlUtils
+ .getInitParameter("DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION");
+
+ static final String DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION = WebXmlUtils
+ .getInitParameter("DEACTIVATE_TRINIDAD_CORE_OUTPUT_LABEL_INITIALIZATION");
+
+ static final String DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR = WebXmlUtils
+ .getInitParameter("DEACTIVATE_TRINIDAD_VALIDATION_EXCEPTION_INTERCEPTOR");
+}
\ No newline at end of file
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/DoubleRangeInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadClientValidatorWrapper;
+import org.apache.myfaces.trinidad.validator.DoubleRangeValidator;
+import org.apache.myfaces.trinidad.validator.ClientValidator;
+
+import javax.faces.component.EditableValueHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
+@UsageInformation(UsageCategory.INTERNAL)
+class DoubleRangeInitializer extends TrinidadComponentInitializer
+{
+ @Override
+ public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ boolean informationAdded = false;
+ DoubleRangeValidator doubleRangeValidator = (DoubleRangeValidator)facesContext.getApplication()
+ .createValidator("org.apache.myfaces.trinidad.DoubleRange");
+
+ Object min = null;
+ if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN))
+ {
+ min = metaData.get(CommonMetaDataKeys.RANGE_MIN);
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN_DEFAULT))
+ {
+ min = metaData.get(CommonMetaDataKeys.RANGE_MIN_DEFAULT);
+ }
+
+ if(min instanceof Double)
+ {
+ doubleRangeValidator.setMinimum((Double)min);
+ informationAdded = true;
+ }
+
+ Object max = null;
+ if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX))
+ {
+ max = metaData.get(CommonMetaDataKeys.RANGE_MAX);
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX_DEFAULT))
+ {
+ max = metaData.get(CommonMetaDataKeys.RANGE_MAX_DEFAULT);
+ }
+
+ if(max instanceof Double)
+ {
+ doubleRangeValidator.setMaximum((Double)max);
+ informationAdded = true;
+ }
+
+ if(informationAdded &&
+ doubleRangeValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).addValidator(
+ new ExtValTrinidadClientValidatorWrapper((ClientValidator)doubleRangeValidator));
+ return true;
+ }
+ return false;
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LengthInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadClientValidatorWrapper;
+import org.apache.myfaces.trinidad.validator.ClientValidator;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
+
+import javax.faces.component.EditableValueHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.validator.LengthValidator;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
+@UsageInformation(UsageCategory.INTERNAL)
+class LengthInitializer extends TrinidadComponentInitializer
+{
+ @Override
+ public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ boolean informationAdded = false;
+ //TODO
+ LengthValidator lengthValidator = (LengthValidator)facesContext.getApplication()
+ .createValidator("org.apache.myfaces.trinidad.Length");
+
+ Object minLength = null;
+ if(metaData.containsKey(CommonMetaDataKeys.MIN_LENGTH))
+ {
+ minLength = metaData.get(CommonMetaDataKeys.MIN_LENGTH);
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.MIN_LENGTH_DEFAULT))
+ {
+ minLength = metaData.get(CommonMetaDataKeys.MIN_LENGTH_DEFAULT);
+ }
+
+ if(minLength instanceof Integer)
+ {
+ lengthValidator.setMinimum((Integer)minLength);
+ informationAdded = true;
+ }
+
+ Object maxLength = null;
+ if(metaData.containsKey(CommonMetaDataKeys.MAX_LENGTH))
+ {
+ maxLength = metaData.get(CommonMetaDataKeys.MAX_LENGTH);
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.MAX_LENGTH_DEFAULT))
+ {
+ maxLength = metaData.get(CommonMetaDataKeys.MAX_LENGTH_DEFAULT);
+ }
+
+ if(maxLength instanceof Integer)
+ {
+ if(processComponent(uiComponent))
+ {
+ ReflectionUtils.tryToInvokeMethod(
+ uiComponent,
+ ReflectionUtils.tryToGetMethod(
+ uiComponent.getClass(),
+ "setMaximumLength",
+ int.class),
+ maxLength);
+ }
+
+ lengthValidator.setMaximum((Integer)maxLength);
+ informationAdded = true;
+ }
+
+ //reInitValidators((EditableValueHolder)uiComponent, metaData); //search wrappers and call .deactivate
+
+ if(informationAdded && lengthValidator instanceof ClientValidator)
+ {
+ if(uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).addValidator(
+ new ExtValTrinidadClientValidatorWrapper((ClientValidator)lengthValidator));
+ }
+ else if (uiComponent instanceof CoreOutputLabel)
+ {
+ if(lengthValidator.getMinimum() > 0)
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(true);
+ }
+
+ if(Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.SKIP_VALIDATION)))
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(false);
+ }
+ }
+
+ return true;
+ }
+ return false;
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/LongRangeInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadClientValidatorWrapper;
+import org.apache.myfaces.trinidad.validator.LongRangeValidator;
+import org.apache.myfaces.trinidad.validator.ClientValidator;
+
+import javax.faces.component.EditableValueHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
+@UsageInformation(UsageCategory.INTERNAL)
+class LongRangeInitializer extends TrinidadComponentInitializer
+{
+ @Override
+ public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ boolean informationAdded = false;
+ LongRangeValidator longRangeValidator = (LongRangeValidator)facesContext.getApplication()
+ .createValidator("org.apache.myfaces.trinidad.LongRange");
+
+ Object min = null;
+ if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN))
+ {
+ min = metaData.get(CommonMetaDataKeys.RANGE_MIN);
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MIN_DEFAULT))
+ {
+ min = metaData.get(CommonMetaDataKeys.RANGE_MIN_DEFAULT);
+ }
+
+ if(min instanceof Long)
+ {
+ longRangeValidator.setMinimum((Long)min);
+ informationAdded = true;
+ }
+
+ Object max = null;
+ if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX))
+ {
+ max = metaData.get(CommonMetaDataKeys.RANGE_MAX);
+ }
+ else if(metaData.containsKey(CommonMetaDataKeys.RANGE_MAX_DEFAULT))
+ {
+ max = metaData.get(CommonMetaDataKeys.RANGE_MAX_DEFAULT);
+ }
+
+ if(max instanceof Long)
+ {
+ longRangeValidator.setMaximum((Long)max);
+ informationAdded = true;
+ }
+
+ if(informationAdded &&
+ longRangeValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).addValidator(
+ new ExtValTrinidadClientValidatorWrapper((ClientValidator)longRangeValidator));
+
+ return true;
+ }
+ return false;
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/PatternInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.trinidad.ExtValTrinidadClientValidatorWrapper;
+import org.apache.myfaces.trinidad.validator.RegExpValidator;
+import org.apache.myfaces.trinidad.validator.ClientValidator;
+
+import javax.faces.component.EditableValueHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@ToDo(value = Priority.MEDIUM, description = "skipValidationSupport for client-side validation")
+@UsageInformation(UsageCategory.INTERNAL)
+class PatternInitializer extends TrinidadComponentInitializer
+{
+ @Override
+ public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ if(!metaData.containsKey(CommonMetaDataKeys.PATTERN))
+ {
+ return false;
+ }
+
+ String[] patterns = (String[])metaData.get(CommonMetaDataKeys.PATTERN);
+
+ RegExpValidator regExpValidator;
+
+ for(String pattern : patterns)
+ {
+ regExpValidator = (RegExpValidator)facesContext.getApplication()
+ .createValidator("org.apache.myfaces.trinidad.RegExp");
+
+ regExpValidator.setPattern(pattern);
+ regExpValidator.setMessageDetailNoMatch((String)metaData.get(
+ CommonMetaDataKeys.PATTERN_VALIDATION_ERROR_MESSAGE));
+
+ if(regExpValidator instanceof ClientValidator && uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).addValidator(
+ new ExtValTrinidadClientValidatorWrapper((ClientValidator)regExpValidator));
+ }
+ }
+ return true;
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/RequiredInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
+import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.trinidad.util.TrinidadUtils;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
+
+import javax.faces.component.EditableValueHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+class RequiredInitializer extends TrinidadComponentInitializer
+{
+ @Override
+ public boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ if(!validateEmptyFields() || !ExtValUtils.isRequiredInitializationActive())
+ {
+ return false;
+ }
+
+ if(metaData.containsKey(CommonMetaDataKeys.REQUIRED) ||
+ metaData.containsKey(CommonMetaDataKeys.WEAK_REQUIRED)||
+ metaData.containsKey(CommonMetaDataKeys.SKIP_VALIDATION))
+ {
+ if((
+ (!Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.SKIP_VALIDATION)) &&
+ Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.WEAK_REQUIRED))) ||
+ Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.REQUIRED)))
+ &&
+ Boolean.TRUE.equals(isComponentRequired(uiComponent)))
+ {
+ if(uiComponent instanceof EditableValueHolder)
+ {
+ ((EditableValueHolder)uiComponent).setRequired(true);
+ }
+ else if (uiComponent instanceof CoreOutputLabel)
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(true);
+ }
+
+ return true;
+ }
+ else if(Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.SKIP_VALIDATION)) &&
+ !Boolean.TRUE.equals(metaData.get(CommonMetaDataKeys.REQUIRED)))
+ {
+ if(uiComponent instanceof EditableValueHolder && ExtValUtils.isRequiredResetActivated())
+ {
+ ((EditableValueHolder)uiComponent).setRequired(false);
+ }
+ else if (uiComponent instanceof CoreOutputLabel)
+ {
+ ((CoreOutputLabel)uiComponent).setShowRequired(false);
+ }
+ return true;
+ }
+ }
+ return false;
+ }
+
+ protected boolean validateEmptyFields()
+ {
+ return ExtValUtils.validateEmptyFields();
+ }
+
+ protected Boolean isComponentRequired(UIComponent uiComponent)
+ {
+ if(uiComponent instanceof CoreOutputLabel)
+ {
+ uiComponent = TrinidadUtils.findLabeledEditableComponent((CoreOutputLabel) uiComponent);
+
+ if(uiComponent == null)
+ {
+ return false;
+ }
+ }
+
+ //compare with false so true = true or null
+ boolean isReadOnly = !Boolean.FALSE.equals(ReflectionUtils.tryToInvokeMethod(
+ uiComponent, ReflectionUtils.tryToGetMethod(uiComponent.getClass(), "isReadOnly")));
+ boolean isDisabled = !Boolean.FALSE.equals(ReflectionUtils.tryToInvokeMethod(
+ uiComponent, ReflectionUtils.tryToGetMethod(uiComponent.getClass(), "isDisabled")));
+
+ return !(isReadOnly || isDisabled);
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/TrinidadComponentInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/TrinidadComponentInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/TrinidadComponentInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/TrinidadComponentInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
+import org.apache.myfaces.extensions.validator.core.InvocationOrder;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.trinidad.storage.TrinidadClientValidatorStorage;
+import org.apache.myfaces.trinidad.context.RequestContext;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@InvocationOrder(300)
+@UsageInformation(UsageCategory.INTERNAL)
+public class TrinidadComponentInitializer implements ComponentInitializer
+{
+ private static final String TRINIDAD_CORE_INPUT_TEXT
+ = "org.apache.myfaces.trinidad.component.core.input.CoreInputText";
+ private static final String TRINIDAD_CORE_INPUT_DATE
+ = "org.apache.myfaces.trinidad.component.core.input.CoreInputDate";
+
+ private static List<TrinidadComponentInitializer> componentInitializers =
+ new ArrayList<TrinidadComponentInitializer>();
+
+ static
+ {
+ componentInitializers.add(new RequiredInitializer());
+ componentInitializers.add(new LengthInitializer());
+ componentInitializers.add(new LongRangeInitializer());
+ componentInitializers.add(new DoubleRangeInitializer());
+ componentInitializers.add(new PatternInitializer());
+ //componentInitializers.add(new ValidatorInitializer());
+ }
+
+ @ToDo(value = Priority.LOW, description = "check ppr issue")
+ public final void configureComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ for(TrinidadComponentInitializer componentInitializer : componentInitializers)
+ {
+ if(componentInitializer.configureTrinidadComponent(facesContext, uiComponent, metaData))
+ {
+ addComponentToStorage(uiComponent);
+ updateComponent(facesContext, uiComponent);
+ }
+ }
+ }
+
+ private void addComponentToStorage(UIComponent uiComponent)
+ {
+ ExtValUtils.getStorage(TrinidadClientValidatorStorage.class, TrinidadClientValidatorStorage.class.getName())
+ .addComponent(uiComponent);
+ }
+
+ protected boolean configureTrinidadComponent(FacesContext facesContext, UIComponent uiComponent,
+ Map<String, Object> metaData)
+ {
+ return false;
+ }
+
+ protected boolean processComponent(UIComponent uiComponent)
+ {
+ return TRINIDAD_CORE_INPUT_TEXT.equals(uiComponent.getClass().getName()) ||
+ TRINIDAD_CORE_INPUT_DATE.equals(uiComponent.getClass().getName());
+ }
+
+ private void updateComponent(FacesContext facesContext, UIComponent uiComponent)
+ {
+ if(RequestContext.getCurrentInstance().isPartialRequest(facesContext))
+ {
+ RequestContext.getCurrentInstance().addPartialTarget(uiComponent.getParent());
+ }
+ }
+}
\ No newline at end of file
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/initializer/component/ValidatorInitializer.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.initializer.component;
+
+import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.core.InvocationOrder;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@InvocationOrder(300)
+@UsageInformation(value = UsageCategory.INTERNAL)
+@ToDo(value = Priority.LOW, description = "impl. trinidad e-mail validator")
+class ValidatorInitializer implements ComponentInitializer
+{
+ public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+ {
+ if(!metaData.containsKey(CommonMetaDataKeys.CUSTOM))
+ {
+ return;
+ }
+
+ Object value = metaData.get(CommonMetaDataKeys.CUSTOM);
+
+ if(!(value instanceof List))
+ {
+ return;
+ }
+
+ for(Object currentValue : (List)value)
+ {
+ if(!(currentValue instanceof String))
+ {
+ continue;
+ }
+
+ if(CommonMetaDataKeys.EMAIL.equals(currentValue))
+ {
+ //TODO
+ }
+ }
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadMetaDataExtractionInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadMetaDataExtractionInterceptor.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadMetaDataExtractionInterceptor.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadMetaDataExtractionInterceptor.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.interceptor;
+
+import org.apache.myfaces.extensions.validator.core.InvocationOrder;
+import org.apache.myfaces.extensions.validator.core.validation.parameter.DisableClientSideValidation;
+import org.apache.myfaces.extensions.validator.core.interceptor
+ .ComponentInitializationAwareMetaDataExtractionInterceptor;
+import org.apache.myfaces.extensions.validator.core.metadata.CommonMetaDataKeys;
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataEntry;
+import org.apache.myfaces.extensions.validator.core.property.PropertyInformation;
+import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Gerhard Petracek
+ * @since x.x.3
+ */
+@InvocationOrder(300)
+@UsageInformation(UsageCategory.INTERNAL)
+public class TrinidadMetaDataExtractionInterceptor extends ComponentInitializationAwareMetaDataExtractionInterceptor
+{
+ protected void afterExtractingForComponentInitialization(PropertyInformation propertyInformation)
+ {
+ processMetaDataEntries(propertyInformation.getMetaDataEntries());
+ }
+
+ private void processMetaDataEntries(MetaDataEntry[] metaDataEntries)
+ {
+ for (MetaDataEntry entry : metaDataEntries)
+ {
+ if (processEntry(entry) && isClientValidationDisabled(entry))
+ {
+ disableClientSideValidation(entry);
+ }
+ }
+ }
+
+ //e.g. returns false for jsr303 entries
+ private boolean processEntry(MetaDataEntry entry)
+ {
+ return entry.getValue() instanceof Annotation;
+ }
+
+ private boolean isClientValidationDisabled(MetaDataEntry entry)
+ {
+ return ExtValUtils.getValidationParameterExtractor()
+ .extract(entry.getValue(Annotation.class),
+ ExtValUtils.getValidationParameterClassFor(DisableClientSideValidation.class))
+ .iterator().hasNext();
+ }
+
+ @SuppressWarnings({"unchecked"})
+ private void disableClientSideValidation(MetaDataEntry entry)
+ {
+ if(entry.getProperty(CommonMetaDataKeys.DISABLE_CLIENT_SIDE_VALIDATION) == null)
+ {
+ entry.setProperty(CommonMetaDataKeys.DISABLE_CLIENT_SIDE_VALIDATION, new ArrayList<String>());
+ }
+
+ List<String> keysToDisable = entry.getProperty(CommonMetaDataKeys.DISABLE_CLIENT_SIDE_VALIDATION, List.class);
+ keysToDisable.add(entry.getKey());
+ }
+}
Added: myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java?rev=923484&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java (added)
+++ myfaces/extensions/validator/branches/branch_for_jsf_2_0/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/trinidad/interceptor/TrinidadRendererInterceptor.java Mon Mar 15 22:41:57 2010
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.extensions.validator.trinidad.interceptor;
+
+import org.apache.myfaces.extensions.validator.core.interceptor.AbstractRendererInterceptor;
+import org.apache.myfaces.extensions.validator.core.renderkit.exception.SkipAfterInterceptorsException;
+import org.apache.myfaces.extensions.validator.trinidad.storage.TrinidadClientValidatorStorage;
+import org.apache.myfaces.extensions.validator.trinidad.util.TrinidadUtils;
+import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
+import org.apache.myfaces.trinidad.component.core.CoreForm;
+import org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.render.Renderer;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.2
+ */
+public class TrinidadRendererInterceptor extends AbstractRendererInterceptor
+{
+ public void beforeEncodeBegin(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
+ throws IOException
+ {
+ if (filterCoreOutputLabel(uiComponent))
+ {
+ initCoreOutputLabel(facesContext, (CoreOutputLabel) uiComponent);
+ }
+ }
+
+ @Override
+ public void afterEncodeEnd(FacesContext facesContext, UIComponent uiComponent, Renderer wrapped)
+ throws IOException, SkipAfterInterceptorsException
+ {
+ if (uiComponent instanceof CoreForm)
+ {
+ cleanupExtValClientValidators();
+ }
+ }
+
+ private void cleanupExtValClientValidators()
+ {
+ ExtValUtils.getStorage(TrinidadClientValidatorStorage.class, TrinidadClientValidatorStorage.class.getName())
+ .rollback();
+ }
+
+ private boolean filterCoreOutputLabel(UIComponent uiComponent)
+ {
+ return (uiComponent instanceof CoreOutputLabel);
+ }
+
+ protected void initCoreOutputLabel(FacesContext facesContext, CoreOutputLabel coreOutputLabel)
+ {
+ UIComponent targetComponent = TrinidadUtils.findLabeledEditableComponent(coreOutputLabel);
+
+ if (targetComponent == null || !isComponentEditable(targetComponent))
+ {
+ return;
+ }
+
+ Map<String, Object> metaDataResult = ExtValUtils.getTransformedMetaData(facesContext, targetComponent);
+
+ //get component initializer for the current component and configure it
+ //also in case of skipped validation to reset e.g. the required attribute
+ if (!metaDataResult.isEmpty())
+ {
+ ExtValUtils.configureComponentWithMetaData(facesContext, coreOutputLabel, metaDataResult);
+ }
+ }
+
+ private boolean isComponentEditable(UIComponent uiComponent)
+ {
+ //compare with false so true = true or null
+ boolean isReadOnly = !Boolean.FALSE.equals(ReflectionUtils.tryToInvokeMethod(
+ uiComponent, ReflectionUtils.tryToGetMethod(uiComponent.getClass(), "isReadOnly")));
+ boolean isDisabled = !Boolean.FALSE.equals(ReflectionUtils.tryToInvokeMethod(
+ uiComponent, ReflectionUtils.tryToGetMethod(uiComponent.getClass(), "isDisabled")));
+
+ return !(isReadOnly || isDisabled);
+ }
+}