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 2008/09/24 22:49:08 UTC

svn commit: r698726 - in /myfaces/extensions/validator/branches/jsf_1.1: component-support/trinidad-support/src/main/config/ component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/ component-support/trinida...

Author: gpetracek
Date: Wed Sep 24 13:49:07 2008
New Revision: 698726

URL: http://svn.apache.org/viewvc?rev=698726&view=rev
Log:
restructured trinidad support

Added:
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/InitTrinidadModulePhaseListener.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/WebXmlParameter.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/DoubleRangeInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LengthInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LongRangeInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/PatternInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/RequiredInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/TrinidadComponentInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/ValidatorInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/rendering/
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/rendering/TrinidadRenderingContextInitializer.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializer.java
Removed:
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/TrinidadRenderingContextInitializer.java
Modified:
    myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/config/faces-config.xml
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializerFactory.java
    myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/LongRangeMetaDataExtractor.java
    myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/ValidatorMetaDataExtractor.java

Modified: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/config/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/config/faces-config.xml?rev=698726&r1=698725&r2=698726&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/config/faces-config.xml (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/config/faces-config.xml Wed Sep 24 13:49:07 2008
@@ -24,6 +24,8 @@
 
 <faces-config>
     <lifecycle>
-        <phase-listener>org.apache.myfaces.extensions.validator.component.initializer.trinidad.InitTrinidadModulePhaseListener</phase-listener>
+        <phase-listener>
+            org.apache.myfaces.extensions.validator.initializer.trinidad.InitTrinidadModulePhaseListener
+        </phase-listener>
     </lifecycle>
 </faces-config>

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/InitTrinidadModulePhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/InitTrinidadModulePhaseListener.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/InitTrinidadModulePhaseListener.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/InitTrinidadModulePhaseListener.java Wed Sep 24 13:49:07 2008
@@ -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.initializer.trinidad;
+
+import org.apache.myfaces.extensions.validator.core.AbstractStartupConfigListener;
+import org.apache.myfaces.extensions.validator.initializer.trinidad.component.TrinidadComponentInitializer;
+import org.apache.myfaces.extensions.validator.initializer.trinidad.rendering.TrinidadRenderingContextInitializer;
+import org.apache.myfaces.extensions.validator.internal.Priority;
+import org.apache.myfaces.extensions.validator.internal.ToDo;
+import org.apache.myfaces.extensions.validator.util.ExtValUtils;
+
+/**
+ * @author Gerhard Petracek
+ */
+public class InitTrinidadModulePhaseListener extends AbstractStartupConfigListener
+{
+    @ToDo(value = Priority.MEDIUM, description = "web.xml parameter to deactivate it")
+    protected void init()
+    {
+        ExtValUtils.addRenderingContextInitializer(new TrinidadRenderingContextInitializer());
+
+        String deactivateClientSideValidation = WebXmlParameter.DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION;
+
+        if(deactivateClientSideValidation == null || !deactivateClientSideValidation.equalsIgnoreCase("true"))
+        {
+            ExtValUtils.addComponentInitializer(new TrinidadComponentInitializer());
+        }
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/WebXmlParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/WebXmlParameter.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/WebXmlParameter.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/WebXmlParameter.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,39 @@
+/*
+ * 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.initializer.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.API)
+public interface WebXmlParameter
+{
+    /*
+     * deactivate
+     */
+    static final String DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION = WebXmlUtils
+        .getInitParameter("DEACTIVATE_CLIENT_SIDE_TRINIDAD_VALIDATION");
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/DoubleRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/DoubleRangeInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/DoubleRangeInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/DoubleRangeInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,67 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
+import org.apache.myfaces.trinidad.validator.DoubleRangeValidator;
+
+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
+ */
+public class DoubleRangeInitializer extends TrinidadComponentInitializer
+{
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        boolean informationAdded = false;
+        DoubleRangeValidator lengthValidator = (DoubleRangeValidator)facesContext.getApplication()
+                                            .createValidator("org.apache.myfaces.trinidad.DoubleRange");
+
+        if(metaData.containsKey(MetaDataKeys.RANGE_MIN))
+        {
+            Object min = metaData.get(MetaDataKeys.RANGE_MIN);
+
+            if(min instanceof Double)
+            {
+                lengthValidator.setMinimum((Double)min);
+                informationAdded = true;
+            }
+        }
+
+        if(metaData.containsKey(MetaDataKeys.RANGE_MAX))
+        {
+            Object maxLength = metaData.get(MetaDataKeys.RANGE_MAX);
+
+            if(maxLength instanceof Double)
+            {
+                lengthValidator.setMaximum((Double)maxLength);
+                informationAdded = true;
+            }
+        }
+        if(informationAdded)
+        {
+            ((EditableValueHolder)uiComponent).addValidator(lengthValidator);
+        }
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LengthInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LengthInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LengthInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LengthInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,74 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
+import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
+
+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
+ */
+public class LengthInitializer extends TrinidadComponentInitializer
+{
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        boolean informationAdded = false;
+        LengthValidator lengthValidator = (LengthValidator)facesContext.getApplication()
+                                            .createValidator("org.apache.myfaces.trinidad.Length");
+
+        if(metaData.containsKey(MetaDataKeys.MIN_LENGTH))
+        {
+            Object min = metaData.get(MetaDataKeys.MIN_LENGTH);
+
+            if(min instanceof Integer)
+            {
+                lengthValidator.setMinimum((Integer)min);
+                informationAdded = true;
+            }
+        }
+
+        if(metaData.containsKey(MetaDataKeys.MAX_LENGTH))
+        {
+            Object maxLength = metaData.get(MetaDataKeys.MAX_LENGTH);
+
+            if(maxLength instanceof Integer)
+            {
+                if(processComponent(uiComponent))
+                {
+                    ReflectionUtils
+                        .tryToInvokeMethodOfClassAndMethodName(uiComponent.getClass().getName(), "setMaximumLength",
+                            new Object[] {maxLength}, new Class[] {int.class});
+                }
+                lengthValidator.setMaximum((Integer)maxLength);
+                informationAdded = true;
+            }
+        }
+        if(informationAdded)
+        {
+            ((EditableValueHolder)uiComponent).addValidator(lengthValidator);
+        }
+    }
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LongRangeInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LongRangeInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LongRangeInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/LongRangeInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,67 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
+import org.apache.myfaces.trinidad.validator.LongRangeValidator;
+
+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
+ */
+public class LongRangeInitializer extends TrinidadComponentInitializer
+{
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        boolean informationAdded = false;
+        LongRangeValidator lengthValidator = (LongRangeValidator)facesContext.getApplication()
+                                            .createValidator("org.apache.myfaces.trinidad.LongRange");
+
+        if(metaData.containsKey(MetaDataKeys.RANGE_MIN))
+        {
+            Object min = metaData.get(MetaDataKeys.RANGE_MIN);
+
+            if(min instanceof Long)
+            {
+                lengthValidator.setMinimum((Long)min);
+                informationAdded = true;
+            }
+        }
+
+        if(metaData.containsKey(MetaDataKeys.RANGE_MAX))
+        {
+            Object maxLength = metaData.get(MetaDataKeys.RANGE_MAX);
+
+            if(maxLength instanceof Long)
+            {
+                lengthValidator.setMaximum((Long)maxLength);
+                informationAdded = true;
+            }
+        }
+        if(informationAdded)
+        {
+            ((EditableValueHolder)uiComponent).addValidator(lengthValidator);
+        }
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/PatternInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/PatternInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/PatternInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/PatternInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,59 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
+import org.apache.myfaces.trinidad.validator.RegExpValidator;
+
+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
+ */
+public class PatternInitializer implements ComponentInitializer
+{
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        if(!metaData.containsKey(MetaDataKeys.PATTERN))
+        {
+            return;
+        }
+
+        String[] patterns = (String[])metaData.get(MetaDataKeys.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(
+                MetaDataKeys.PATTERN_VALIDATION_ERROR_MESSAGE));
+
+            ((EditableValueHolder)uiComponent).addValidator(regExpValidator);
+        }
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/RequiredInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/RequiredInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/RequiredInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/RequiredInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,56 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
+import org.apache.myfaces.extensions.validator.util.ReflectionUtils;
+
+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
+ */
+public class RequiredInitializer extends TrinidadComponentInitializer
+{
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        if(metaData.containsKey(MetaDataKeys.REQUIRED))
+        {
+            if((Boolean)metaData.get(MetaDataKeys.REQUIRED) && Boolean.TRUE.equals(isComponentRequired(uiComponent)))
+            {
+                ((EditableValueHolder)uiComponent).setRequired(true);
+            }
+        }
+    }
+
+    protected Boolean isComponentRequired(UIComponent uiComponent)
+    {
+        //compare with false so true = true or null
+        boolean isReadOnly = !Boolean.FALSE.equals(ReflectionUtils
+            .tryToInvokeMethodOfClassAndMethodName(uiComponent.getClass().getName(), "isReadOnly"));
+        boolean isDisabled = !Boolean.FALSE.equals(ReflectionUtils
+            .tryToInvokeMethodOfClassAndMethodName(uiComponent.getClass().getName(), "isDisabled"));
+
+        return !(isReadOnly || isDisabled);
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/TrinidadComponentInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/TrinidadComponentInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/TrinidadComponentInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/TrinidadComponentInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,65 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
+
+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
+ */
+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<ComponentInitializer> componentInitializers = new ArrayList<ComponentInitializer>();
+
+    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());
+    }
+
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        for(ComponentInitializer componentInitializer : componentInitializers)
+        {
+            componentInitializer.configureComponent(facesContext, uiComponent, metaData);
+        }
+    }
+
+    protected boolean processComponent(UIComponent uiComponent)
+    {
+        return TRINIDAD_CORE_INPUT_TEXT.equals(uiComponent.getClass().getName()) ||
+               TRINIDAD_CORE_INPUT_DATE.equals(uiComponent.getClass().getName());
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/ValidatorInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/ValidatorInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/ValidatorInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/component/ValidatorInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,68 @@
+/*
+ * 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.initializer.trinidad.component;
+
+import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
+import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
+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
+ */
+@UsageInformation(value = UsageCategory.INTERNAL)
+@ToDo(value = Priority.LOW, description = "impl. trinidad e-mail validator")
+public class ValidatorInitializer implements ComponentInitializer
+{
+    public void configureComponent(FacesContext facesContext, UIComponent uiComponent, Map<String, Object> metaData)
+    {
+        if(!metaData.containsKey(MetaDataKeys.CUSTOM))
+        {
+            return;
+        }
+
+        Object value = metaData.get(MetaDataKeys.CUSTOM);
+
+        if(!(value instanceof List))
+        {
+            return;
+        }
+
+        for(Object currentValue : (List)value)
+        {
+            if(!(currentValue instanceof String))
+            {
+                continue;
+            }
+
+            if(MetaDataKeys.EMAIL.equals(currentValue))
+            {
+                //TODO
+            }
+        }
+    }
+}
\ No newline at end of file

Added: myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/rendering/TrinidadRenderingContextInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/rendering/TrinidadRenderingContextInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/rendering/TrinidadRenderingContextInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/component-support/trinidad-support/src/main/java/org/apache/myfaces/extensions/validator/initializer/trinidad/rendering/TrinidadRenderingContextInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,38 @@
+/*
+ * 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.initializer.trinidad.rendering;
+
+import org.apache.myfaces.extensions.validator.core.initializer.rendering.RenderingContextInitializer;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.util.ClassUtils;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class TrinidadRenderingContextInitializer implements RenderingContextInitializer
+{
+    public void initContext()
+    {
+        ClassUtils.tryToInstantiateClassForName(
+            "org.apache.myfaces.trinidadinternal.renderkit.core.CoreRenderingContext");
+    }
+}

Added: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializer.java?rev=698726&view=auto
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializer.java (added)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializer.java Wed Sep 24 13:49:07 2008
@@ -0,0 +1,54 @@
+/*
+ * 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.core.initializer.rendering;
+
+import org.apache.myfaces.extensions.validator.internal.UsageInformation;
+import org.apache.myfaces.extensions.validator.internal.UsageCategory;
+import org.apache.myfaces.extensions.validator.core.initializer.component.DefaultComponentInitializer;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author Gerhard Petracek
+ * @since 1.x.1
+ */
+@UsageInformation(UsageCategory.INTERNAL)
+public class DefaultRenderingContextInitializer implements RenderingContextInitializer
+{
+    private static List<RenderingContextInitializer> renderingContextInitializers
+        = new ArrayList<RenderingContextInitializer>();
+
+    public void initContext()
+    {
+        for(RenderingContextInitializer renderingContextInitializer : renderingContextInitializers)
+        {
+            renderingContextInitializer.initContext();
+        }
+    }
+
+    @UsageInformation(UsageCategory.INTERNAL)
+    public static void addRenderingContextInitializer(RenderingContextInitializer renderingContextInitializer)
+    {
+        synchronized (DefaultComponentInitializer.class)
+        {
+            renderingContextInitializers.add(renderingContextInitializer);
+        }
+    }
+}

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializerFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializerFactory.java?rev=698726&r1=698725&r2=698726&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializerFactory.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/core/initializer/rendering/DefaultRenderingContextInitializerFactory.java Wed Sep 24 13:49:07 2008
@@ -50,7 +50,7 @@
         renderingContextClassNames
             .add(ExtValUtils.getInformationProviderBean().getCustomRenderingContextInitializer());
         renderingContextClassNames
-            .add(TrinidadRenderingContextInitializer.class.getName());
+            .add(DefaultRenderingContextInitializer.class.getName());
     }
 
     public RenderingContextInitializer create(RenderKit renderKit)

Modified: myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java?rev=698726&r1=698725&r2=698726&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/core/src/main/java/org/apache/myfaces/extensions/validator/util/ExtValUtils.java Wed Sep 24 13:49:07 2008
@@ -23,6 +23,8 @@
 import org.apache.myfaces.extensions.validator.core.WebXmlParameter;
 import org.apache.myfaces.extensions.validator.core.initializer.component.ComponentInitializer;
 import org.apache.myfaces.extensions.validator.core.initializer.component.DefaultComponentInitializer;
+import org.apache.myfaces.extensions.validator.core.initializer.rendering.RenderingContextInitializer;
+import org.apache.myfaces.extensions.validator.core.initializer.rendering.DefaultRenderingContextInitializer;
 import org.apache.myfaces.extensions.validator.internal.ToDo;
 import org.apache.myfaces.extensions.validator.internal.Priority;
 import org.apache.myfaces.extensions.validator.internal.UsageInformation;
@@ -202,6 +204,11 @@
                 new HashMap<String, ProcessedInformationEntry>());
     }
 
+    public static void addRenderingContextInitializer(RenderingContextInitializer renderingContextInitializer)
+    {
+        DefaultRenderingContextInitializer.addRenderingContextInitializer(renderingContextInitializer);
+    }
+
     public static void addComponentInitializer(ComponentInitializer componentInitializer)
     {
         DefaultComponentInitializer.addComponentInitializer(componentInitializer);

Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/LongRangeMetaDataExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/LongRangeMetaDataExtractor.java?rev=698726&r1=698725&r2=698726&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/LongRangeMetaDataExtractor.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/LongRangeMetaDataExtractor.java Wed Sep 24 13:49:07 2008
@@ -18,7 +18,6 @@
  */
 package org.apache.myfaces.extensions.validator.baseval.metadata.extractor;
 
-import org.apache.myfaces.extensions.validator.baseval.annotation.Length;
 import org.apache.myfaces.extensions.validator.baseval.annotation.LongRange;
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
 import org.apache.myfaces.extensions.validator.core.metadata.extractor.MetaDataExtractor;

Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/ValidatorMetaDataExtractor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/ValidatorMetaDataExtractor.java?rev=698726&r1=698725&r2=698726&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/ValidatorMetaDataExtractor.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/extractor/ValidatorMetaDataExtractor.java Wed Sep 24 13:49:07 2008
@@ -18,7 +18,6 @@
  */
 package org.apache.myfaces.extensions.validator.baseval.metadata.extractor;
 
-import org.apache.myfaces.extensions.validator.baseval.annotation.DoubleRange;
 import org.apache.myfaces.extensions.validator.baseval.annotation.Validator;
 import org.apache.myfaces.extensions.validator.core.metadata.MetaDataKeys;
 import org.apache.myfaces.extensions.validator.core.metadata.extractor.MetaDataExtractor;