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;