You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ba...@apache.org on 2006/11/27 21:01:51 UTC
svn commit: r479743 [1/2] - in /myfaces:
core/branches/jsf12/api/src/main/java-templates/javax/faces/component/
core/branches/jsf12/api/src/main/java/javax/faces/component/
core/branches/jsf12/api/src/main/java/javax/faces/event/
core/branches/jsf12/bu...
Author: baranda
Date: Mon Nov 27 12:01:47 2006
New Revision: 479743
URL: http://svn.apache.org/viewvc?view=rev&rev=479743
Log:
Patch XML_NR3.patch for MYFACES-1444 applied. This patch adds most of the XML files to autogenerate the UI components for faces 1.2. Thanks to Andreas Berger
Added:
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIInputTemplate.java
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UINamingContainerTemplate.java
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectBooleanTemplate.java
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectManyTemplate.java
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectOneTemplate.java
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIViewRootTemplate.java
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesImmediateProperty.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesLableProperty.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesRequiredProperty.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_MessageProperties.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIColumn.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIInput.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessage.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessages.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UINamingContainer.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIPanel.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIParameter.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UISelectBoolean.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UISelectItem.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UISelectItems.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UISelectMany.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UISelectOne.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIViewRoot.xml
Removed:
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIInput.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIMessage.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIMessages.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UINamingContainer.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIPanel.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIParameter.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UISelectBoolean.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UISelectItem.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UISelectItems.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UISelectMany.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UISelectOne.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/component/UIViewRoot.java
Modified:
myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UICommandTemplate.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionActionListener.java
myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionValueChangeListener.java
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_CommandProperties.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_ComponentProperties.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_DataProperties.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIData.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIOutput.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/events/javax/faces/Action.xml
myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/events/javax/faces/ValueChange.xml
myfaces/core/branches/jsf12/impl/src/test/java/org/apache/myfaces/renderkit/html/HtmlMessagesRendererTest.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/_SharedRendererUtils.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlImageRendererBase.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlSecretRendererBase.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextRendererBase.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextareaRendererBase.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/taglib/UIComponentELTagUtils.java
myfaces/shared/branches/3_0_0/core/src/main/java/org/apache/myfaces/shared/taglib/core/ConvertDateTimeTagBase.java
Modified: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UICommandTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UICommandTemplate.java?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UICommandTemplate.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UICommandTemplate.java Mon Nov 27 12:01:47 2006
@@ -60,6 +60,7 @@
return new _MethodExpressionToMethodBinding(actionExpression);
}
+ @Override
public void broadcast(FacesEvent event)
throws AbortProcessingException
{
@@ -83,6 +84,7 @@
}
}
+ @Override
public void queueEvent(FacesEvent event)
{
if (event != null && event instanceof ActionEvent)
Added: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIInputTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIInputTemplate.java?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIInputTemplate.java (added)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIInputTemplate.java Mon Nov 27 12:01:47 2006
@@ -0,0 +1,365 @@
+/*
+* Copyright 2004-2006 The Apache Software Foundation.
+*
+* Licensed 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 javax.faces.component;
+
+import javax.faces.validator.Validator;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.EvaluationException;
+import javax.faces.el.ValueBinding;
+import javax.faces.context.FacesContext;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.ValueChangeEvent;
+import javax.faces.render.Renderer;
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+import javax.faces.application.FacesMessage;
+
+
+/**
+ * @author Andreas Berger (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * @since 1.2
+ */
+public class UIInputTemplate extends UIOutput implements EditableValueHolder
+{
+ public static final String CONVERSION_MESSAGE_ID = "javax.faces.component.UIInput.CONVERSION";
+ public static final String REQUIRED_MESSAGE_ID = "javax.faces.component.UIInput.REQUIRED";
+ public static final String UPDATE_MESSAGE_ID = "javax.faces.component.UIInput.UPDATE";
+
+ /**
+ * Store the specified object as the "local value" of this component.
+ * The value-binding named "value" (if any) is ignored; the object is
+ * only stored locally on this component. During the "update model"
+ * phase, if there is a value-binding named "value" then this local
+ * value will be stored via that value-binding and the "local value"
+ * reset to null.
+ */
+ /**///setValue
+ public void setValue(Object value)
+ {
+ setLocalValueSet(true);
+ super.setValue(value);
+ }
+
+ /**
+ * Set the "submitted value" of this component from the relevant data
+ * in the current servet request object.
+ * <p>
+ * If this component is not rendered, then do nothing; no output would
+ * have been sent to the client so no input is expected.
+ * <p>
+ * Invoke the inherited functionality, which typically invokes the
+ * renderer associated with this component to extract and set this
+ * component's "submitted value".
+ * <p>
+ * If this component is marked "immediate", then immediately apply
+ * validation to the submitted value found. On error, call context
+ * method "renderResponse" which will force processing to leap to
+ * the "render response" phase as soon as the "decode" step has
+ * completed for all other components.
+ */
+ public void processDecodes(FacesContext context)
+ {
+ if (context == null) throw new NullPointerException("context");
+ if (!isRendered()) return;
+ super.processDecodes(context);
+ if (isImmediate())
+ {
+ try
+ {
+ validate(context);
+ }
+ catch (RuntimeException e)
+ {
+ context.renderResponse();
+ throw e;
+ }
+ if (!isValid())
+ {
+ context.renderResponse();
+ }
+ }
+ }
+
+ public void processValidators(FacesContext context)
+ {
+ if (context == null) throw new NullPointerException("context");
+ if (!isRendered()) return;
+
+ super.processValidators(context);
+
+ if (!isImmediate())
+ {
+ try
+ {
+ validate(context);
+ }
+ catch (RuntimeException e)
+ {
+ context.renderResponse();
+ throw e;
+ }
+ if (!isValid())
+ {
+ context.renderResponse();
+ }
+ }
+ }
+
+ public void processUpdates(FacesContext context)
+ {
+ if (context == null) throw new NullPointerException("context");
+ if (!isRendered()) return;
+
+ super.processUpdates(context);
+
+ try
+ {
+ updateModel(context);
+ }
+ catch (RuntimeException e)
+ {
+ context.renderResponse();
+ throw e;
+ }
+ if (!isValid())
+ {
+ context.renderResponse();
+ }
+ }
+
+ public void decode(FacesContext context)
+ {
+ //We (re)set to valid, so that component automatically gets (re)validated
+ setValid(true);
+ super.decode(context);
+ }
+
+ public void broadcast(FacesEvent event)
+ throws AbortProcessingException
+ {
+ if (!(event instanceof ValueChangeEvent))
+ {
+ throw new IllegalArgumentException("FacesEvent of class " + event.getClass().getName() + " not supported by UIInput");
+ }
+
+ // invoke standard listeners attached to this component first
+ super.broadcast(event);
+
+ // invoke the single listener defined directly on the component
+ MethodBinding valueChangeListenerBinding = getValueChangeListener();
+ if (valueChangeListenerBinding != null)
+ {
+ try
+ {
+ valueChangeListenerBinding.invoke(getFacesContext(),
+ new Object[]{event});
+ }
+ catch (EvaluationException e)
+ {
+ Throwable cause = e.getCause();
+ if (cause != null && cause instanceof AbortProcessingException)
+ {
+ throw (AbortProcessingException)cause;
+ }
+ else
+ {
+ throw e;
+ }
+ }
+ }
+ }
+
+ public void updateModel(FacesContext context)
+ {
+ if (!isValid()) return;
+ if (!isLocalValueSet()) return;
+ ValueBinding vb = getValueBinding("value");
+ if (vb == null) return;
+ try
+ {
+ vb.setValue(context, getLocalValue());
+ setValue(null);
+ setLocalValueSet(false);
+ }
+ catch (EvaluationException ee)
+ {
+ String exceptionMessage = ee.getMessage();
+ if (exceptionMessage == null)
+ {
+ _MessageUtils.addErrorMessage(context, this,
+ CONVERSION_MESSAGE_ID, new Object[] { getId() });
+ }
+ else
+ {
+ _MessageUtils.addErrorMessage(context, this, ee);
+ }
+ }
+ catch (RuntimeException e)
+ {
+ //Object[] args = {getId()};
+ context.getExternalContext().log(e.getMessage(), e);
+ _MessageUtils.addErrorMessage(context, this,CONVERSION_MESSAGE_ID,new Object[]{getId()});
+ setValid(false);
+ }
+ }
+
+ protected void validateValue(FacesContext context,Object convertedValue)
+ {
+ boolean empty = convertedValue == null ||
+ (convertedValue instanceof String
+ && ((String)convertedValue).length() == 0);
+
+ if (isRequired() && empty)
+ {
+ _MessageUtils.addErrorMessage(context, this, REQUIRED_MESSAGE_ID,new Object[]{getId()});
+ setValid(false);
+ return;
+ }
+
+ if (!empty)
+ {
+ _ComponentUtils.callValidators(context, this, convertedValue);
+ }
+
+ }
+
+ /**
+ * Determine whether the new value is valid, and queue a ValueChangeEvent
+ * if necessary.
+ * <p>
+ * The "submitted value" is converted to the necessary type; conversion
+ * failure is reported as an error and validation processing terminates
+ * for this component. See documentation for method getConvertedValue
+ * for details on the conversion process.
+ * <p>
+ * Any validators attached to this component are then run, passing
+ * the converted value.
+ * <p>
+ * The old value of this component is then fetched (possibly involving
+ * the evaluation of a value-binding expression, ie invoking a method
+ * on a user object). The old value is compared to the new validated
+ * value, and if they are different then a ValueChangeEvent is queued
+ * for later processing.
+ * <p>
+ * On successful completion of this method:
+ * <ul>
+ * <li> isValid() is true
+ * <li> isLocalValueSet() is true
+ * <li> submittedValue is reset to null
+ * <li> a ValueChangeEvent is queued if the new value != old value
+ * </ul>
+ */
+ public void validate(FacesContext context)
+ {
+ if (context == null) throw new NullPointerException("context");
+ Object submittedValue = getSubmittedValue();
+ if (submittedValue == null) return;
+
+ Object convertedValue = getConvertedValue(context, submittedValue);
+
+ if (!isValid()) return;
+
+ validateValue(context, convertedValue);
+
+ if (!isValid()) return;
+
+ Object previousValue = getValue();
+ setValue(convertedValue);
+ setSubmittedValue(null);
+ if (compareValues(previousValue, convertedValue))
+ {
+ queueEvent(new ValueChangeEvent(this, previousValue, convertedValue));
+ }
+ }
+
+ /**
+ * Convert the provided object to the desired value.
+ * <p>
+ * If there is a renderer for this component, then call the renderer's
+ * getConvertedValue method. While this can of course be implemented in
+ * any way the renderer desires, it typically performs exactly the same
+ * processing that this method would have done anyway (ie that described
+ * below for the no-renderer case).
+ * <p>
+ * Otherwise:
+ * <ul>
+ * <li>If the submittedValue is not a String then just return the
+ * submittedValue unconverted.
+ * <li>If there is no "value" value-binding then just return the
+ * submittedValue unconverted.
+ * <li>Use introspection to determine the type of the target
+ * property specified by the value-binding, and then use
+ * Application.createConverter to find a converter that can
+ * map from String to the required type. Apply the converter
+ * to the submittedValue and return the result.
+ * </ul>
+ */
+ protected Object getConvertedValue(FacesContext context, Object submittedValue)
+ {
+ try
+ {
+ Renderer renderer = getRenderer(context);
+ if (renderer != null)
+ {
+ return renderer.getConvertedValue(context, this, submittedValue);
+ }
+ else if (submittedValue instanceof String)
+ {
+ Converter converter = _SharedRendererUtils.findUIOutputConverter(context, this);
+ if (converter != null)
+ {
+ return converter.getAsObject(context, this, (String)submittedValue);
+ }
+ }
+ }
+ catch (ConverterException e)
+ {
+ FacesMessage facesMessage = e.getFacesMessage();
+ if (facesMessage != null)
+ {
+ context.addMessage(getClientId(context), facesMessage);
+ }
+ else
+ {
+ _MessageUtils.addErrorMessage(context, this, CONVERSION_MESSAGE_ID,new Object[]{getId()});
+ }
+ setValid(false);
+ }
+ return submittedValue;
+ }
+
+
+
+ protected boolean compareValues(Object previous,
+ Object value)
+ {
+ return previous==null?(value!=null):(!previous.equals(value));
+ }
+
+
+ /**
+ * @since 1.2
+ */
+ public void resetValue()
+ {
+ setValue(null);
+ setSubmittedValue(null);
+ setLocalValueSet(false);
+ setValid(true);
+ }
+}
Added: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UINamingContainerTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UINamingContainerTemplate.java?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UINamingContainerTemplate.java (added)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UINamingContainerTemplate.java Mon Nov 27 12:01:47 2006
@@ -0,0 +1,27 @@
+/*
+* Copyright 2004-2006 The Apache Software Foundation.
+*
+* Licensed 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 javax.faces.component;
+
+/**
+ * @author Andreas Berger (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * @since 1.2
+ */
+public class UINamingContainerTemplate
+ extends UIComponentBase
+ implements NamingContainer
+{
+}
Added: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectBooleanTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectBooleanTemplate.java?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectBooleanTemplate.java (added)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectBooleanTemplate.java Mon Nov 27 12:01:47 2006
@@ -0,0 +1,102 @@
+/*
+* Copyright 2004-2006 The Apache Software Foundation.
+*
+* Licensed 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 javax.faces.component;
+
+import javax.faces.el.ValueBinding;
+import javax.el.ValueExpression;
+
+/**
+ * @author Andreas Berger (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * @since 1.2
+ */
+public class UISelectBooleanTemplate extends UIInput
+{
+
+ public void setSelected(boolean selected)
+ {
+ setValue(Boolean.valueOf(selected));
+ }
+
+ public boolean isSelected()
+ {
+ Boolean value = (Boolean)getSubmittedValue();
+ if( value == null )
+ value = (Boolean)getValue();
+
+ return value != null ? value.booleanValue() : false;
+ }
+
+ /**
+ * @deprecated Use getValueExpression instead
+ */
+ public ValueBinding getValueBinding(String name)
+ {
+ if (name == null) throw new NullPointerException("name");
+ if (name.equals("selected"))
+ {
+ return super.getValueBinding("value");
+ }
+ else
+ {
+ return super.getValueBinding(name);
+ }
+ }
+
+ /**
+ * @deprecated Use setValueExpression instead
+ */
+ public void setValueBinding(String name,
+ ValueBinding binding)
+ {
+ if (name == null) throw new NullPointerException("name");
+ if (name.equals("selected"))
+ {
+ super.setValueBinding("value", binding);
+ }
+ else
+ {
+ super.setValueBinding(name, binding);
+ }
+ }
+
+ public ValueExpression getValueExpression(String name)
+ {
+ if (name == null) throw new NullPointerException("name");
+ if (name.equals("selected"))
+ {
+ return super.getValueExpression("value");
+ }
+ else
+ {
+ return super.getValueExpression(name);
+ }
+ }
+
+ public void setValueExpression(String name,
+ ValueExpression binding)
+ {
+ if (name == null) throw new NullPointerException("name");
+ if (name.equals("selected"))
+ {
+ super.setValueExpression("value", binding);
+ }
+ else
+ {
+ super.setValueExpression(name, binding);
+ }
+ }
+}
\ No newline at end of file
Added: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectManyTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectManyTemplate.java?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectManyTemplate.java (added)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectManyTemplate.java Mon Nov 27 12:01:47 2006
@@ -0,0 +1,413 @@
+/*
+* Copyright 2004-2006 The Apache Software Foundation.
+*
+* Licensed 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 javax.faces.component;
+
+import javax.el.ValueExpression;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.ConverterException;
+import javax.faces.el.ValueBinding;
+import javax.faces.render.Renderer;
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author Andreas Berger (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * @since 1.2
+ */
+public class UISelectManyTemplate
+ extends UIInput
+{
+ public static final String INVALID_MESSAGE_ID = "javax.faces.component.UISelectMany.INVALID";
+
+
+ public Object[] getSelectedValues()
+ {
+ return (Object[]) getValue();
+ }
+
+ public void setSelectedValues(Object[] selectedValues)
+ {
+ setValue(selectedValues);
+ }
+
+ /**
+ * @deprecated Use getValueExpression instead
+ */
+ public ValueBinding getValueBinding(String name)
+ {
+ if (name == null)
+ {
+ throw new NullPointerException("name");
+ }
+ if (name.equals("selectedValues"))
+ {
+ return super.getValueBinding("value");
+ } else
+ {
+ return super.getValueBinding(name);
+ }
+ }
+
+ /**
+ * @deprecated Use setValueExpression instead
+ */
+ public void setValueBinding(String name, ValueBinding binding)
+ {
+ if (name == null)
+ {
+ throw new NullPointerException("name");
+ }
+ if (name.equals("selectedValues"))
+ {
+ super.setValueBinding("value", binding);
+ } else
+ {
+ super.setValueBinding(name, binding);
+ }
+ }
+
+ public ValueExpression getValueExpression(String name)
+ {
+ if (name == null)
+ {
+ throw new NullPointerException("name");
+ }
+ if (name.equals("selectedValues"))
+ {
+ return super.getValueExpression("value");
+ } else
+ {
+ return super.getValueExpression(name);
+ }
+ }
+
+ public void setValueExpression(String name, ValueExpression binding)
+ {
+ if (name == null)
+ {
+ throw new NullPointerException("name");
+ }
+ if (name.equals("selectedValues"))
+ {
+ super.setValueExpression("value", binding);
+ } else
+ {
+ super.setValueExpression(name, binding);
+ }
+ }
+
+ /**
+ * @return true if Objects are different (!)
+ */
+ protected boolean compareValues(Object previous, Object value)
+ {
+ if (previous == null)
+ {
+ // one is null, the other not
+ return value != null;
+ } else if (value == null)
+ {
+ // one is null, the other not
+ return previous != null;
+ } else
+ {
+ if (previous instanceof Object[] && value instanceof Object[])
+ {
+ return compareObjectArrays((Object[]) previous,
+ (Object[]) value);
+ } else if (previous instanceof List && value instanceof List)
+ {
+ return compareLists((List) previous, (List) value);
+ } else if (previous.getClass().isArray()
+ && value.getClass().isArray())
+ {
+ return comparePrimitiveArrays(previous, value);
+ } else
+ {
+ //Objects have different classes
+ return true;
+ }
+ }
+ }
+
+ private boolean compareObjectArrays(Object[] previous, Object[] value)
+ {
+ int length = value.length;
+ if (previous.length != length)
+ {
+ //different length
+ return true;
+ }
+
+ boolean[] scoreBoard = new boolean[length];
+ for (int i = 0; i < length; i++)
+ {
+ Object p = previous[i];
+ boolean found = false;
+ for (int j = 0; j < length; j++)
+ {
+ if (scoreBoard[j] == false)
+ {
+ Object v = value[j];
+ if ((p == null && v == null)
+ || (p != null && v != null && p.equals(v)))
+ {
+ scoreBoard[j] = true;
+ found = true;
+ break;
+ }
+ }
+ }
+ if (!found)
+ {
+ return true; //current element of previous array not found in new array
+ }
+ }
+
+ return false; // arrays are identical
+ }
+
+ private boolean compareLists(List previous, List value)
+ {
+ int length = value.size();
+ if (previous.size() != length)
+ {
+ //different length
+ return true;
+ }
+
+ boolean[] scoreBoard = new boolean[length];
+ for (int i = 0; i < length; i++)
+ {
+ Object p = previous.get(i);
+ boolean found = false;
+ for (int j = 0; j < length; j++)
+ {
+ if (scoreBoard[j] == false)
+ {
+ Object v = value.get(j);
+ if ((p == null && v == null)
+ || (p != null && v != null && p.equals(v)))
+ {
+ scoreBoard[j] = true;
+ found = true;
+ break;
+ }
+ }
+ }
+ if (!found)
+ {
+ return true; //current element of previous List not found in new List
+ }
+ }
+
+ return false; // Lists are identical
+ }
+
+ private boolean comparePrimitiveArrays(Object previous, Object value)
+ {
+ int length = Array.getLength(value);
+ if (Array.getLength(previous) != length)
+ {
+ //different length
+ return true;
+ }
+
+ boolean[] scoreBoard = new boolean[length];
+ for (int i = 0; i < length; i++)
+ {
+ Object p = Array.get(previous, i);
+ boolean found = false;
+ for (int j = 0; j < length; j++)
+ {
+ if (scoreBoard[j] == false)
+ {
+ Object v = Array.get(value, j);
+ if ((p == null && v == null)
+ || (p != null && v != null && p.equals(v)))
+ {
+ scoreBoard[j] = true;
+ found = true;
+ break;
+ }
+ }
+ }
+ if (!found)
+ {
+ return true; //current element of previous array not found in new array
+ }
+ }
+
+ return false; // arrays are identical
+ }
+
+ protected void validateValue(FacesContext context, Object convertedValue)
+ {
+ Iterator itemValues = _createItemValuesIterator(convertedValue);
+
+ // verify that iterator was successfully created for convertedValue type
+ if (itemValues == null)
+ {
+ _MessageUtils.addErrorMessage(context, this,
+ INVALID_MESSAGE_ID,
+ new Object[]{getId()});
+ setValid(false);
+ return;
+ }
+
+ boolean hasValues = itemValues.hasNext();
+
+ // if UISelectMany is required, then there must be some selected values
+ if (isRequired() && !hasValues)
+ {
+ _MessageUtils.addErrorMessage(context, this, REQUIRED_MESSAGE_ID,
+ new Object[]{getId()});
+ setValid(false);
+ return;
+ }
+
+ // run the validators only if there are item values to validate
+ if (hasValues)
+ {
+ _ComponentUtils.callValidators(context, this, convertedValue);
+ }
+
+ if (isValid() && hasValues)
+ {
+ // all selected values must match to the values of the available options
+
+ _SelectItemsUtil._ValueConverter converter = new _SelectItemsUtil._ValueConverter()
+ {
+ public Object getConvertedValue(FacesContext context, String value)
+ {
+ Object convertedValue = UISelectMany.this.getConvertedValue(context, new String[]{value});
+ if (convertedValue instanceof Collection)
+ {
+ Iterator iter = ((Collection) convertedValue).iterator();
+ if (iter.hasNext())
+ {
+ return iter.next();
+ }
+ return null;
+ }
+ return ((Object[]) convertedValue)[0];
+ }
+ };
+
+ Collection items = new ArrayList();
+ for (Iterator iter = new _SelectItemsIterator(this); iter.hasNext();)
+ {
+ items.add(iter.next());
+ }
+ while (itemValues.hasNext())
+ {
+ Object itemValue = itemValues.next();
+
+ if (!_SelectItemsUtil.matchValue(context, itemValue,
+ items.iterator(), converter))
+ {
+ _MessageUtils.addErrorMessage(context, this,
+ INVALID_MESSAGE_ID,
+ new Object[]{getId()});
+ setValid(false);
+ return;
+ }
+ }
+ }
+ }
+
+ /**
+ * First part is identical to super.validate except the empty condition.
+ * Second part: iterate through UISelectItem and UISelectItems and check
+ * current values against these items
+ */
+ public void validate(FacesContext context)
+ {
+ // TODO : Setting the submitted value to null in the super class causes a bug, if set to null, you'll get the following error :
+ // java.lang.NullPointerException at org.apache.myfaces.renderkit._SharedRendererUtils.getConvertedUISelectManyValue(_SharedRendererUtils.java:118)
+ super.validate(context);
+ }
+
+ protected Object getConvertedValue(FacesContext context,
+ Object submittedValue)
+ {
+ try
+ {
+ Renderer renderer = getRenderer(context);
+ if (renderer != null)
+ {
+ return renderer
+ .getConvertedValue(context, this,
+ submittedValue);
+ } else if (submittedValue == null)
+ {
+ return null;
+ } else if (submittedValue instanceof String[])
+ {
+ return _SharedRendererUtils.getConvertedUISelectManyValue(
+ context, this, (String[]) submittedValue);
+ }
+ }
+ catch (ConverterException e)
+ {
+ FacesMessage facesMessage = e.getFacesMessage();
+ if (facesMessage != null)
+ {
+ context.addMessage(getClientId(context), facesMessage);
+ } else
+ {
+ _MessageUtils.addErrorMessage(context, this,
+ CONVERSION_MESSAGE_ID, new Object[]{getId()});
+ }
+ setValid(false);
+ }
+ return submittedValue;
+ }
+
+ private Iterator _createItemValuesIterator(Object convertedValue)
+ {
+ if (convertedValue == null)
+ {
+ return Collections.EMPTY_LIST.iterator();
+ } else
+ {
+ Class valueClass = convertedValue.getClass();
+ if (valueClass.isArray())
+ {
+ return new _PrimitiveArrayIterator(convertedValue);
+ } else if (convertedValue instanceof Object[])
+ {
+ Object[] values = (Object[]) convertedValue;
+ return Arrays.asList(values).iterator();
+ } else if (convertedValue instanceof List)
+ {
+ List values = (List) convertedValue;
+ return values.iterator();
+ } else
+ {
+ // unsupported type for iteration
+ return null;
+ }
+ }
+ }
+}
Added: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectOneTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectOneTemplate.java?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectOneTemplate.java (added)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UISelectOneTemplate.java Mon Nov 27 12:01:47 2006
@@ -0,0 +1,61 @@
+/*
+* Copyright 2004-2006 The Apache Software Foundation.
+*
+* Licensed 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 javax.faces.component;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * @author Andreas Berger (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * @since 1.2
+ */
+public class UISelectOneTemplate extends UIInput
+{
+ public static final String INVALID_MESSAGE_ID = "javax.faces.component.UISelectOne.INVALID";
+
+ /**
+ * Verify that the result of converting the newly submitted value is
+ * <i>equal</i> to the value property of one of the child SelectItem
+ * objects. If this is not true, a validation error is reported.
+ *
+ * @see javax.faces.component.UIInput#validateValue(javax.faces.context.FacesContext,java.lang.Object)
+ */
+ protected void validateValue(FacesContext context, Object value)
+ {
+ super.validateValue(context, value);
+
+ if (!isValid() || value == null)
+ {
+ return;
+ }
+
+ _SelectItemsUtil._ValueConverter converter = new _SelectItemsUtil._ValueConverter()
+ {
+ public Object getConvertedValue(FacesContext context, String value)
+ {
+ return UISelectOne.this.getConvertedValue(context, value);
+ }
+ };
+
+ // selected value must match to one of the available options
+ if (!_SelectItemsUtil.matchValue(context, value, new _SelectItemsIterator(this), converter))
+ {
+ _MessageUtils.addErrorMessage(context, this, INVALID_MESSAGE_ID,
+ new Object[]{getId()});
+ setValid(false);
+ }
+ }
+}
Added: myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIViewRootTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIViewRootTemplate.java?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIViewRootTemplate.java (added)
+++ myfaces/core/branches/jsf12/api/src/main/java-templates/javax/faces/component/UIViewRootTemplate.java Mon Nov 27 12:01:47 2006
@@ -0,0 +1,279 @@
+/*
+* Copyright 2004-2006 The Apache Software Foundation.
+*
+* Licensed 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 javax.faces.component;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
+import javax.faces.event.PhaseListener;
+import javax.el.ValueExpression;
+import java.util.ArrayList;
+import java.util.ConcurrentModificationException;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Locale;
+
+/**
+ * @author Andreas Berger (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * @since 1.2
+ */
+public class UIViewRootTemplate
+ extends UIComponentBase
+{
+ private static final int ANY_PHASE_ORDINAL = PhaseId.ANY_PHASE.getOrdinal();
+ public static final String UNIQUE_ID_PREFIX = "_id";
+
+ // todo: is it right to save the state of _events and _phaseListeners?
+ /**/ // removes the generated methods so only state saving stays
+ /**///getEvents
+ /**///setEvents
+ /**///getUniqueIdCounter
+ /**///setUniqueIdCounter
+ /**/private List<FacesEvent> _events = null;
+ /**/private long _uniqueIdCounter = 0;
+ /**/private Locale _locale;
+
+ public void queueEvent(FacesEvent event)
+ {
+ if (event == null)
+ {
+ throw new NullPointerException("event");
+ }
+ if (_events == null)
+ {
+ _events = new ArrayList<FacesEvent>();
+ }
+ _events.add(event);
+ }
+
+ private void _broadcastForPhase(PhaseId phaseId)
+ {
+ if (_events == null)
+ {
+ return;
+ }
+
+ boolean abort = false;
+
+ int phaseIdOrdinal = phaseId.getOrdinal();
+ for (ListIterator<FacesEvent> listiterator = _events.listIterator(); listiterator.hasNext();)
+ {
+ FacesEvent event = listiterator.next();
+ int ordinal = event.getPhaseId().getOrdinal();
+ if (ordinal == ANY_PHASE_ORDINAL ||
+ ordinal == phaseIdOrdinal)
+ {
+ UIComponent source = event.getComponent();
+ try
+ {
+ source.broadcast(event);
+ }
+ catch (AbortProcessingException e)
+ {
+ // abort event processing
+ // Page 3-30 of JSF 1.1 spec: "Throw an AbortProcessingException, to tell the JSF implementation
+ // that no further broadcast of this event, or any further events, should take place."
+ abort = true;
+ break;
+ } finally
+ {
+
+ try
+ {
+ listiterator.remove();
+ }
+ catch (ConcurrentModificationException cme)
+ {
+ int eventIndex = listiterator.previousIndex();
+ _events.remove(eventIndex);
+ listiterator = _events.listIterator();
+ }
+ }
+ }
+ }
+
+ if (abort)
+ {
+ // TODO: abort processing of any event of any phase or just of any event of the current phase???
+ clearEvents();
+ }
+ }
+
+
+ private void clearEvents()
+ {
+ _events = null;
+ }
+
+
+ public void processDecodes(FacesContext context)
+ {
+ if (context == null)
+ {
+ throw new NullPointerException("context");
+ }
+ super.processDecodes(context);
+ _broadcastForPhase(PhaseId.APPLY_REQUEST_VALUES);
+ if (context.getRenderResponse() || context.getResponseComplete())
+ {
+ clearEvents();
+ }
+ }
+
+ public void processValidators(FacesContext context)
+ {
+ if (context == null)
+ {
+ throw new NullPointerException("context");
+ }
+ super.processValidators(context);
+ _broadcastForPhase(PhaseId.PROCESS_VALIDATIONS);
+ if (context.getRenderResponse() || context.getResponseComplete())
+ {
+ clearEvents();
+ }
+ }
+
+ public void processUpdates(FacesContext context)
+ {
+ if (context == null)
+ {
+ throw new NullPointerException("context");
+ }
+ super.processUpdates(context);
+ _broadcastForPhase(PhaseId.UPDATE_MODEL_VALUES);
+ if (context.getRenderResponse() || context.getResponseComplete())
+ {
+ clearEvents();
+ }
+ }
+
+ public void processApplication(FacesContext context)
+ {
+ if (context == null)
+ {
+ throw new NullPointerException("context");
+ }
+ _broadcastForPhase(PhaseId.INVOKE_APPLICATION);
+ if (context.getRenderResponse() || context.getResponseComplete())
+ {
+ clearEvents();
+ }
+ }
+
+ public void encodeBegin(FacesContext context)
+ throws java.io.IOException
+ {
+ clearEvents();
+ super.encodeBegin(context);
+ }
+
+ /* Provides a unique id for this component instance.
+ */
+ public String createUniqueId()
+ {
+ ExternalContext extCtx = FacesContext.getCurrentInstance().getExternalContext();
+ return extCtx.encodeNamespace(UNIQUE_ID_PREFIX + _uniqueIdCounter++);
+ }
+
+ /**
+ * Gets The locale for this ViewRoot.
+ *
+ * @return the new locale value
+ */
+ /**///getLocale
+ public Locale getLocale()
+ {
+ if (_locale != null)
+ {
+ return _locale;
+ }
+ ValueExpression expression = getValueExpression("locale");
+ FacesContext facesContext = getFacesContext();
+ if (expression == null)
+ {
+ return facesContext.getApplication().getViewHandler().calculateLocale(facesContext);
+ }
+ Object locale = expression.getValue(getFacesContext().getELContext());
+ if (locale == null)
+ {
+ return facesContext.getApplication().getViewHandler().calculateLocale(facesContext);
+ }
+ if (locale instanceof Locale)
+ {
+ return (Locale) locale;
+ } else if (locale instanceof String)
+ {
+ return getLocale((String) locale);
+ } else
+ {
+ //TODO: not specified!?
+ throw new IllegalArgumentException("locale binding");
+ }
+ }
+
+
+ /**
+ * Create Locale from String representation.
+ * <p/>
+ * http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html
+ *
+ * @param locale locale representation in String.
+ * @return Locale instance
+ */
+ private static Locale getLocale(String locale)
+ {
+ int cnt = 0;
+ int pos = 0;
+ int prev = 0;
+
+ // store locale variation.
+ // ex. "ja_JP_POSIX"
+ // lv[0] : language(ja)
+ // lv[1] : country(JP)
+ // lv[2] : variant(POSIX)
+ String[] lv = new String[3];
+ Locale l = null;
+
+ while ((pos = locale.indexOf('_', prev)) != -1)
+ {
+ lv[cnt++] = locale.substring(prev, pos);
+ prev = pos + 1;
+ }
+
+ lv[cnt++] = locale.substring(prev, locale.length());
+
+ switch (cnt)
+ {
+ case 1:
+ // create Locale from language.
+ l = new Locale(lv[0]);
+ break;
+ case 2:
+ // create Locale from language and country.
+ l = new Locale(lv[0], lv[1]);
+ break;
+ case 3:
+ // create Locale from language, country and variant.
+ l = new Locale(lv[0], lv[1], lv[2]);
+ break;
+ }
+ return l;
+ }
+}
Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionActionListener.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionActionListener.java?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionActionListener.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionActionListener.java Mon Nov 27 12:01:47 2006
@@ -54,7 +54,7 @@
}
public void restoreState(FacesContext context, Object state) {
- methodExpression = (MethodExpression)methodExpression;
+ methodExpression = (MethodExpression)state;
}
public Object saveState(FacesContext context) {
Modified: myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionValueChangeListener.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionValueChangeListener.java?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionValueChangeListener.java (original)
+++ myfaces/core/branches/jsf12/api/src/main/java/javax/faces/event/MethodExpressionValueChangeListener.java Mon Nov 27 12:01:47 2006
@@ -54,7 +54,7 @@
}
public void restoreState(FacesContext context, Object state) {
- methodExpression = (MethodExpression)methodExpression;
+ methodExpression = (MethodExpression)state;
}
public Object saveState(FacesContext context) {
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesImmediateProperty.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesImmediateProperty.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesImmediateProperty.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesImmediateProperty.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,16 @@
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <component>
+ <property>
+ <description><![CDATA[A boolean value that identifies the phase during which action events
+ should fire. During normal event processing, action methods and
+ action listener methods are fired during the "invoke application"
+ phase of request processing. If this attribute is set to "true",
+ these methods are fired instead at the end of the "apply request
+ values" phase.]]></description>
+ <property-name>immediate</property-name>
+ <property-class>boolean</property-class>
+ </property>
+ </component>
+</faces-config>
\ No newline at end of file
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesLableProperty.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesLableProperty.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesLableProperty.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesLableProperty.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,13 @@
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin">
+ <component>
+ <property>
+ <description>A diplay name for this component.</description>
+ <property-name>label</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <mfp:required>false</mfp:required>
+ </property-extension>
+ </property>
+ </component>
+</faces-config>
\ No newline at end of file
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesRequiredProperty.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesRequiredProperty.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesRequiredProperty.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/FacesRequiredProperty.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,12 @@
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <component>
+ <property>
+ <description>A boolean value that indicates whether a value is required. Default value: false.</description>
+ <property-name>required</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ </property>
+ </component>
+</faces-config>
\ No newline at end of file
Modified: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_CommandProperties.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_CommandProperties.xml?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_CommandProperties.xml (original)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_CommandProperties.xml Mon Nov 27 12:01:47 2006
@@ -1,9 +1,11 @@
-<!-- UICommand attributes -->
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
xmlns:xi="http://www.w3.org/2001/XInclude">
<component>
<!--value, actionListener, action, immediate-->
+
+ <xi:include href="../../includes/ui/FacesImmediateProperty.xml" xpointer="/faces-config/component/*"/>
+
<property>
<description><![CDATA[The initial value of this component.]]></description>
<property-name>value</property-name>
@@ -55,17 +57,5 @@
<mfp:state-holder>yes</mfp:state-holder>
</property-extension>
</property>
-
- <property>
- <description><![CDATA[A boolean value that identifies the phase during which action events
- should fire. During normal event processing, action methods and
- action listener methods are fired during the "invoke application"
- phase of request processing. If this attribute is set to "true",
- these methods are fired instead at the end of the "apply request
- values" phase.]]></description>
- <property-name>immediate</property-name>
- <property-class>boolean</property-class>
- </property>
-
</component>
</faces-config>
Modified: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_ComponentProperties.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_ComponentProperties.xml?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_ComponentProperties.xml (original)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_ComponentProperties.xml Mon Nov 27 12:01:47 2006
@@ -1,10 +1,8 @@
-<!-- UIComponent attributes -->
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
xmlns:xi="http://www.w3.org/2001/XInclude">
<component>
- <!-- UIComponent attributes -->
- <xi:include href="FacesIdOptionalProperty.xml" xpointer="/faces_config/component/*" />
+ <xi:include href="FacesIdOptionalProperty.xml" xpointer="/faces_config/component/*" />
<xi:include href="FacesBindingProperty.xml" xpointer="/faces_config/component/*" />
<xi:include href="FacesRenderedProperty.xml" xpointer="/faces_config/component/*" />
</component>
Modified: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_DataProperties.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_DataProperties.xml?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_DataProperties.xml (original)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_DataProperties.xml Mon Nov 27 12:01:47 2006
@@ -1,4 +1,3 @@
-<!-- UICommand attributes -->
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
xmlns:xi="http://www.w3.org/2001/XInclude">
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_MessageProperties.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_MessageProperties.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_MessageProperties.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/includes/ui/_MessageProperties.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,20 @@
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <component>
+ <!--showDetail, showSummary-->
+ <property>
+ <description>Indicates that details are shown.</description>
+ <property-name>showDetail</property-name>
+ <property-class>boolean</property-class>
+ <default-value>true</default-value>
+ </property>
+
+ <property>
+ <description>Indicates that the summary should be included into the Message.</description>
+ <property-name>showSummary</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ </property>
+ </component>
+</faces-config>
\ No newline at end of file
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIColumn.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIColumn.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIColumn.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIColumn.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2006 The Apache Software Foundation.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <component>
+ <!-- ################################ defined Properties ################################ -->
+ <!-- # from super classes: # -->
+ <!-- # id, binding, rendered, transient # -->
+ <!-- #################################################################################### -->
+ <component-type>javax.faces.Column</component-type>
+ <component-class>javax.faces.component.UIColumn</component-class>
+ <description></description>
+
+ <component-extension>
+ <mfp:component-supertype>javax.faces.ComponentBase</mfp:component-supertype>
+ </component-extension>
+ </component>
+
+</faces-config>
+
Modified: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIData.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIData.xml?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIData.xml (original)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIData.xml Mon Nov 27 12:01:47 2006
@@ -19,6 +19,12 @@
xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<component>
+ <!-- ################################ defined Properties ################################ -->
+ <!-- # from super classes: # -->
+ <!-- # id, binding, rendered, transient # -->
+ <!-- # ******************************************************************************** # -->
+ <!-- # value, var, rows, first # -->
+ <!-- #################################################################################### -->
<description><![CDATA[UIData is a base abstraction for components that holds Data.]]></description>
<component-type>javax.faces.Data</component-type>
<component-class>javax.faces.component.UIData</component-class>
@@ -29,6 +35,7 @@
<component-extension>
<mfp:component-family>javax.faces.Data</mfp:component-family>
<mfp:component-supertype>javax.faces.ComponentBase</mfp:component-supertype>
+ <mfp:renderer-type>javax.faces.Table</mfp:renderer-type>
</component-extension>
</component>
</faces-config>
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIInput.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIInput.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIInput.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIInput.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2006 The Apache Software Foundation.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <component>
+ <!-- ################################ defined Properties ################################ -->
+ <!-- # from super classes: # -->
+ <!-- # id, binding, rendered, transient # -->
+ <!-- # value, converter # -->
+ <!-- # ******************************************************************************** # -->
+ <!-- # immediate, required, converterMessage, requiredMessage, validatorMessage, # -->
+ <!-- # validator, valueChangeListener # -->
+ <!-- #################################################################################### -->
+ <component-type>javax.faces.Input</component-type>
+ <component-class>javax.faces.component.UIInput</component-class>
+ <description>UICommand is a base abstraction for components that implement ActionSource.</description>
+
+ <xi:include href="../../includes/ui/FacesImmediateProperty.xml" xpointer="/faces-config/component/*"/>
+ <xi:include href="../../includes/ui/FacesRequiredProperty.xml" xpointer="/faces-config/component/*"/>
+
+ <property>
+ <description>Text of the converter message.</description>
+ <property-name>converterMessage</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <mfp:required>false</mfp:required>
+ </property-extension>
+ </property>
+ <property>
+ <description>Text which will be shown if a required value is not submitted.</description>
+ <property-name>requiredMessage</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <mfp:required>false</mfp:required>
+ </property-extension>
+ </property>
+ <property>
+ <description>Validator Method, which should be invoked for validation.</description>
+ <property-name>validator</property-name>
+ <property-class>javax.faces.el.MethodBinding</property-class>
+ <property-extension>
+ <mfp:required>false</mfp:required>
+ <mfp:method-binding-signature>
+ <mfp:parameter-type>javax.faces.context.FacesContext</mfp:parameter-type>
+ <mfp:parameter-type>javax.faces.component.UIComponent</mfp:parameter-type>
+ <mfp:parameter-type>java.lang.Object</mfp:parameter-type>
+ <mfp:return-type>void</mfp:return-type>
+ </mfp:method-binding-signature>
+ <mfp:state-holder>yes</mfp:state-holder>
+ </property-extension>
+ </property>
+ <property>
+ <description>Text which will be shown, if validation fails.</description>
+ <property-name>validatorMessage</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <mfp:required>false</mfp:required>
+ </property-extension>
+ </property>
+ <property>
+ <description>A Method which is called when the value changed.</description>
+ <property-name>valueChangeListener</property-name>
+ <property-class>javax.faces.el.MethodBinding</property-class>
+ <property-extension>
+ <mfp:required>false</mfp:required>
+ <mfp:method-binding-signature>
+ <mfp:parameter-type>javax.faces.event.ValueChangeEvent</mfp:parameter-type>
+ <mfp:return-type>void</mfp:return-type>
+ </mfp:method-binding-signature>
+ <mfp:state-holder>yes</mfp:state-holder>
+ </property-extension>
+ </property>
+
+ <property>
+ <description><![CDATA[whether the component's value is currently valid]]></description>
+ <property-name>valid</property-name>
+ <property-class>boolean</property-class>
+ <default-value>true</default-value>
+ <property-extension>
+ <mfp:tag-attribute-excluded>true</mfp:tag-attribute-excluded>
+ </property-extension>
+ </property>
+
+ <property>
+ <description>
+ <![CDATA[whether a local value is currently set. If false, values are being retrieved from any attached ValueBinding]]>
+ </description>
+ <property-name>localValueSet</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ <property-extension>
+ <mfp:tag-attribute-excluded>true</mfp:tag-attribute-excluded>
+ </property-extension>
+ </property>
+
+ <property>
+ <description><![CDATA[the current submitted value. This value,
+if non-null, is set by the Renderer to store a possibly invalid value
+for later conversion or redisplay, and has not yet been converted
+into the proper type for this component instance. This method
+should only be used by the decode() and validate() method
+of this component, or its corresponding Renderer; however, user code
+may manually set it to null to erase any submitted value.]]>
+ </description>
+ <property-name>submittedValue</property-name>
+ <property-class>java.lang.Object</property-class>
+ <property-extension>
+ <mfp:tag-attribute-excluded>true</mfp:tag-attribute-excluded>
+ </property-extension>
+ </property>
+
+ <component-extension>
+ <mfp:component-family>javax.faces.Input</mfp:component-family>
+ <mfp:component-supertype>javax.faces.Output</mfp:component-supertype>
+ <mfp:renderer-type>javax.faces.Text</mfp:renderer-type>
+
+ <mfp:event>
+ <mfp:description>The valueChange event is delivered when the value
+attribute is changed.
+ </mfp:description>
+ <mfp:event-type>javax.faces.ValueChange</mfp:event-type>
+ </mfp:event>
+ </component-extension>
+ </component>
+</faces-config>
+
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessage.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessage.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessage.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessage.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2006 The Apache Software Foundation.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <component>
+ <!-- ################################ defined Properties ################################ -->
+ <!-- # from super classes: # -->
+ <!-- # id, binding, rendered, transient # -->
+ <!-- # ******************************************************************************** # -->
+ <!-- # for, showDetail, showSummary # -->
+ <!-- #################################################################################### -->
+ <component-type>javax.faces.Message</component-type>
+ <component-class>javax.faces.component.UIMessage</component-class>
+ <description>UIMessage is the base component class for components
+that display a single message on behalf of a component.</description>
+
+ <property>
+ <description>The ID of the component the Message should be diplayed for.</description>
+ <property-name>for</property-name>
+ <property-class>java.lang.String</property-class>
+ <property-extension>
+ <mfp:required>true</mfp:required>
+ </property-extension>
+ </property>
+
+ <xi:include href="../../includes/ui/_MessageProperties.xml" xpointer="/faces-config/component/*"/>
+
+ <component-extension>
+ <mfp:component-family>javax.faces.Message</mfp:component-family>
+ <mfp:component-supertype>javax.faces.ComponentBase</mfp:component-supertype>
+ <mfp:renderer-type>javax.faces.Message</mfp:renderer-type>
+ </component-extension>
+ </component>
+</faces-config>
\ No newline at end of file
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessages.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessages.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessages.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIMessages.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright 2006 The Apache Software Foundation.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <component>
+ <!-- ################################ defined Properties ################################ -->
+ <!-- # from super classes: # -->
+ <!-- # id, binding, rendered, transient # -->
+ <!-- # ******************************************************************************** # -->
+ <!-- # globalOnly, showDetail, showSummary # -->
+ <!-- #################################################################################### -->
+ <component-type>javax.faces.Messages</component-type>
+ <component-class>javax.faces.component.UIMessages</component-class>
+ <description>UIMessage is the base component class for components
+that display a multiple messages on behalf of a component.</description>
+
+ <property>
+ <description>Indicates that only global messages should be diplayed</description>
+ <property-name>globalOnly</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ </property>
+
+ <xi:include href="../../includes/ui/_MessageProperties.xml" xpointer="/faces-config/component/*"/>
+
+ <component-extension>
+ <mfp:component-family>javax.faces.Messages</mfp:component-family>
+ <mfp:component-supertype>javax.faces.ComponentBase</mfp:component-supertype>
+ <mfp:renderer-type>javax.faces.Messages</mfp:renderer-type>
+ </component-extension>
+ </component>
+</faces-config>
\ No newline at end of file
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UINamingContainer.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UINamingContainer.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UINamingContainer.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UINamingContainer.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" ?>
+<!--
+ Copyright 2006 The Apache Software Foundation.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <component>
+ <component-type>javax.faces.NamingContainer</component-type>
+ <component-class>javax.faces.component.UINamingContainer</component-class>
+ <component-extension>
+ <mfp:component-family>javax.faces.NamingContainer</mfp:component-family>
+ <mfp:component-supertype>javax.faces.ComponentBase</mfp:component-supertype>
+ </component-extension>
+ </component>
+</faces-config>
Modified: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIOutput.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIOutput.xml?view=diff&rev=479743&r1=479742&r2=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIOutput.xml (original)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIOutput.xml Mon Nov 27 12:01:47 2006
@@ -27,7 +27,7 @@
<!-- #################################################################################### -->
<component-type>javax.faces.Output</component-type>
<component-class>javax.faces.component.UIOutput</component-class>
- <description>UICommand is a base abstraction for components that implement ActionSource.</description>
+ <description>UIOutput displays a value to the user</description>
<property>
<description>The initial value of this component.</description>
@@ -53,5 +53,4 @@
<mfp:renderer-type>javax.faces.Text</mfp:renderer-type>
</component-extension>
</component>
-</faces-config>
-
+</faces-config>
\ No newline at end of file
Added: myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIPanel.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIPanel.xml?view=auto&rev=479743
==============================================================================
--- myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIPanel.xml (added)
+++ myfaces/core/branches/jsf12/build/src/main/resources/META-INF/maven-faces-plugin/components/javax/faces/UIPanel.xml Mon Nov 27 12:01:47 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" ?>
+<!--
+ Copyright 2006 The Apache Software Foundation.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <component>
+ <component-type>javax.faces.Panel</component-type>
+ <component-class>javax.faces.component.UIPanel</component-class>
+ <component-extension>
+ <mfp:component-family>javax.faces.Panel</mfp:component-family>
+ <mfp:component-supertype>javax.faces.ComponentBase</mfp:component-supertype>
+ </component-extension>
+ </component>
+</faces-config>
\ No newline at end of file