JBoss Rich Faces SVN: r9463 - trunk/test-applications/jsp/src/main/webapp/VirtualEarth.
by richfaces-svn-commits@lists.jboss.org
Author: mvitenkov
Date: 2008-07-09 03:14:00 -0400 (Wed, 09 Jul 2008)
New Revision: 9463
Modified:
trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarth.jsp
trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarthProperty.jsp
Log:
+attributes test
Modified: trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarth.jsp
===================================================================
--- trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarth.jsp 2008-07-08 23:25:22 UTC (rev 9462)
+++ trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarth.jsp 2008-07-09 07:14:00 UTC (rev 9463)
@@ -6,8 +6,8 @@
<f:subview id="virtualEarthSubviewID">
<h:panelGrid columns="2">
- <rich:virtualEarth id="vEarthID" lng="#{virtualEarth.lng}" onLoadMap="alert('LoadMap')" rendered="#{virtualEarth.rendered}" version="#{virtualEarth.version}" lat="#{virtualEarth.lat}" zoom="#{virtualEarth.zoom}"
- dashboardSize="#{virtualEarth.dashboardSize}" mapStyle="#{virtualEarth.mapStyle}" var="map"
+ <rich:virtualEarth id="vEarthID" lng="#{virtualEarth.lng}" onLoadMap="alert('LoadMap')" rendered="#{virtualEarth.rendered}" version="#{virtualEarth.version}" lat="#{virtualEarth.lat}" zoom="In"
+ dashboardSize="#{virtualEarth.dashboardSize}" mapStyle="#{virtualEarth.mapStyle}" var="map" binding="#{virtualEarth.myVirtualEarth}"
onclick="#{event.onclick}" ondblclick="#{event.ondblclick}" onkeydown="#{event.onkeydown}" onkeypress="#{event.onkeypress}" onkeyup="#{event.onkeyup}" onmousedown="#{event.onmousedown}" onmousemove="#{event.onmousemove}" onmouseout="#{event.onmouseout}" onmouseover="#{event.onmouseover}" onmouseup="#{event.onmouseup}"/>
</h:panelGrid>
Modified: trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarthProperty.jsp
===================================================================
--- trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarthProperty.jsp 2008-07-08 23:25:22 UTC (rev 9462)
+++ trunk/test-applications/jsp/src/main/webapp/VirtualEarth/VirtualEarthProperty.jsp 2008-07-09 07:14:00 UTC (rev 9463)
@@ -65,6 +65,7 @@
</f:verbatim>
</h:panelGroup>
<br />
+ <h:commandButton value="add test" action="#{virtualEarth.addHtmlVirtualEarth}"></h:commandButton>
<br />
<div style="FONT-WEIGHT: bold;">rich:findComponent</div>
<h:panelGrid columns="2">
16 years, 2 months
JBoss Rich Faces SVN: r9462 - in trunk: sandbox/samples/beanValidatorSample/src/main/webapp/pages and 8 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2008-07-08 19:25:22 -0400 (Tue, 08 Jul 2008)
New Revision: 9462
Added:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
Modified:
trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java
trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp
trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java
trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java
Log:
AJAX validation component fixes
Modified: trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java
===================================================================
--- trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/framework/api/src/main/java/org/ajax4jsf/component/AjaxSupport.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -49,6 +49,22 @@
public abstract String getEvent();
+ /**
+ * Name of JavaScript function, called before submit Ajax request
+ * description
+ *
+ * @parameter
+ * @return the acceptClass
+ */
+ public abstract String getOnsubmit();
+
+ /**
+ * @param newOnsubmit
+ * the value to set
+ */
+ public abstract void setOnsubmit(String newOnsubmit);
+
+
/**
* Getter for property If true, disable default action for target event ( encode 'return false' to JavaScript ), implementation will be generated by
* componnents-generator
Modified: trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/sandbox/samples/beanValidatorSample/src/main/webapp/pages/index.jsp 2008-07-08 23:25:22 UTC (rev 9462)
@@ -11,38 +11,38 @@
</head>
<body>
<f:view>
- <h:form id="form">
- <rich:messages/>
- <h:dataTable value="#{data}" var="bean" id="table">
- <h:column>
- <f:facet name="header">
- <h:outputText value="text field" />
- </f:facet>
- <h:outputLabel for="text" value="Text input:" />
- <h:inputText id="text" value="#{bean.text}">
- <v:ajaxValidator/>
- </h:inputText>
- <h:message for="text"/>
- </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="integer field" />
- </f:facet>
- <h:outputLabel for="intValue" value="Number input:" />
- <h:inputText id="intValue" value="#{bean.intValue}">
- <v:ajaxValidator/>
- </h:inputText>
- <h:message for="intValue" />
- </h:column>
- <h:column>
- <f:facet name="header">
- <h:outputText value="description" />
- </f:facet>
+ <h:form id="form">
+ <h:dataTable value="#{data}" var="bean" id="table">
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="text field" />
+ </f:facet>
+ <h:outputLabel for="text" value="Text input:" />
+ <h:inputText id="text" value="#{bean.text}">
+ <v:ajaxValidator event="onblur" />
+ </h:inputText>
+ <rich:message for="text" showDetail="true" showSummary="true" />
+ </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="integer field" />
+ </f:facet>
+ <h:outputLabel for="intValue" value="Number input:" />
+ <h:inputText id="intValue" value="#{bean.intValue}">
+ <v:ajaxValidator event="onblur" />
+ </h:inputText>
+ <rich:message for="intValue" />
+ </h:column>
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="description" />
+ </f:facet>
<h:outputText value="#{bean.description}"></h:outputText>
- </h:column>
- </h:dataTable>
-</h:form>
- <data:messages></data:messages>
+ </h:column>
+ </h:dataTable>
+ <h:commandButton value="Post submit"></h:commandButton>
+ </h:form>
+ <rich:messages />
</f:view>
</body>
</html>
Modified: trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml 2008-07-08 23:25:22 UTC (rev 9462)
@@ -10,9 +10,9 @@
</classname>
<superclass>org.richfaces.component.UIBeanValidator</superclass>
<description><![CDATA[]]></description>
- <renderer generate="true" override="true">
+ <renderer generate="false" override="true">
<name>org.richfaces.BeanValidatorRenderer</name>
- <template>org/richfaces/ui/htmlBeanValidator.jspx</template>
+ <classname>org.richfaces.renderkit.html.BeanValidatorRenderer</classname>
</renderer>
<tag>
<name>ajaxValidator</name>
@@ -27,7 +27,8 @@
</taghandler>
-->
&ui_component_attributes;
- <property>
+ &ajax_component_attributes;
+ <property el="false">
<name>event</name>
<classname>java.lang.String</classname>
<description>
@@ -37,21 +38,27 @@
<defaultvalue><![CDATA["onblur"]]></defaultvalue>
</property>
<property>
+ <name>onsubmit</name>
+ <classname>java.lang.String</classname>
+ <description>
+ JavaScript code for call before submission of ajax
+ event
+ </description>
+ </property>
+ <property>
<name>ajaxSingle</name>
<classname>boolean</classname>
<description>
</description>
<defaultvalue>true</defaultvalue>
</property>
-<!--
- <property disabled="false">
+ <property disabled="true">
<name>bypassUpdates</name>
<classname>boolean</classname>
<description>
</description>
<defaultvalue>true</defaultvalue>
</property>
--->
</component>
<validator generate="false">
<id>org.richfaces.BeanValidator</id>
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -5,72 +5,135 @@
package org.richfaces.component;
import javax.el.ValueExpression;
+import javax.faces.FacesException;
import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
+import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
import javax.faces.validator.Validator;
+import org.ajax4jsf.component.AjaxComponent;
+import org.ajax4jsf.component.AjaxSupport;
+import org.ajax4jsf.component.EventValueExpression;
+import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.richfaces.event.ValidationEvent;
import org.richfaces.validator.FacesBeanValidator;
import com.sun.facelets.FaceletException;
/**
* JSF component class
- *
+ *
*/
-public abstract class UIBeanValidator extends UIComponentBase {
+public abstract class UIBeanValidator extends UIComponentBase implements
+ AjaxComponent, AjaxSupport {
- public static final String COMPONENT_TYPE = "org.richfaces.BeanValidator";
+ public static final String COMPONENT_TYPE = "org.richfaces.BeanValidator";
- public static final String COMPONENT_FAMILY = "org.richfaces.BeanValidator";
+ public static final String COMPONENT_FAMILY = "org.richfaces.BeanValidator";
- public abstract String getEvent();
+ public abstract String getEvent();
- public abstract void setEvent(String event);
+ public abstract void setEvent(String event);
- public abstract void setAjaxSingle(boolean single);
+ // public abstract boolean isBypassUpdates();
+ //
+ // public abstract void setBypassUpdates(boolean bypass);
- public abstract boolean isAjaxSingle();
+ public void setParent(UIComponent parent) {
+ super.setParent(parent);
-// public abstract boolean isBypassUpdates();
-//
-// public abstract void setBypassUpdates(boolean bypass);
+ if (null != parent) {
+ setParentProperties(parent);
+ }
+ }
- public void setParent(UIComponent parent) {
- super.setParent(parent);
+ /**
+ * @param parent
+ * @throws FaceletException
+ * @throws FacesException
+ */
+ public void setParentProperties(UIComponent parent)
+ throws FaceletException, FacesException {
+ if (!(parent instanceof EditableValueHolder)) {
+ throw new FaceletException(
+ "Parent component must be an EditableValueHolder");
+ }
- if (!(parent instanceof EditableValueHolder)) {
- throw new FaceletException("Parent component must be an EditableValueHolder");
- }
+ Validator[] validators = ((EditableValueHolder) parent).getValidators();
- Validator[] validators = ((EditableValueHolder) parent).getValidators();
+ boolean isFacesValidatorPresent = false;
+ for (Validator validator : validators) {
+ if (validator instanceof FacesBeanValidator) {
+ isFacesValidatorPresent = true;
+ break;
+ }
+ }
- boolean isFacesValidatorPresent = false;
- for (Validator validator : validators) {
- if (validator instanceof FacesBeanValidator) {
- isFacesValidatorPresent = true;
- break;
- }
- }
+ if (!isFacesValidatorPresent) {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ FacesBeanValidator validator = (FacesBeanValidator) facesContext
+ .getApplication().createValidator(
+ "org.richfaces.BeanValidator");
+ ((EditableValueHolder) parent).addValidator(validator);
+ }
- if (!isFacesValidatorPresent) {
- FacesBeanValidator validator = (FacesBeanValidator) FacesContext.getCurrentInstance().getApplication()
- .createValidator("org.richfaces.BeanValidator");
- ((EditableValueHolder) parent).addValidator(validator);
- }
+ if (null != getEvent()) {
+ ValueExpression binding = new EventValueExpression(this);
+ parent.setValueExpression(getEvent(), binding);
+ }
+ }
- FacesContext ctx = FacesContext.getCurrentInstance();
- ValueExpression binding = ctx.getApplication().getExpressionFactory().createValueExpression(ctx.getELContext(),
- getEventString(), String.class);
+ @Override
+ public void broadcast(FacesEvent event) throws AbortProcessingException {
+ super.broadcast(event);
+ if (event.getComponent() == this) {
+ if (event instanceof ValidationEvent) {
+ // ByPass UpdateModelValue
+ FacesContext.getCurrentInstance().renderResponse();
+ } else if (event instanceof AjaxEvent) {
+ // TODO - find all UIMessages components for a parent UIInput.
+ // for an ajaxSingle component, re-render only target message.
+ }
+ }
+ }
- parent.setValueExpression(getEvent(), binding);
- }
+ @Override
+ public void queueEvent(FacesEvent event) {
+ if (event instanceof ValidationEvent && event.getComponent() == this) {
+ UIComponent parent = getParent();
+ if (parent instanceof UIInput) {
+ UIInput input = (UIInput) parent;
+ if (input.isImmediate()) {
+ event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else {
+ event.setPhaseId(PhaseId.PROCESS_VALIDATIONS);
+ }
+ }
+ }
+ super.queueEvent(event);
+ }
- private String getEventString() {
- StringBuffer buildOnEvent = new StringBuffer();
- buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this, getFacesContext(), getEvent()));
- return buildOnEvent.toString();
- }
+ public String getEventString() {
+ StringBuffer buildOnEvent = new StringBuffer();
+ String onsubmit = getOnsubmit();
+ // Insert script to call before submit ajax request.
+ if (null != onsubmit) {
+ buildOnEvent.append(onsubmit).append(";");
+ }
+ buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this,
+ getFacesContext(), getEvent()));
+ String script = buildOnEvent.toString();
+ return script;
+ }
+
+ public UIComponent getSingleComponent() {
+ return getParent();
+ }
+
}
Added: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java (rev 0)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -0,0 +1,49 @@
+/**
+ *
+ */
+package org.richfaces.event;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.FacesListener;
+
+import org.richfaces.renderkit.html.ValidationListener;
+
+/**
+ * @author asmirnov
+ *
+ */
+public class ValidationEvent extends FacesEvent {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 5593837134704144777L;
+
+ public ValidationEvent(UIComponent component) {
+ super(component);
+ // TODO Auto-generated constructor stub
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.event.FacesEvent#isAppropriateListener(javax.faces.event.FacesListener)
+ */
+ @Override
+ public boolean isAppropriateListener(FacesListener listener) {
+ // TODO Auto-generated method stub
+ return listener instanceof ValidationListener;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.event.FacesEvent#processListener(javax.faces.event.FacesListener)
+ */
+ @Override
+ public void processListener(FacesListener listener) {
+ if (listener instanceof ValidationListener) {
+ ValidationListener validationListener = (ValidationListener) listener;
+ validationListener.processValidation(this);
+ }
+
+ }
+
+}
Property changes on: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/event/ValidationEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java (rev 0)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -0,0 +1,109 @@
+/**
+ * License Agreement.
+ *
+ * Ajax4jsf 1.1 - Natural Ajax for Java Server Faces (JSF)
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.renderkit.html;
+
+
+//
+// Imports
+//
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.component.AjaxComponent;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.ComponentVariables;
+import org.ajax4jsf.renderkit.ComponentsVariableResolver;
+import org.richfaces.event.ValidationEvent;
+
+
+
+/**
+ * Renderer for component class org.richfaces.renderkit.html.BeanValidatorRenderer
+ */
+public class BeanValidatorRenderer extends AjaxComponentRendererBase {
+
+
+ public BeanValidatorRenderer () {
+ super();
+ }
+
+ protected void doDecode(FacesContext facesContext, UIComponent uiComponent) {
+
+ // super.decode must not be called, because value is handled here
+ if (isSubmitted(facesContext, uiComponent)) {
+ uiComponent.queueEvent(new ValidationEvent(uiComponent));
+ uiComponent.queueEvent(new AjaxEvent(uiComponent));
+ // Check areas for processing
+ if (uiComponent instanceof AjaxComponent) {
+ AjaxComponent ajaxComponent = (AjaxComponent) uiComponent;
+ Set<String> toProcess = AjaxRendererUtils.asSet(ajaxComponent
+ .getProcess());
+ if (null != toProcess) {
+ HashSet<String> componentIdsToProcess = new HashSet<String>();
+ for (String componentId : toProcess) {
+ UIComponent component = getUtils().findComponentFor(uiComponent, componentId);
+ if(null != component){
+ componentIdsToProcess.add(component.getClientId(facesContext));
+ } else {
+ componentIdsToProcess.add(componentId);
+ }
+ }
+ AjaxContext.getCurrentInstance(facesContext).setAjaxAreasToProcess(componentIdsToProcess);
+ }
+ }
+ }
+ }
+
+ protected boolean isSubmitted(FacesContext facesContext,
+ UIComponent uiComponent) {
+ // Componet accept only ajax requests.
+ if (!AjaxContext.getCurrentInstance(facesContext).isAjaxRequest()) {
+ return false;
+ }
+ String clientId = uiComponent.getClientId(facesContext);
+ Map<String, String> paramMap = facesContext.getExternalContext()
+ .getRequestParameterMap();
+ String value = paramMap.get(clientId);
+ boolean submitted = null != value;
+ return submitted;
+ }
+ /**
+ * Get base component class, targetted for this renderer. Used for check arguments in decode/encode.
+ * @return
+ */
+ protected Class<? extends UIComponent> getComponentClass() {
+ return org.richfaces.component.UIBeanValidator.class;
+ }
+
+
+}
Property changes on: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/BeanValidatorRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java (rev 0)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -0,0 +1,18 @@
+/**
+ *
+ */
+package org.richfaces.renderkit.html;
+
+import javax.faces.event.FacesListener;
+
+import org.richfaces.event.ValidationEvent;
+
+/**
+ * @author asmirnov
+ *
+ */
+public interface ValidationListener extends FacesListener {
+
+ public void processValidation(ValidationEvent event);
+
+}
Property changes on: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/renderkit/html/ValidationListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -207,7 +207,6 @@
@SuppressWarnings("unchecked")
protected ClassValidator<? extends Object> getValidator(
Class<? extends Object> beanClass, Locale locale) {
- // TODO - cache validator instances.
// TODO - localization support.
ValidatorKey key = new ValidatorKey(beanClass, locale);
ClassValidator result = classValidators.get(key);
@@ -372,9 +371,9 @@
* @author amarkhel
*
*/
- class ValidatorKey {
- private Class<? extends Object> validatableClass;
- private Locale locale;
+ static class ValidatorKey {
+ private final Class<? extends Object> validatableClass;
+ private final Locale locale;
/**
* Constructor for ValidatorKey object
@@ -390,16 +389,47 @@
this.locale = locale;
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
@Override
- public boolean equals(Object other) {
- ValidatorKey key = (ValidatorKey) other;
- return key.validatableClass.equals(validatableClass)
- && key.locale.equals(locale);
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result
+ + ((locale == null) ? 0 : locale.hashCode());
+ result = prime
+ * result
+ + ((validatableClass == null) ? 0 : validatableClass
+ .hashCode());
+ return result;
}
+ /* (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
@Override
- public int hashCode() {
- return validatableClass.hashCode() + locale.hashCode();
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof ValidatorKey))
+ return false;
+ ValidatorKey other = (ValidatorKey) obj;
+ if (locale == null) {
+ if (other.locale != null)
+ return false;
+ } else if (!locale.equals(other.locale))
+ return false;
+ if (validatableClass == null) {
+ if (other.validatableClass != null)
+ return false;
+ } else if (!validatableClass.equals(other.validatableClass))
+ return false;
+ return true;
}
+
+
}
}
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/FacesBeanValidator.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -42,7 +42,7 @@
.validate(context, valueExpression, convertedValue);
if (null != messages) {
input.setValid(false);
- // TODO - send all validation messages.
+ // send all validation messages.
for (String msg : messages) {
context.addMessage(input.getClientId(context), new FacesMessage(
FacesMessage.SEVERITY_ERROR, msg, ""));
Modified: trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java
===================================================================
--- trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java 2008-07-08 17:14:59 UTC (rev 9461)
+++ trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxSupport.java 2008-07-08 23:25:22 UTC (rev 9462)
@@ -52,21 +52,6 @@
public static final String AJAX_SUPPORT_SET = "com.exadel.components.ajax.support.";
private static final Log log = LogFactory.getLog(UIAjaxSupport.class);
- /**
- * Name of JavaScript function, called before submit Ajax request
- * description
- *
- * @parameter
- * @return the acceptClass
- */
- public abstract String getOnsubmit();
-
- /**
- * @param newOnsubmit
- * the value to set
- */
- public abstract void setOnsubmit(String newOnsubmit);
-
@Override
public void setValueExpression(String name, ValueExpression binding) {
// var - not allowed name. must be literal.
@@ -109,8 +94,6 @@
if (null != onsubmit) {
buildOnEvent.append(onsubmit).append(";");
}
- // Due to JSF RI 1.1 bug, clear cached clientId
- setId(getId());
buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this,
getFacesContext(), getEvent()));
String script = buildOnEvent.toString();
16 years, 2 months
JBoss Rich Faces SVN: r9461 - trunk/ui/combobox/src/main/templates.
by richfaces-svn-commits@lists.jboss.org
Author: vmolotkov
Date: 2008-07-08 13:14:59 -0400 (Tue, 08 Jul 2008)
New Revision: 9461
Modified:
trunk/ui/combobox/src/main/templates/combobox.jspx
Log:
http://jira.jboss.com/jira/browse/RF-3622
Modified: trunk/ui/combobox/src/main/templates/combobox.jspx
===================================================================
--- trunk/ui/combobox/src/main/templates/combobox.jspx 2008-07-08 17:03:25 UTC (rev 9460)
+++ trunk/ui/combobox/src/main/templates/combobox.jspx 2008-07-08 17:14:59 UTC (rev 9461)
@@ -228,7 +228,7 @@
<div class="rich-combobox-strut rich-combobox-font" style="width:#{correction}">Strut</div>
</div>
- <div id="#{clientId}listParent" class="rich-combobox-list-cord #{listClass}" style="display:none; #{listStyle}; position:absolute;">
+ <div id="#{clientId}listParent" class="rich-combobox-list-cord #{listClass}" style="display:none; #{listStyle}; position:absolute;z-index:1000;">
<div class="rich-combobox-shadow">
<table id="#{clientId}shadow" cellpadding="0" cellspacing="0" border="0">
<tr>
16 years, 2 months
JBoss Rich Faces SVN: r9460 - trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-07-08 13:03:25 -0400 (Tue, 08 Jul 2008)
New Revision: 9460
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
Log:
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08 15:40:53 UTC (rev 9459)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08 17:03:25 UTC (rev 9460)
@@ -22,9 +22,9 @@
*/
public abstract class UIBeanValidator extends UIComponentBase {
- public static final String COMPONENT_TYPE = "org.richfaces.ui.BeanValidator";
+ public static final String COMPONENT_TYPE = "org.richfaces.BeanValidator";
- public static final String COMPONENT_FAMILY = "org.richfaces.ui.BeanValidator";
+ public static final String COMPONENT_FAMILY = "org.richfaces.BeanValidator";
public abstract String getEvent();
@@ -41,38 +41,34 @@
public void setParent(UIComponent parent) {
super.setParent(parent);
- if (null != parent && parent.getFamily() != null) {
+ if (!(parent instanceof EditableValueHolder)) {
+ throw new FaceletException("Parent component must be an EditableValueHolder");
+ }
- if (!(parent instanceof EditableValueHolder)) {
- throw new FaceletException("Parent component must be an EditableValueHolder");
- }
+ Validator[] validators = ((EditableValueHolder) parent).getValidators();
- Validator[] validators = ((EditableValueHolder) parent).getValidators();
-
- boolean isFacesValidatorPresent = false;
- for (Validator validator : validators) {
- if (validator instanceof FacesBeanValidator) {
- isFacesValidatorPresent = true;
- break;
- }
+ boolean isFacesValidatorPresent = false;
+ for (Validator validator : validators) {
+ if (validator instanceof FacesBeanValidator) {
+ isFacesValidatorPresent = true;
+ break;
}
+ }
- if (!isFacesValidatorPresent) {
- FacesBeanValidator validator = (FacesBeanValidator) FacesContext.getCurrentInstance().getApplication()
- .createValidator("org.richfaces.BeanValidator");
- ((EditableValueHolder) parent).addValidator(validator);
- }
+ if (!isFacesValidatorPresent) {
+ FacesBeanValidator validator = (FacesBeanValidator) FacesContext.getCurrentInstance().getApplication()
+ .createValidator("org.richfaces.BeanValidator");
+ ((EditableValueHolder) parent).addValidator(validator);
+ }
- FacesContext ctx = FacesContext.getCurrentInstance();
- ValueExpression binding = ctx.getApplication().getExpressionFactory().createValueExpression(
- ctx.getELContext(), getEventString(), String.class);
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ValueExpression binding = ctx.getApplication().getExpressionFactory().createValueExpression(ctx.getELContext(),
+ getEventString(), String.class);
- parent.setValueExpression(getEvent(), binding);
- }
+ parent.setValueExpression(getEvent(), binding);
}
- private String getEventString()
- {
+ private String getEventString() {
StringBuffer buildOnEvent = new StringBuffer();
buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this, getFacesContext(), getEvent()));
return buildOnEvent.toString();
16 years, 2 months
JBoss Rich Faces SVN: r9459 - trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-07-08 11:40:53 -0400 (Tue, 08 Jul 2008)
New Revision: 9459
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
Log:
mutex
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 15:34:36 UTC (rev 9458)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 15:40:53 UTC (rev 9459)
@@ -59,6 +59,8 @@
return new BeanValidator();
}
+ private static final Object MUTEX = new Object();
+
/**
* Return BeanValidator object from a ServletContext attribute. Create new
* instance if none is defined.
@@ -71,7 +73,7 @@
externalContext.getContext();
BeanValidator instance;
// TODO - use properly synchronization mutex ?
- synchronized (context) {
+ synchronized (MUTEX) {
Map<String, Object> applicationMap = externalContext
.getApplicationMap();
instance = (BeanValidator) applicationMap.get(VALIDATOR_PARAM);
16 years, 2 months
JBoss Rich Faces SVN: r9458 - in trunk/sandbox/ui/beanValidator/src/main: java/org/richfaces/component and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-07-08 11:34:36 -0400 (Tue, 08 Jul 2008)
New Revision: 9458
Modified:
trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
Log:
Modified: trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml 2008-07-08 15:22:53 UTC (rev 9457)
+++ trunk/sandbox/ui/beanValidator/src/main/config/component/beanValidator.xml 2008-07-08 15:34:36 UTC (rev 9458)
@@ -35,7 +35,23 @@
which validation will be triggered
</description>
<defaultvalue><![CDATA["onblur"]]></defaultvalue>
+ </property>
+ <property>
+ <name>ajaxSingle</name>
+ <classname>boolean</classname>
+ <description>
+ </description>
+ <defaultvalue>true</defaultvalue>
</property>
+<!--
+ <property disabled="false">
+ <name>bypassUpdates</name>
+ <classname>boolean</classname>
+ <description>
+ </description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+-->
</component>
<validator generate="false">
<id>org.richfaces.BeanValidator</id>
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08 15:22:53 UTC (rev 9457)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/component/UIBeanValidator.java 2008-07-08 15:34:36 UTC (rev 9458)
@@ -30,41 +30,50 @@
public abstract void setEvent(String event);
+ public abstract void setAjaxSingle(boolean single);
+
+ public abstract boolean isAjaxSingle();
+
+// public abstract boolean isBypassUpdates();
+//
+// public abstract void setBypassUpdates(boolean bypass);
+
public void setParent(UIComponent parent) {
super.setParent(parent);
- if (!(parent instanceof EditableValueHolder)) {
- throw new FaceletException("Parent component must be an EditableValueHolder");
- }
+ if (null != parent && parent.getFamily() != null) {
- Validator[] validators = ((EditableValueHolder) parent).getValidators();
+ if (!(parent instanceof EditableValueHolder)) {
+ throw new FaceletException("Parent component must be an EditableValueHolder");
+ }
- boolean isFacesValidatorPresent = false;
- for (Validator validator : validators) {
- if (validator instanceof FacesBeanValidator) {
- isFacesValidatorPresent = true;
- break;
+ Validator[] validators = ((EditableValueHolder) parent).getValidators();
+
+ boolean isFacesValidatorPresent = false;
+ for (Validator validator : validators) {
+ if (validator instanceof FacesBeanValidator) {
+ isFacesValidatorPresent = true;
+ break;
+ }
}
- }
- if (!isFacesValidatorPresent) {
- FacesBeanValidator validator = (FacesBeanValidator) FacesContext.getCurrentInstance().getApplication()
- .createValidator("org.richfaces.BeanValidator");
- ((EditableValueHolder) parent).addValidator(validator);
- }
+ if (!isFacesValidatorPresent) {
+ FacesBeanValidator validator = (FacesBeanValidator) FacesContext.getCurrentInstance().getApplication()
+ .createValidator("org.richfaces.BeanValidator");
+ ((EditableValueHolder) parent).addValidator(validator);
+ }
- FacesContext ctx = FacesContext.getCurrentInstance();
- ValueExpression binding = ctx.getApplication().getExpressionFactory().createValueExpression(ctx.getELContext(),
- getEventString(), String.class);
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ValueExpression binding = ctx.getApplication().getExpressionFactory().createValueExpression(
+ ctx.getELContext(), getEventString(), String.class);
- parent.setValueExpression(getEvent(), binding);
+ parent.setValueExpression(getEvent(), binding);
+ }
}
private String getEventString()
{
StringBuffer buildOnEvent = new StringBuffer();
- // Due to JSF RI 1.1 bug, clear cached clientId
- setId(getId());
buildOnEvent.append(AjaxRendererUtils.buildOnEvent(this, getFacesContext(), getEvent()));
return buildOnEvent.toString();
}
16 years, 2 months
JBoss Rich Faces SVN: r9457 - trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator.
by richfaces-svn-commits@lists.jboss.org
Author: amarkhel
Date: 2008-07-08 11:22:53 -0400 (Tue, 08 Jul 2008)
New Revision: 9457
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
Log:
Add properly comments to BeanValidator class
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 15:20:31 UTC (rev 9456)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 15:22:53 UTC (rev 9457)
@@ -235,7 +235,7 @@
/*
* Method for create new instance of ClassValidator, if same not in cache.
- * @param beanClass - Class to validate @param bundle - Resource bundle,
+ * @param beanClass - Class to validate @param locale - user Locale,
* used during validation process @return ClassValidator instance
*/
@SuppressWarnings("unchecked")
@@ -365,7 +365,7 @@
}
/**
- * Class for identify validator instance by resource bundle
+ * Class for identify validator instance by locale
*
* @author amarkhel
*
@@ -379,8 +379,8 @@
*
* @param validatableClass -
* class to validate
- * @param bundle -
- * Resource bundle, used during validation process
+ * @param locale -
+ * User locale to determine Resource bundle, used during validation process
*/
public ValidatorKey(Class<? extends Object> validatableClass,
Locale locale) {
16 years, 2 months
JBoss Rich Faces SVN: r9456 - in trunk/sandbox/ui/beanValidator/src: test/java/org/richfaces/validator and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: amarkhel
Date: 2008-07-08 11:20:31 -0400 (Tue, 08 Jul 2008)
New Revision: 9456
Modified:
trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
trunk/sandbox/ui/beanValidator/src/test/java/org/richfaces/validator/BeanValidatorTest.java
Log:
Refactor JUnit
Modified: trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 15:13:17 UTC (rev 9455)
+++ trunk/sandbox/ui/beanValidator/src/main/java/org/richfaces/validator/BeanValidator.java 2008-07-08 15:20:31 UTC (rev 9456)
@@ -207,14 +207,10 @@
Class<? extends Object> beanClass, Locale locale) {
// TODO - cache validator instances.
// TODO - localization support.
- ResourceBundle bundle = getCurrentResourceBundle(locale);
- if(null == bundle){
- throw new FacesException(RESOURCE_BUNDLE_IS_NOT_REGISTERED_FOR_CURRENT_LOCALE);
- }
- ValidatorKey key = new ValidatorKey(beanClass, bundle);
+ ValidatorKey key = new ValidatorKey(beanClass, locale);
ClassValidator result = classValidators.get(key);
if (null == result) {
- result = createValidator(beanClass, bundle);
+ result = createValidator(beanClass, locale);
classValidators.put(key, result);
}
return result;
@@ -244,7 +240,8 @@
*/
@SuppressWarnings("unchecked")
private ClassValidator<? extends Object> createValidator(
- Class<? extends Object> beanClass, ResourceBundle bundle) {
+ Class<? extends Object> beanClass, Locale locale) {
+ ResourceBundle bundle = getCurrentResourceBundle(locale);
return bundle == null ? new ClassValidator(beanClass)
: new ClassValidator(beanClass, bundle);
}
@@ -375,7 +372,7 @@
*/
class ValidatorKey {
private Class<? extends Object> validatableClass;
- private ResourceBundle bundle;
+ private Locale locale;
/**
* Constructor for ValidatorKey object
@@ -386,21 +383,21 @@
* Resource bundle, used during validation process
*/
public ValidatorKey(Class<? extends Object> validatableClass,
- ResourceBundle bundle) {
+ Locale locale) {
this.validatableClass = validatableClass;
- this.bundle = bundle;
+ this.locale = locale;
}
@Override
public boolean equals(Object other) {
ValidatorKey key = (ValidatorKey) other;
return key.validatableClass.equals(validatableClass)
- && key.bundle.equals(bundle);
+ && key.locale.equals(locale);
}
@Override
public int hashCode() {
- return validatableClass.hashCode() + bundle.hashCode();
+ return validatableClass.hashCode() + locale.hashCode();
}
}
}
Modified: trunk/sandbox/ui/beanValidator/src/test/java/org/richfaces/validator/BeanValidatorTest.java
===================================================================
--- trunk/sandbox/ui/beanValidator/src/test/java/org/richfaces/validator/BeanValidatorTest.java 2008-07-08 15:13:17 UTC (rev 9455)
+++ trunk/sandbox/ui/beanValidator/src/test/java/org/richfaces/validator/BeanValidatorTest.java 2008-07-08 15:20:31 UTC (rev 9456)
@@ -1,6 +1,7 @@
package org.richfaces.validator;
import java.util.Locale;
+import java.util.ResourceBundle;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import org.hibernate.validator.ClassValidator;
16 years, 2 months
JBoss Rich Faces SVN: r9455 - trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2008-07-08 11:13:17 -0400 (Tue, 08 Jul 2008)
New Revision: 9455
Modified:
trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
Log:
http://jira.jboss.com/jira/browse/RF-3676
Modified: trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
===================================================================
--- trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js 2008-07-08 15:01:24 UTC (rev 9454)
+++ trunk/ui/menu-components/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js 2008-07-08 15:13:17 UTC (rev 9455)
@@ -1314,7 +1314,9 @@
if (menuLayer && menuLayer.eventOnItemSelect) menuLayer.eventOnItemSelect();
RichFaces.Menu.Layers.shutdown();
}
- RichFaces.Menu.Items.onmouseout(this);
+ if(!this.options.disabled) {
+ RichFaces.Menu.Items.onmouseout(this);
+ }
},
getElement: function() {
return $(this.id);
@@ -1348,7 +1350,7 @@
onmouseover : function(event) {
var element = this.getElement();
- if (this.options.onmouseover) {
+ if (this.options.onmouseover && !this.options.disabled) {
if (this.options.onmouseover.call(element, event) == false) {
Event.stop(event);
return;
@@ -1370,7 +1372,7 @@
onmouseout : function(event) {
Event.extend(event);
//window.status = $(event.relatedTarget).inspect();
- if (this.options.onmouseout) {
+ if (this.options.onmouseout && !this.options.disabled) {
if (this.options.onmouseout.call(element, event) == false) {
Event.stop(event);
return;
16 years, 2 months
JBoss Rich Faces SVN: r9454 - trunk/docs/cdkguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: artdaw
Date: 2008-07-08 11:01:24 -0400 (Tue, 08 Jul 2008)
New Revision: 9454
Modified:
trunk/docs/cdkguide/en/src/main/docbook/modules/roadmap.xml
trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml
Log:
http://jira.jboss.com/jira/browse/RF-3692 - 'Setting up the environment' section was added
Modified: trunk/docs/cdkguide/en/src/main/docbook/modules/roadmap.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/modules/roadmap.xml 2008-07-08 14:58:16 UTC (rev 9453)
+++ trunk/docs/cdkguide/en/src/main/docbook/modules/roadmap.xml 2008-07-08 15:01:24 UTC (rev 9454)
@@ -11,7 +11,7 @@
<title>Roadmap document</title>
<para>
- This document is aimed to describe components development with
+ This document is aimed to describe components development with the
<property>Component Development Kit (CDK)</property> and its features.
</para>
<para>
Modified: trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml 2008-07-08 14:58:16 UTC (rev 9453)
+++ trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml 2008-07-08 15:01:24 UTC (rev 9454)
@@ -11,10 +11,158 @@
<title>Setting up the environment</title>
<para>
- To start working with the project, it's necessary to have Maven installed.
+ In order to start working with the <property>Component Development Kit (CDK)</property>
+ and to create your rich component,
+ it's necessary to have the following installed:
</para>
- <para>
- JDK 1.5
- </para>
-
+ <itemizedlist>
+ <listitem>
+ <para>
+ <ulink url="http://java.sun.com/javase/downloads/index_jdk5.jsp">The Java SE 5 Development Kit (JDK)</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://maven.apache.org/download.html">Apache Maven 2.0.9</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <ulink url="http://tomcat.apache.org">Apache Tomcat 6.0</ulink>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Browser (on client side)
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ After the <property>Maven</property> is installed you should configure it.
+ In this case, please, go to the directory where you've just installed <property>Maven</property>,
+ open a <property>conf/settings.xml</property> file for editing and add to the <property>profiles</property>
+ section this code:
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<profile>
+ <id>cdk</id>
+ <repositories>
+ <repository>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ <id>repository.jboss.com</id>
+ <name>Jboss Repository for Maven</name>
+ <url>http://repository.jboss.com/maven2/</url>
+ <layout>default</layout>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>maven.jboss.org</id>
+ <name>JBoss Repository for Maven Snapshots</name>
+ <url>http://snapshots.jboss.org/maven2/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ <updatePolicy>always</updatePolicy>
+ </snapshots>
+ </pluginRepository>
+ <pluginRepository>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ <updatePolicy>never</updatePolicy>
+ </snapshots>
+ <id>repository.jboss.com</id>
+ <name>Jboss Repository for Maven</name>
+ <url> http://repository.jboss.com/maven2/ </url>
+ <layout>default</layout>
+ </pluginRepository>
+ </pluginRepositories>
+</profile>
+...]]>
+</programlisting>
+ <para>
+ In order to activate new profile, please, add the following after the <property>profiles</property> section:
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<activeProfiles>
+ <activeProfile>cdk</activeProfile>
+</activeProfiles>
+...]]>
+</programlisting>
+ <note>
+ <title>Note:</title>
+ <para>
+ In order to work with <property>Maven</property> from Eclipse,
+ it's possible to download and install the <property>Maven</property> plugin.
+ Please, follow the instruction at
+ <ulink url="http://maven.apache.org/eclipse-plugin.html">Eclipse plugins for Maven page</ulink>
+ </para>
+ </note>
+ <para>
+ The environment is set up now to use the <property>Component Development Kit (CDK)</property>.
+ </para>
+ <para>
+ We are going to create two components throughout the RichFaces CDK Developer Guide, but at first
+ you need take the following steps in order to set up the <property>Project</property> and create your library:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Create a new directory where all the components will be stored (for example <property>Sandbox</property>).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Create a file named <property>pom.xml</property> in the directory with the following content:
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.mycompany</groupId>
+ <artifactId>mylib-parent</artifactId>
+ <url>http://mycompany.org</url>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.ui</groupId>
+ <artifactId>richfaces-ui</artifactId>
+ <version>3.1.0</version>
+ </dependency>
+ </dependencies>
+</project>
+...]]>
+</programlisting>
+ </listitem>
+ </itemizedlist>
+
+
+
</chapter>
\ No newline at end of file
16 years, 2 months