JBoss Rich Faces SVN: r10124 - trunk/samples/richfaces-demo/src/main/webapp/richfaces/pickList.
by richfaces-svn-commits@lists.jboss.org
Author: smukhina
Date: 2008-08-18 06:58:32 -0400 (Mon, 18 Aug 2008)
New Revision: 10124
Modified:
trunk/samples/richfaces-demo/src/main/webapp/richfaces/pickList/usage.xhtml
Log:
https://jira.jboss.org/jira/browse/RF-4148 PickList: grammar in description is corrected
Modified: trunk/samples/richfaces-demo/src/main/webapp/richfaces/pickList/usage.xhtml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/richfaces/pickList/usage.xhtml 2008-08-16 00:46:23 UTC (rev 10123)
+++ trunk/samples/richfaces-demo/src/main/webapp/richfaces/pickList/usage.xhtml 2008-08-18 10:58:32 UTC (rev 10124)
@@ -27,8 +27,8 @@
</div>
</fieldset>
<p>
- Pick List is a simplified variant of ListShuttle component. It does not uses custom model.
- Instead it uses f:selectItem(s) tags for elements definition, so converters creation
+ Pick List is a simplified variant of ListShuttle component. It does not use a custom model.
+ It uses f:selectItem(s) tags for elements definition instead, so converters creation
isn't required for the component.
</p>
@@ -42,7 +42,7 @@
corresponding state capitals as a value for an item.
</p>
<p>
- Just move some elements with state names to the result list and corresponding
+ Just move some elements with state names to the result list and the corresponding
state capitals will appear in the result panel.
</p>
<fieldset class="demo_fieldset">
15 years, 10 months
JBoss Rich Faces SVN: r10123 - in trunk: framework/impl/src/main/java/org/ajax4jsf/event and 4 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2008-08-15 20:46:23 -0400 (Fri, 15 Aug 2008)
New Revision: 10123
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxViewHandler.java
trunk/framework/impl/src/main/java/org/ajax4jsf/event/InitPhaseListener.java
trunk/framework/impl/src/main/resources/META-INF/faces-config.xml
trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml
trunk/ui/assembly/pom.xml
trunk/ui/extendedDataTable/generatescript.xml
Log:
Remove duplicate calls in the ViewHandler. Fix JavaScript modules sequence for a assembled script.
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxStateManager.java 2008-08-16 00:46:23 UTC (rev 10123)
@@ -39,6 +39,7 @@
import javax.faces.FacesException;
import javax.faces.FactoryFinder;
import javax.faces.application.StateManager;
+import javax.faces.application.StateManager.SerializedView;
import javax.faces.component.UIComponentBase;
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
@@ -233,6 +234,32 @@
}
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see javax.faces.application.StateManager#writeState(javax.faces.context.FacesContext,
+ * javax.faces.application.StateManager.SerializedView)
+ */
+ @SuppressWarnings("deprecation")
+ public void writeState(FacesContext context, SerializedView state)
+ throws IOException {
+ RenderKit renderKit = getRenderKit(context);
+ ResponseStateManager responseStateManager = renderKit
+ .getResponseStateManager();
+ Object[] stateArray;
+ if(null == state.getState() && null == state.getStructure()){
+ // MyFaces https://issues.apache.org/jira/browse/MYFACES-1753 hack
+ stateArray = new Object[]{getLogicalViewId(context),null};
+ } else {
+ stateArray = new Object[] {
+ state.getStructure(),state.getState() };
+ }
+ writeState(context, responseStateManager, stateArray);
+ if (_log.isDebugEnabled()) {
+ _log.debug("Write view state to the response");
+ }
+ }
+
/**
* @param context
* @param state
@@ -353,32 +380,6 @@
/*
* (non-Javadoc)
*
- * @see javax.faces.application.StateManager#writeState(javax.faces.context.FacesContext,
- * javax.faces.application.StateManager.SerializedView)
- */
- @SuppressWarnings("deprecation")
- public void writeState(FacesContext context, SerializedView state)
- throws IOException {
- RenderKit renderKit = getRenderKit(context);
- ResponseStateManager responseStateManager = renderKit
- .getResponseStateManager();
- Object[] stateArray;
- if(null == state.getState() && null == state.getStructure()){
- // MyFaces https://issues.apache.org/jira/browse/MYFACES-1753 hack
- stateArray = new Object[]{getLogicalViewId(context),null};
- } else {
- stateArray = new Object[] {
- state.getStructure(),state.getState() };
- }
- writeState(context, responseStateManager, stateArray);
- if (_log.isDebugEnabled()) {
- _log.debug("Write view state to the response");
- }
- }
-
- /*
- * (non-Javadoc)
- *
* @see javax.faces.application.StateManager#restoreView(javax.faces.context.FacesContext,
* java.lang.String, java.lang.String)
*/
@@ -419,14 +420,6 @@
}
- protected Object[] restoreStateFromSession(FacesContext context,
- String viewId, String renderKitId) {
- String id = restoreLogicalViewId(context, viewId, renderKitId);
- StateHolder stateHolder = getStateHolder(context);
- Object[] restoredState = stateHolder.getState(viewId, id);
- return restoredState;
- }
-
@SuppressWarnings("deprecation")
public SerializedView saveSerializedView(FacesContext context) {
Object[] stateViewArray;
@@ -451,7 +444,24 @@
/**
* @param context
* @return
+ * @see javax.faces.application.StateManager#isSavingStateInClient(javax.faces.context.FacesContext)
*/
+ public boolean isSavingStateInClient(FacesContext context) {
+ return parent.isSavingStateInClient(context);
+ }
+
+ protected Object[] restoreStateFromSession(FacesContext context,
+ String viewId, String renderKitId) {
+ String id = restoreLogicalViewId(context, viewId, renderKitId);
+ StateHolder stateHolder = getStateHolder(context);
+ Object[] restoredState = stateHolder.getState(viewId, id);
+ return restoredState;
+ }
+
+ /**
+ * @param context
+ * @return
+ */
protected Object[] buildViewState(FacesContext context) {
Object[] viewStateArray = null;
UIViewRoot viewRoot = context.getViewRoot();
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxViewHandler.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxViewHandler.java 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/application/AjaxViewHandler.java 2008-08-16 00:46:23 UTC (rev 10123)
@@ -98,13 +98,13 @@
riRoot = facesContext.getViewRoot();
} else {
riRoot = super.createView(facesContext, viewId);
+ riRoot.addPhaseListener(new RenderPhaseComponentListener());
// Reset ajax request status for a navigation case.
if(null != facesContext.getViewRoot()){
ajaxContext.setAjaxRequest(false);
}
}
- riRoot.addPhaseListener(new RenderPhaseComponentListener());
return riRoot;
}
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/event/InitPhaseListener.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/event/InitPhaseListener.java 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/event/InitPhaseListener.java 2008-08-16 00:46:23 UTC (rev 10123)
@@ -61,7 +61,7 @@
}
LifecycleFactory factory = (LifecycleFactory)
FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
- for(Iterator iter = factory.getLifecycleIds(); iter.hasNext(); ) {
+ for(Iterator<String> iter = factory.getLifecycleIds(); iter.hasNext(); ) {
Lifecycle lifecycle = factory.getLifecycle((String) iter.next());
lifecycle.removePhaseListener(this);
}
Modified: trunk/framework/impl/src/main/resources/META-INF/faces-config.xml
===================================================================
--- trunk/framework/impl/src/main/resources/META-INF/faces-config.xml 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/framework/impl/src/main/resources/META-INF/faces-config.xml 2008-08-16 00:46:23 UTC (rev 10123)
@@ -5,14 +5,16 @@
version="1.2">
<factory>
<render-kit-factory>org.ajax4jsf.renderkit.ChameleonRenderKitFactory</render-kit-factory>
+ <!--
<lifecycle-factory>org.ajax4jsf.application.DebugLifecycleFactory</lifecycle-factory>
+ -->
</factory>
<application>
<!--
<variable-resolver>org.richfaces.skin.SkinVariableResolver</variable-resolver>
<property-resolver>org.richfaces.skin.SkinPropertyResolver</property-resolver>
+ <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler>
-->
- <view-handler>org.ajax4jsf.application.AjaxViewHandler</view-handler>
<state-manager>org.ajax4jsf.application.AjaxStateManager</state-manager>
</application>
<lifecycle>
Modified: trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/samples/richfaces-demo/src/main/webapp/WEB-INF/web.xml 2008-08-16 00:46:23 UTC (rev 10123)
@@ -54,11 +54,11 @@
<context-param>
<param-name>org.richfaces.LoadStyleStrategy</param-name>
- <param-value>DEFAULT</param-value>
+ <param-value>ALL</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
- <param-value>DEFAULT</param-value>
+ <param-value>ALL</param-value>
</context-param>
<filter>
Modified: trunk/ui/assembly/pom.xml
===================================================================
--- trunk/ui/assembly/pom.xml 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/ui/assembly/pom.xml 2008-08-16 00:46:23 UTC (rev 10123)
@@ -202,6 +202,9 @@
<include>
${project.build.directory}/compressed/org/richfaces/renderkit/html/scripts/inplaceselect-min.js
</include>
+ <include>
+ ${project.build.directory}/compressed/org/richfaces/renderkit/html/scripts/common-scrollable-data-table-min.js
+ </include>
<include>**/*-min.js</include>
</includes>
<!-- files to exclude, path relative to output's directory -->
Modified: trunk/ui/extendedDataTable/generatescript.xml
===================================================================
--- trunk/ui/extendedDataTable/generatescript.xml 2008-08-15 19:38:08 UTC (rev 10122)
+++ trunk/ui/extendedDataTable/generatescript.xml 2008-08-16 00:46:23 UTC (rev 10123)
@@ -35,7 +35,7 @@
<property name="gen-script-full-name" value="${target-dir}/${script-path}/${gen-script-name}"></property>
<concat append="false" binary="false" destfile="${gen-script-full-name}">
<filelist dir="${resources-dir}">
- <file name="/ClientUI/controls/dataTable/ExtendedDataTable.js"/>
+ <file name="/ClientUI/controls/datatable/ExtendedDataTable.js"/>
<file name="/ClientUI/controls/datatable/ExtendedDataTableHeader.js"/>
<file name="/ClientUI/controls/datatable/ExtendedDataTableSelection.js"/>
</filelist>
15 years, 10 months
JBoss Rich Faces SVN: r10122 - in trunk/ui/inplaceInput/src/main: templates and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: vmolotkov
Date: 2008-08-15 15:38:08 -0400 (Fri, 15 Aug 2008)
New Revision: 10122
Modified:
trunk/ui/inplaceInput/src/main/resources/org/richfaces/renderkit/html/scripts/inplaceinput.js
trunk/ui/inplaceInput/src/main/templates/inplaceinput.jspx
Log:
https://jira.jboss.org/jira/browse/RF-2826
https://jira.jboss.org/jira/browse/RF-4147
Modified: trunk/ui/inplaceInput/src/main/resources/org/richfaces/renderkit/html/scripts/inplaceinput.js
===================================================================
--- trunk/ui/inplaceInput/src/main/resources/org/richfaces/renderkit/html/scripts/inplaceinput.js 2008-08-15 16:39:23 UTC (rev 10121)
+++ trunk/ui/inplaceInput/src/main/resources/org/richfaces/renderkit/html/scripts/inplaceinput.js 2008-08-15 19:38:08 UTC (rev 10122)
@@ -5,13 +5,13 @@
Richfaces.InplaceInput.prototype = {
//TODO: remove $$$$$
initialize: function(clientId, temValueKeepId, valueKeepId, tabberId, attributes, events, classes, barParams) {
+ //TODO: delete tabberId from parameters
this.inplaceInput = $(clientId);
this.inplaceInput.component = this;
this.tempValueKeeper = $(temValueKeepId);
this.valueKeeper = $(valueKeepId);
this.attributes = attributes;
- //this.tabber = $(tabberId);
this.events = events;
this.classes = classes;
@@ -123,7 +123,7 @@
},
tmpValueBlurHandler : function() {
- if (this.clickOnBar || this.byTab) {
+ if (this.clickOnBar) {
this.clickOnBar = false;
return;
}
@@ -136,7 +136,8 @@
tmpValueKeyDownHandler : function(e) {
switch (e.keyCode) {
case Event.KEY_ESC :
- this.cancel(e);
+ this.cancel(e);
+ Event.stop(e);
break;
case Event.KEY_RETURN :
if (this.attributes.showControls) {
@@ -147,8 +148,9 @@
}
break;
case Event.KEY_TAB :
- this.save();
- //this.byTab = true;
+ if (this.attributes.showControls) {
+ this.save();
+ }
break;
}
},
@@ -173,7 +175,7 @@
this.bar.hide();
}
- this.tempValueKeeper.style.clip = 'rect(0px,0px,10px,10px)';
+ this.tempValueKeeper.style.clip = 'rect(0px 0px 10px 10px)';
},
/*endChangedState : function() {
@@ -189,7 +191,7 @@
var textWidth= this.inplaceInput.offsetWidth;
var inputSize = this.setInputWidth(textWidth);
- this.tempValueKeeper.style.clip = 'rect(auto,auto,auto,auto)';
+ this.tempValueKeeper.style.clip = 'rect(auto auto auto auto)';
this.inplaceInput.className = this.classes.COMPONENT.EDITABLE;
if (this.bar) {
Modified: trunk/ui/inplaceInput/src/main/templates/inplaceinput.jspx
===================================================================
--- trunk/ui/inplaceInput/src/main/templates/inplaceinput.jspx 2008-08-15 16:39:23 UTC (rev 10121)
+++ trunk/ui/inplaceInput/src/main/templates/inplaceinput.jspx 2008-08-15 19:38:08 UTC (rev 10122)
@@ -88,7 +88,7 @@
<input id='#{clientId}tempValue'
class='rich-inplace-field'
- style='clip:rect(0px,0px,10px,10px)'
+ style='clip:rect(0px 0px 10px 10px)'
type='text'
autocomplete="off"
value='#{fieldValue}'
15 years, 10 months
JBoss Rich Faces SVN: r10121 - trunk/framework/impl/src/main/java/org/ajax4jsf/webapp.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2008-08-15 12:39:23 -0400 (Fri, 15 Aug 2008)
New Revision: 10121
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java
trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/FilterServletResponseWrapper.java
Log:
https://jira.jboss.org/jira/browse/RF-4095
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java 2008-08-15 15:49:39 UTC (rev 10120)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java 2008-08-15 16:39:23 UTC (rev 10121)
@@ -71,8 +71,12 @@
private boolean forcexml = false;
+ private boolean forceNotRf = false;
+
private static final String FORCEXML_PARAMETER = "forceparser";
+ private static final String FORCENOTRF_PARAMETER = "forcenotrf";
+
private static final String INIT_PARAMETER_PREFIX = "org.ajax4jsf.xmlfilter.";
public static final String TEXT_HTML = "text/html";
@@ -98,6 +102,14 @@
INIT_PARAMETER_PREFIX + FORCEXML_PARAMETER);
}
setupForceXml(forceXmlParameter);
+
+ String forceNotRfParameter = config.getInitParameter(FORCENOTRF_PARAMETER);
+ if (forceNotRfParameter == null) {
+ forceNotRfParameter = config.getServletContext().getInitParameter(
+ INIT_PARAMETER_PREFIX + FORCENOTRF_PARAMETER);
+ }
+ setupForcenotrf(forceNotRfParameter);
+
setMimetype((String) nz(config.getInitParameter(MIME_TYPE_PARAMETER),
"text/xml"));
setPublicid((String) nz(config.getInitParameter(PUBLICID_PARAMETER),
@@ -110,16 +122,31 @@
}
+ private Boolean stringToBoolean(String s) {
+ if ("false".equalsIgnoreCase(s)) {
+ return Boolean.FALSE;
+ } else if ("true".equalsIgnoreCase(s)) {
+ return Boolean.TRUE;
+ }
+
+ return null;
+ }
+
+ private void setupForcenotrf(String paramValue) {
+ Boolean val = stringToBoolean(paramValue);
+ if (val != null) {
+ this.forceNotRf = val.booleanValue();
+ }
+ }
+
/**
* @param forceXmlParameter
*/
private void setupForceXml(String forceXmlParameter) {
- if ("false".equalsIgnoreCase(forceXmlParameter)) {
- this.forcexml = false;
+ Boolean val = stringToBoolean(forceXmlParameter);
+ if (val != null) {
+ this.forcexml = val.booleanValue();
}
- if ("true".equalsIgnoreCase(forceXmlParameter)) {
- this.forcexml = true;
- }
}
/**
@@ -175,6 +202,9 @@
}
String viewId = (String) request
.getAttribute(AjaxViewHandler.VIEW_ID_KEY);
+ Object[] headEvents = (Object[]) request
+ .getAttribute(AjaxContext.HEAD_EVENTS_PARAMETER);
+
HtmlParser parser = null;
// setup response
// Redirect in AJAX request - convert to special response recognized by
@@ -210,102 +240,126 @@
} else {
response.sendRedirect(redirectLocation);
}
+
+
return;
- } else if ("true".equals(servletResponseWrapper.getHeaders().get(
+
+ } else {
+ if ("true".equals(servletResponseWrapper.getHeaders().get(
AjaxContainerRenderer.AJAX_FLAG_HEADER))) {
- if (log.isDebugEnabled()) {
- log
- .debug("Process response to well-formed XML for AJAX XMLHttpRequest parser");
- }
- // Not caching AJAX request
- response.setHeader("Cache-Control",
- "no-cache, must-revalidate, max_age=0, no-store");
- response.setHeader("Expires", "0");
- response.setHeader("Pragma", "no-cache");
- // response.setCharacterEncoding(servletResponseWrapper
- // .getCharacterEncoding()); //
- // JSContentHandler.DEFAULT_ENCODING);
- // Set the content-type. For AJAX responses default encoding -
- // UTF8.
- // TODO - for null encoding, setup only Output encoding for
- // filter ?
- String outputEncoding = "UTF-8";
- String contentType = getMimetype() + ";charset=" + outputEncoding;
- response.setContentType(contentType);
- parser = getParser(getMimetype(), true, viewId);
- if (null == parser) {
- throw new ServletException(Messages.getMessage(
- Messages.PARSER_NOT_INSTANTIATED_ERROR, contentType));
- }
- output = createResponseWriter(response, outputEncoding);
- parser.setDoctype(getPublicid());
- parser.setInputEncoding(characterEncoding);
- parser.setOutputEncoding(outputEncoding);
- parser.setViewState((String) request
- .getAttribute(AjaxViewHandler.SERIALIZED_STATE_KEY));
- } else {
- // setup conversion reules for output contentType, send directly
- // if content not
- // supported by tidy.
- String contentType = servletResponseWrapper.getContentType();
- String contentTypeCharset = contentType;
- if (log.isDebugEnabled()) {
- log.debug("create HTML/XML parser for content type: "
- + contentType);
- }
- // if(contentType == null){
- // contentType = request.getContentType();
- // }
- if (contentTypeCharset != null) {
- if (contentTypeCharset.indexOf("charset") < 0
- && null != characterEncoding) {
- contentTypeCharset += ";charset=" + characterEncoding;
- }
- parser = getParser(contentTypeCharset, false, viewId);
- }
- // null or unsupported content type
- if (null == parser) {
if (log.isDebugEnabled()) {
log
- .debug("Parser not have support for the such content type, send response as-is");
+ .debug("Process response to well-formed XML for AJAX XMLHttpRequest parser");
}
- try {
- if (servletResponseWrapper.isUseWriter()) {
+ // Not caching AJAX request
+ response.setHeader("Cache-Control",
+ "no-cache, must-revalidate, max_age=0, no-store");
+ response.setHeader("Expires", "0");
+ response.setHeader("Pragma", "no-cache");
+ // response.setCharacterEncoding(servletResponseWrapper
+ // .getCharacterEncoding()); //
+ // JSContentHandler.DEFAULT_ENCODING);
+ // Set the content-type. For AJAX responses default encoding -
+ // UTF8.
+ // TODO - for null encoding, setup only Output encoding for
+ // filter ?
+ String outputEncoding = "UTF-8";
+ String contentType = getMimetype() + ";charset=" + outputEncoding;
+ response.setContentType(contentType);
+ parser = getParser(getMimetype(), true, viewId);
+ if (null == parser) {
+ throw new ServletException(Messages.getMessage(
+ Messages.PARSER_NOT_INSTANTIATED_ERROR, contentType));
+ }
+ output = createOutputWriter(response, outputEncoding);
+ parser.setDoctype(getPublicid());
+ parser.setInputEncoding(characterEncoding);
+ parser.setOutputEncoding(outputEncoding);
+ parser.setViewState((String) request
+ .getAttribute(AjaxViewHandler.SERIALIZED_STATE_KEY));
+ } else {
+ // setup conversion reules for output contentType, send directly
+ // if content not
+ // supported by tidy.
+ String contentType = servletResponseWrapper.getContentType();
+ String contentTypeCharset = contentType;
+ if (log.isDebugEnabled()) {
+ log.debug("create HTML/XML parser for content type: "
+ + contentType);
+ }
+ // if(contentType == null){
+ // contentType = request.getContentType();
+ // }
+ boolean forcenotrf = isForcenotrf();
+
+ if (forcenotrf || !servletResponseWrapper.isError()) {
+ if (forcenotrf || (headEvents != null && headEvents.length != 0)) {
if (contentTypeCharset != null) {
- response.setContentType(contentTypeCharset);
+ if (contentTypeCharset.indexOf("charset") < 0
+ && null != characterEncoding) {
+ contentTypeCharset += ";charset=" + characterEncoding;
+ }
+ parser = getParser(contentTypeCharset, false, viewId);
+ if (null == parser) {
+ if (log.isDebugEnabled()) {
+ log
+ .debug("Parser not have support for the such content type, send response as-is");
+ }
+ }
}
-
- output = createResponseWriter(response,
- characterEncoding);
- servletResponseWrapper.sendContent(output);
- } else if (servletResponseWrapper.isUseStream()) {
- if (contentType != null) {
- response.setContentType(contentType);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("No resource inclusions detected, send response as-is");
}
-
- ServletOutputStream out = response.getOutputStream();
- servletResponseWrapper.sendContent(out);
}
- } finally {
- // reuseWrapper(servletResponseWrapper);
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("Servlet error occured, send response as-is");
+ }
}
- return;
+
+
+ // null or unsupported content type
+ if (null == parser) {
+ try {
+ if (servletResponseWrapper.isUseWriter()) {
+ if (contentTypeCharset != null) {
+ response.setContentType(contentTypeCharset);
+ }
+
+ output = createOutputWriter(response,
+ characterEncoding);
+ servletResponseWrapper.sendContent(output);
+ } else if (servletResponseWrapper.isUseStream()) {
+ if (contentType != null) {
+ response.setContentType(contentType);
+ }
+
+ ServletOutputStream out = response.getOutputStream();
+ servletResponseWrapper.sendContent(out);
+ }
+ } finally {
+ // reuseWrapper(servletResponseWrapper);
+ }
+
+
+ return;
+ }
+
+ if (contentTypeCharset != null) {
+ response.setContentType(contentTypeCharset);
+ }
+
+ output = createOutputWriter(response, characterEncoding);
+
+ parser.setInputEncoding(characterEncoding);
+ parser.setOutputEncoding(characterEncoding);
}
-
- if (contentTypeCharset != null) {
- response.setContentType(contentTypeCharset);
- }
-
- output = createResponseWriter(response, characterEncoding);
-
- parser.setInputEncoding(characterEncoding);
- parser.setOutputEncoding(characterEncoding);
}
-
+
try {
// Setup scripts and styles
- parser.setHeadEvents((Object[]) request
- .getAttribute(AjaxContext.HEAD_EVENTS_PARAMETER));
+ parser.setHeadEvents(headEvents);
// Process parsing.
long startTimeMills = System.currentTimeMillis();
servletResponseWrapper.parseContent(output, parser);
@@ -358,7 +412,7 @@
response.setHeader("Expires", "0");
response.setHeader("Pragma", "no-cache");
response.setContentType(getMimetype() + ";charset=UTF-8");
- output = createResponseWriter(response, "UTF-8");
+ output = createOutputWriter(response, "UTF-8");
return output;
}
@@ -409,7 +463,7 @@
* @throws IOException
* @throws UnsupportedEncodingException
*/
- private Writer createResponseWriter(final HttpServletResponse response,
+ private Writer createOutputWriter(final HttpServletResponse response,
String characterEncoding) throws IOException,
UnsupportedEncodingException {
Writer output;
@@ -498,6 +552,10 @@
return this.forcexml;
}
+ public boolean isForcenotrf() {
+ return this.forceNotRf;
+ }
+
/**
* @param forcexml
* The forcexml to set.
@@ -505,6 +563,10 @@
protected void setForcexml(boolean forcexml) {
this.forcexml = forcexml;
}
+
+ protected void setForcenotrf(boolean forcenotrf) {
+ this.forceNotRf = forcenotrf;
+ }
private Object nz(Object param, Object def) {
return param != null ? param : def;
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/FilterServletResponseWrapper.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/FilterServletResponseWrapper.java 2008-08-15 15:49:39 UTC (rev 10120)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/FilterServletResponseWrapper.java 2008-08-15 16:39:23 UTC (rev 10121)
@@ -117,6 +117,8 @@
private boolean useNullStream = false;
+ private boolean error = false;
+
private List<Cookie> cookies = new ArrayList<Cookie>();
public FilterServletResponseWrapper(HttpServletResponse response) {
@@ -649,5 +651,18 @@
public Collection<Cookie> getCookies() {
return cookies;
}
+
+ public void sendError(int sc) throws IOException {
+ this.error = true;
+ super.sendError(sc);
+ }
+ public void sendError(int sc, String msg) throws IOException {
+ this.error = true;
+ super.sendError(sc, msg);
+ }
+
+ public boolean isError() {
+ return error;
+ }
}
15 years, 10 months
JBoss Rich Faces SVN: r10120 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2008-08-15 11:49:39 -0400 (Fri, 15 Aug 2008)
New Revision: 10120
Modified:
trunk/docs/userguide/en/src/main/docbook/included/columns.xml
Log:
RF-4102: Columns: use restriction.
Adding the note to the end of the "Details of usage" section
Modified: trunk/docs/userguide/en/src/main/docbook/included/columns.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/columns.xml 2008-08-15 15:44:28 UTC (rev 10119)
+++ trunk/docs/userguide/en/src/main/docbook/included/columns.xml 2008-08-15 15:49:39 UTC (rev 10120)
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>rich:columns</keyword>
- <keyword>columns</keyword>
- </keywordset>
- </sectioninfo>
- <table>
- <title>Component identification parameters</title>
+ <sectioninfo>
+ <keywordset>
+ <keyword>rich:columns</keyword>
+ <keyword>columns</keyword>
+ </keywordset>
+ </sectioninfo>
+ <table>
+ <title>Component identification parameters</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.richfaces.Column</entry>
- </row>
- <!--row>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.richfaces.Column</entry>
+ </row>
+ <!--row>
<entry>component-class</entry>
<entry></entry>
</row>
@@ -33,84 +33,62 @@
<entry>renderer-type</entry>
<entry></entry>
</row-->
- <row>
- <entry>tag-class</entry>
- <entry>
- org.richfaces.taglib.ColumnsTagHandler
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <section>
- <title>Creating the Component with a Page Tag</title>
- <para>
- To create the simplest variant on a page use the following
- syntax:
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <row>
+ <entry>tag-class</entry>
+ <entry> org.richfaces.taglib.ColumnsTagHandler
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <section>
+ <title>Creating the Component with a Page Tag</title>
+ <para> To create the simplest variant on a page use the following syntax: </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:columns value="#{capitalsBean.labels}" var="col" index="index">
<h:outputText value="#{cap[index]}" />
</rich:columns>
</rich:dataTable>
...]]></programlisting>
- </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[import org.richfaces.component.html.HtmlColumns;
+ </section>
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[import org.richfaces.component.html.HtmlColumns;
...
HtmlColumns myColumns = new HtmlColumns();
...]]></programlisting>
- </section>
- <section>
- <title>Details of Usage</title>
- <para>
- The
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- component gets a list from data model and outputs
- corresponding set of columns inside
- <emphasis role="bold">
- <property><rich:dataTable></property>
- </emphasis>
- on a page. It is possible to use
- <emphasis>
- <property>"header"</property>
- </emphasis>
- and
- <emphasis>
- <property>"footer"</property>
- </emphasis>
- facets with
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- component.
- </para>
- <para>
- The
- <emphasis>
- <property>"value"</property>
- </emphasis>
- and
- <emphasis>
- <property>"var"</property>
- </emphasis>
- attributes are used to access the values of collection.
- </para>
- <para>The simple example is placed below.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ </section>
+ <section>
+ <title>Details of Usage</title>
+ <para> The <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> component gets a list from data model and outputs
+ corresponding set of columns inside <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis> on a page. It is possible to use <emphasis>
+ <property>"header"</property>
+ </emphasis> and <emphasis>
+ <property>"footer"</property>
+ </emphasis> facets with <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> component. </para>
+ <para> The <emphasis>
+ <property>"value"</property>
+ </emphasis> and <emphasis>
+ <property>"var"</property>
+ </emphasis> attributes are used to access the values of collection. </para>
+ <para>The simple example is placed below.</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:columns value="#{capitalsBean.labels}" var="col" index="index">
<f:facet name="header">
@@ -123,46 +101,27 @@
</rich:columns>
</rich:dataTable>
...]]></programlisting>
- <para>
- The
- <emphasis>
- <property>"columns"</property>
- </emphasis>
- attribute defines the count of columns.
- </para>
- <para>
- The
- <emphasis>
- <property>"rows"</property>
- </emphasis>
- attribute defines the number of rows to be displayed. If the
- value of this attribute is zero, all remaining rows in the
- table are displayed on a page.
- </para>
- <para>
- The
- <emphasis>
- <property>"begin"</property>
- </emphasis>
- attribute contains the first iteration item. Note, that
- iteration begins from zero.
- </para>
- <para>
- The
- <emphasis>
- <property>"end"</property>
- </emphasis>
- attribute contains the last iteration item.
- </para>
- <para>
- With the help of the attributes described below you can
- customize the output, i.e. define which columns and how many
- rows appear on a page.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para> The <emphasis>
+ <property>"columns"</property>
+ </emphasis> attribute defines the count of columns. </para>
+ <para> The <emphasis>
+ <property>"rows"</property>
+ </emphasis> attribute defines the number of rows to be displayed. If
+ the value of this attribute is zero, all remaining rows in the table
+ are displayed on a page. </para>
+ <para> The <emphasis>
+ <property>"begin"</property>
+ </emphasis> attribute contains the first iteration item. Note, that
+ iteration begins from zero. </para>
+ <para> The <emphasis>
+ <property>"end"</property>
+ </emphasis> attribute contains the last iteration item. </para>
+ <para> With the help of the attributes described below you can customize the
+ output, i.e. define which columns and how many rows appear on a page. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{capitalsBean.capitals}" var="cap">
<rich:columns value="#{capitalsBean.labels}" var="col" index="index" rows="0" columns="3" begin="1" end="2">
<f:facet name="header">
@@ -172,45 +131,31 @@
</rich:columns>
</rich:dataTable>
...]]></programlisting>
- <para>
- In the example below, columns from first to second and all
- rows are shown in the
- <emphasis role="bold">
- <property><rich:dataTable></property>
- </emphasis>
- .
- </para>
- <para>The result is:</para>
- <figure>
- <title>
- Generated
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- with columns from first to second and all rows
- </title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/columns2.png" />
- </imageobject>
- </mediaobject>
- </figure>
- <para>
- The
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- component does not prevent to use
- <emphasis role="bold">
- <property><rich:column></property>
- </emphasis>
- . In the following example one column renders in any way and
- another columns could be picked from the model.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para> In the example below, columns from first to second and all rows are shown
+ in the <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis> . </para>
+ <para>The result is:</para>
+ <figure>
+ <title> Generated <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> with columns from first to second and all rows </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/columns2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para> The <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> component does not prevent to use <emphasis role="bold">
+ <property><rich:column></property>
+ </emphasis> . In the following example one column renders in any way
+ and another columns could be picked from the model. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{rowBean.rows}" var="row">
<rich:column>
<h:outputText value ="#{row.columnValue}"/>
@@ -227,23 +172,17 @@
</rich:dataTable>
...]]></programlisting>
- <para>
- In order to group columns with text information into one
- row, use the
- <emphasis>
- <property>"colspan"</property>
- </emphasis>
- attribute, which is similar to an HTML one. In the following
- example the third column contains 3 columns. In addition,
- it's necessary to specify that the next column begins
- from the first row with the help of the
- <code>breakBefore = "true"</code>
- .
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para> In order to group columns with text information into one row, use the <emphasis>
+ <property>"colspan"</property>
+ </emphasis> attribute, which is similar to an HTML one. In the
+ following example the third column contains 3 columns. In addition,
+ it's necessary to specify that the next column begins from
+ the first row with the help of the <code>breakBefore =
+ "true"</code> . </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{columns.data1}" var="data">
<rich:column>
<h:outputText value="#{column.Item1}" />
@@ -261,7 +200,7 @@
...
]]></programlisting>
- <!--para>As a result the following structure is rendered:</para>
+ <!--para>As a result the following structure is rendered:</para>
<figure>
<title><rich:column> modified with colspan and breakbefore attributes</title>
<mediaobject>
@@ -271,21 +210,15 @@
</mediaobject>
</figure-->
- <para>
- The same way is used for
- <property>columns</property>
- grouping with the
- <emphasis>
- <property>"rowspan"</property>
- </emphasis>
- attribute that is similar to an HTML. The only thing to add
- in the example is an instruction to move onto the next row
- for each next after the second column.
- </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para> The same way is used for <property>columns</property> grouping with the <emphasis>
+ <property>"rowspan"</property>
+ </emphasis> attribute that is similar to an HTML. The only thing to
+ add in the example is an instruction to move onto the next row for
+ each next after the second column. </para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<rich:dataTable value="#{columns.data1}" var="data">
<rich:columns columns="2" rowspan="3">
<h:outputText value="#{data.str0}" />
@@ -303,7 +236,7 @@
...
]]></programlisting>
- <!--para>As a result:</para>
+ <!--para>As a result:</para>
<figure>
<title><rich:column> generated with rowspan attribute</title>
<mediaobject>
@@ -312,198 +245,178 @@
</imageobject>
</mediaobject>
</figure-->
- <para>
- Information about sorting and filtering you can find
- <link linkend="sortAndFilter">here</link>
- .
- </para>
+ <note>
+ <title>Note:</title>
+ <para>
+ The <emphasis role="bold"><property><rich:columns></property></emphasis> tag is initialized during components tree building process.
+ This process precedes page rendering at "Render Response" JSF phase.
+ To be rendered properly the component needs all it variables to be initialized while the components tree is being building.
+ A <emphasis>javax.servlet.jsp.JspTagException</emphasis> occurs if <emphasis role="bold"><property><rich:columns></property></emphasis> uses variables passed from other components, if these variables are initialized during rendering.
+ Thus, when <emphasis role="bold"><property><rich:columns></property></emphasis> is asking for such variables they do not already exist.
+ Use <property><c:forEach></property> JSP standard tag as workaround.
+ Compare two examples below.
+ </para>
+ <para>
+ This code calls the exception:
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<rich:dataTable value="#{bean.data}" var="var">
+ <rich:columns value="#{var.columns}">
+ ...
+ </rich:columns>
+</rich:dataTable>
+...
+]]></programlisting>
+ <para>
+ This code works properly:
+ </para>
+ <programlisting role="XML"><![CDATA[...
+<c:forEach items="#{bean.data}" var="var">
+ <rich:columns value="#{var.columns}">
+ ...
+ </rich:columns>
+</c:forEach>
+...
+]]></programlisting>
+ </note>
+
+
+ <para> Information about sorting and filtering you can find <link
+ linkend="sortAndFilter">here</link> . </para>
- </section>
+ </section>
- <section>
- <title>Look-and-Feel Customization</title>
+ <section>
+ <title>Look-and-Feel Customization</title>
- <para>
- For skinnability implementation, the components use a
- <emphasis>
- <property>style class redefinition method.</property>
- </emphasis>
- Default style classes are mapped on
- <emphasis>
- <property>skin parameters.</property>
- </emphasis>
- </para>
- <para>
- There are two ways to redefine the appearance of all
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- components at once:
- </para>
- <itemizedlist>
- <listitem>
- <para>Redefine the corresponding skin parameters</para>
- </listitem>
- <listitem>
- <para>
- Add to your style sheets
- <emphasis>
- <property>style classes</property>
- </emphasis>
- used by a
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- component
- </para>
- </listitem>
- </itemizedlist>
- </section>
- <section>
- <title>Skin Parameters Redefinition</title>
+ <para> For skinnability implementation, the components use a <emphasis>
+ <property>style class redefinition method.</property>
+ </emphasis> Default style classes are mapped on <emphasis>
+ <property>skin parameters.</property>
+ </emphasis>
+ </para>
+ <para> There are two ways to redefine the appearance of all <emphasis
+ role="bold">
+ <property><rich:columns></property>
+ </emphasis> components at once: </para>
+ <itemizedlist>
+ <listitem>
+ <para>Redefine the corresponding skin parameters</para>
+ </listitem>
+ <listitem>
+ <para> Add to your style sheets <emphasis>
+ <property>style classes</property>
+ </emphasis> used by a <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> component </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section>
+ <title>Skin Parameters Redefinition</title>
- <para>
- Skin parameters redefinition for
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- are the same as for the
- <emphasis role="bold">
- <property><rich:dataTable></property>
- </emphasis>
- <link linkend="SPR">component</link>
- .
- </para>
- </section>
- <section>
- <title>Definition of Custom Style Classes</title>
+ <para> Skin parameters redefinition for <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> are the same as for the <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis>
+ <link linkend="SPR">component</link> . </para>
+ </section>
+ <section>
+ <title>Definition of Custom Style Classes</title>
- <para>
- Custom style classes for
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- are the same as for the
- <emphasis role="bold">
- <property><rich:dataTable></property>
- </emphasis>
- <link linkend="DofCCS">component</link>
- .
- </para>
+ <para> Custom style classes for <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> are the same as for the <emphasis role="bold">
+ <property><rich:dataTable></property>
+ </emphasis>
+ <link linkend="DofCCS">component</link> . </para>
- <para>
- In order to redefine styles for all
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- components on a page using CSS, it's enough to create
- classes with the same names (possible classes could be found
- in the tables
- <link linkend="SPR">above</link>
- ) and define necessary properties in them.
- </para>
+ <para> In order to redefine styles for all <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> components on a page using CSS, it's enough to
+ create classes with the same names (possible classes could be found in
+ the tables <link linkend="SPR">above</link> ) and define necessary
+ properties in them. </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.rich-table-subheadercell{
color: #a0a0a0;
}
...]]></programlisting>
- <para>This is a result:</para>
+ <para>This is a result:</para>
- <figure>
- <title>Redefinition styles with predefined classes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/columns_pc.png" />
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title>Redefinition styles with predefined classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/columns_pc.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <para>
- In the example column header cells color was changed.
- </para>
+ <para> In the example column header cells color was changed. </para>
- <para>
- Also it's possible to change styles of particular
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- component. In this case you should create own style classes
- and use them in corresponding
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- <emphasis>
- <property>styleClass</property>
- </emphasis>
- attributes. An example is placed below:
- </para>
+ <para> Also it's possible to change styles of particular <emphasis
+ role="bold">
+ <property><rich:columns></property>
+ </emphasis> component. In this case you should create own style
+ classes and use them in corresponding <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis>
+ <emphasis>
+ <property>styleClass</property>
+ </emphasis> attributes. An example is placed below: </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="CSS"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="CSS"><![CDATA[...
.myClass {
font-style: oblique;
}
...]]></programlisting>
- <para>
- The
- <emphasis>
- <property>"styleClass"</property>
- </emphasis>
- attribute for
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- is defined as it's shown in the example below:
- </para>
+ <para> The <emphasis>
+ <property>"styleClass"</property>
+ </emphasis> attribute for <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> is defined as it's shown in the example below: </para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[<rich:columns styleClass="myClass">
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[<rich:columns styleClass="myClass">
]]></programlisting>
- <para>This is a result:</para>
+ <para>This is a result:</para>
- <figure>
- <title>
- Redefinition styles with own classes and
- <emphasis>
- <property>styleClass</property>
- </emphasis>
- attributes
- </title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/columns_oc.png" />
- </imageobject>
- </mediaobject>
- </figure>
+ <figure>
+ <title> Redefinition styles with own classes and <emphasis>
+ <property>styleClass</property>
+ </emphasis> attributes </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/columns_oc.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
- <para>
- As it could be seen on the picture above, the font style for
- columns was changed.
- </para>
- </section>
+ <para> As it could be seen on the picture above, the font style for columns was
+ changed. </para>
+ </section>
- <section>
- <title>Relevant Resources Links</title>
- <para>
- <ulink
- url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?c=columns">
- Here
- </ulink>
- you can found some additional information for
- <emphasis role="bold">
- <property><rich:columns></property>
- </emphasis>
- component usage.
- </para>
- </section>
-</section>
\ No newline at end of file
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>
+ <ulink
+ url="http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?c=columns"
+ > Here </ulink> you can found some additional information
+ for <emphasis role="bold">
+ <property><rich:columns></property>
+ </emphasis> component usage. </para>
+ </section>
+</section>
15 years, 10 months
JBoss Rich Faces SVN: r10119 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: atsebro
Date: 2008-08-15 11:44:28 -0400 (Fri, 15 Aug 2008)
New Revision: 10119
Modified:
trunk/docs/userguide/en/src/main/docbook/included/push.xml
Log:
RF-4109: a4j:push and timeout attribute.
Correcting the guide.
Modified: trunk/docs/userguide/en/src/main/docbook/included/push.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/push.xml 2008-08-15 14:56:57 UTC (rev 10118)
+++ trunk/docs/userguide/en/src/main/docbook/included/push.xml 2008-08-15 15:44:28 UTC (rev 10119)
@@ -1,78 +1,80 @@
<?xml version='1.0' encoding='UTF-8'?>
<section>
- <sectioninfo>
- <keywordset>
- <keyword>a4j:push</keyword>
- </keywordset>
- </sectioninfo>
- <table>
- <title>Component identification parameters </title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Value</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>component-type</entry>
- <entry>org.ajax4jsf.Push</entry>
- </row>
- <row>
- <entry>component-family</entry>
- <entry>org.ajax4jsf.components.AjaxPush</entry>
- </row>
- <row>
- <entry>component-class</entry>
- <entry>org.ajax4jsf.component.html.AjaxPush</entry>
- </row>
- <row>
- <entry>renderer-type</entry>
- <entry>org.ajax4jsf.components.AjaxPushRenderer</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <sectioninfo>
+ <keywordset>
+ <keyword>a4j:push</keyword>
+ </keywordset>
+ </sectioninfo>
+ <table>
+ <title>Component identification parameters </title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Value</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>component-type</entry>
+ <entry>org.ajax4jsf.Push</entry>
+ </row>
+ <row>
+ <entry>component-family</entry>
+ <entry>org.ajax4jsf.components.AjaxPush</entry>
+ </row>
+ <row>
+ <entry>component-class</entry>
+ <entry>org.ajax4jsf.component.html.AjaxPush</entry>
+ </row>
+ <row>
+ <entry>renderer-type</entry>
+ <entry>org.ajax4jsf.components.AjaxPushRenderer</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <section>
- <title>Creating on a page</title>
- <programlisting role="XML"><![CDATA[<a4j:push reRender="msg" eventProducer="#{messageBean.addListener}" interval="3000"/>]]></programlisting>
- </section>
+ <section>
+ <title>Creating on a page</title>
+ <programlisting role="XML"><![CDATA[<a4j:push reRender="msg" eventProducer="#{messageBean.addListener}" interval="3000"/>]]></programlisting>
+ </section>
- <section>
- <title>Creating the Component Dynamically Using Java</title>
- <programlisting role="JAVA"><![CDATA[import org.ajax4jsf.component.html.AjaxPush;
+ <section>
+ <title>Creating the Component Dynamically Using Java</title>
+ <programlisting role="JAVA"><![CDATA[import org.ajax4jsf.component.html.AjaxPush;
...
AjaxPush myPush = new AjaxPush();
...]]></programlisting>
- </section>
+ </section>
- <section>
- <title>Key attributes and ways of usage</title>
- <para>The <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis> implements reverse Ajax technique. </para>
+ <section>
+ <title>Key attributes and ways of usage</title>
+ <para>The <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis> implements reverse Ajax technique. </para>
- <para>The bean, for example, could be subscribed to Java Messaging Service (<ulink
- url="http://java.sun.com/products/jms/">JMS</ulink>) topic or it could be implemented as
- Message Driven Bean (MDB) in order to send a message to the <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis> component about an event presence. In the presence of the event some action
- occurs.</para>
+ <para>The bean, for example, could be subscribed to Java Messaging Service
+ (<ulink url="http://java.sun.com/products/jms/">JMS</ulink>)
+ topic or it could be implemented as Message Driven Bean (MDB) in order
+ to send a message to the <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis> component about an event presence. In the presence of the
+ event some action occurs.</para>
- <para>Thus, a work paradigm with the <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis> component corresponds to an anisochronous model, but not to pools as for <emphasis
- role="bold">
- <property><a4j:poll></property>
- </emphasis> <link linkend="poll">component</link>. See the simplest example below:</para>
+ <para>Thus, a work paradigm with the <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis> component corresponds to an anisochronous model, but not
+ to pools as for <emphasis role="bold">
+ <property><a4j:poll></property>
+ </emphasis>
+ <link linkend="poll">component</link>. See the simplest example below:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[...
class MyPushEventListener implements PushEventListener {
public void onEvent(EventObject evt) {
System.out.println(evt.getSource());
@@ -81,11 +83,12 @@
...
]]></programlisting>
- <para>Code for <code>EventListener</code> registration in the bean is placed below:</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="JAVA"><![CDATA[...
+ <para>Code for <code>EventListener</code> registration in the bean is placed
+ below:</para>
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="JAVA"><![CDATA[...
public void addListener(EventListener listener) {
synchronized (listener) {
if (this.listener != listener) {
@@ -94,12 +97,12 @@
...
]]></programlisting>
- <para>A page code for this example is placed below.</para>
+ <para>A page code for this example is placed below.</para>
- <para>
- <emphasis role="bold">Example:</emphasis>
- </para>
- <programlisting role="XML"><![CDATA[...
+ <para>
+ <emphasis role="bold">Example:</emphasis>
+ </para>
+ <programlisting role="XML"><![CDATA[...
<a4j:status startText="in progress" stopText="done"/>
<a4j:form>
<a4j:region>
@@ -115,32 +118,37 @@
...
]]></programlisting>
- <para>The example shows how date is updated on a page in compliance with data taken from a
- server. In the example <emphasis>
- <property>"interval"</property>
- </emphasis> attribute has value "2000". This attribute defines an interval
- in milliseconds between the previous response and the next request. Default value is set to
- "1000" milliseconds (1 second). It's possible to set value equal to
- "0". In this case connection is permanent. </para>
- <para>The <emphasis>
- <property>"timeout"</property>
- </emphasis> attribute defines response waiting time in milliseconds. If a response
- isn't received during this period a connection is aborted and the next request is
- sent. Default value for <emphasis>
- <property>"timeout"</property>
- </emphasis> attribute isn't set. Usage of <emphasis>
- <property>"interval"</property>
- </emphasis> and <emphasis>
- <property>"timeout"</property>
- </emphasis> attributes gives an opportunity to set short polls of queue state or long
- connections, or permanent connection.</para>
+ <para>The example shows how date is updated on a page in compliance with data
+ taken from a server. In the example <emphasis>
+ <property>"interval"</property>
+ </emphasis> attribute has value "2000". This
+ attribute defines an interval in milliseconds between the previous
+ response and the next request. Default value is set to
+ "1000" milliseconds (1 second). It's
+ possible to set value equal to "0". In this case
+ connection is permanent. </para>
+ <para>The <emphasis>
+ <property>"timeout"</property>
+ </emphasis> attribute defines response waiting time in milliseconds.
+ If a response isn't received during this period a connection
+ is aborted and the next request is sent. Default value for <emphasis>
+ <property>"timeout"</property>
+ </emphasis> attribute isn't set. Usage of <emphasis>
+ <property>"interval"</property>
+ </emphasis> and <emphasis>
+ <property>"timeout"</property>
+ </emphasis> attributes gives an opportunity to set short polls of
+ queue state or long connections.</para>
- <note><title>Note:</title><para> The form around the <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis> component is required.</para></note>
- </section>
+ <note>
+ <title>Note:</title>
+ <para> The form around the <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis> component is required.</para>
+ </note>
+ </section>
- <!--section>
+ <!--section>
<title>Key attributes and ways of usage</title>
<para>The main difference between <emphasis role="bold"><property><a4j:push></property></emphasis>and
<emphasis role="bold"><property><a4j:poll></property></emphasis> components
@@ -179,15 +187,17 @@
Thus, component 'push' uses asynchronous model instead of polls.
</para>
</section-->
- <para>
- Information about the <emphasis><property>"process"</property></emphasis> attribute usage you can find <link linkend="process">here</link>.
- </para>
- <section>
- <title>Relevant resources links</title>
- <para>
- <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/push.jsf?c=push">Here</ulink>
- you can found some additional information for <emphasis role="bold">
- <property><a4j:push></property>
- </emphasis> component usage. </para>
- </section>
+ <para> Information about the <emphasis>
+ <property>"process"</property>
+ </emphasis> attribute usage you can find <link linkend="process">here</link>. </para>
+ <section>
+ <title>Relevant resources links</title>
+ <para>
+ <ulink
+ url="http://livedemo.exadel.com/richfaces-demo/richfaces/push.jsf?c=push"
+ >Here</ulink> you can found some additional information for
+ <emphasis role="bold">
+ <property><a4j:push></property>
+ </emphasis> component usage. </para>
+ </section>
</section>
15 years, 10 months
JBoss Rich Faces SVN: r10118 - trunk/docs/userguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: artdaw
Date: 2008-08-15 10:56:57 -0400 (Fri, 15 Aug 2008)
New Revision: 10118
Modified:
trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml
Log:
https://jira.jboss.org/jira/browse/RF-4152 - role updated was added
Modified: trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml 2008-08-15 14:56:39 UTC (rev 10117)
+++ trunk/docs/userguide/en/src/main/docbook/modules/AUGWADParams.xml 2008-08-15 14:56:57 UTC (rev 10118)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<section id="WebApplicationDescriptorParameters">
+<section id="WebApplicationDescriptorParameters" role="updated">
<?dbhtml filename="WebApplicationParameters.html"?>
<title>Web Application Descriptor Parameters</title>
15 years, 10 months
JBoss Rich Faces SVN: r10117 - trunk/docs/userguide/en/src/main/docbook/modules.
by richfaces-svn-commits@lists.jboss.org
Author: artdaw
Date: 2008-08-15 10:56:39 -0400 (Fri, 15 Aug 2008)
New Revision: 10117
Modified:
trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
Log:
https://jira.jboss.org/jira/browse/RF-3594 - role updated was added
Modified: trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-08-15 14:06:34 UTC (rev 10116)
+++ trunk/docs/userguide/en/src/main/docbook/modules/RFCarchitectover.xml 2008-08-15 14:56:39 UTC (rev 10117)
@@ -1288,7 +1288,7 @@
</itemizedlist>
</para>
</section>
- <section id="process">
+ <section id="process" role="updated">
<title>Decide what to process</title>
<para>
The <emphasis><property>"process"</property></emphasis> attribute allows to
15 years, 10 months
JBoss Rich Faces SVN: r10116 - in trunk/docs/cdkguide/en/src/main/docbook: modules and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: smukhina
Date: 2008-08-15 10:06:34 -0400 (Fri, 15 Aug 2008)
New Revision: 10116
Modified:
trunk/docs/cdkguide/en/src/main/docbook/includes/pcreate.xml
trunk/docs/cdkguide/en/src/main/docbook/includes/protoui.xml
trunk/docs/cdkguide/en/src/main/docbook/includes/register.xml
trunk/docs/cdkguide/en/src/main/docbook/includes/rendererbase.xml
trunk/docs/cdkguide/en/src/main/docbook/includes/taghandler.xml
trunk/docs/cdkguide/en/src/main/docbook/includes/template.xml
trunk/docs/cdkguide/en/src/main/docbook/includes/ui_conf.xml
trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml
trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml
Log:
https://jira.jboss.org/jira/browse/RF-3692 - the is checked
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/pcreate.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/pcreate.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/pcreate.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -29,7 +29,7 @@
</mediaobject>
</figure>
<para>
- Here are main directories with descriptions:
+ Here are the main directories with descriptions:
</para>
<table>
<title>The project structure</title>
@@ -77,7 +77,7 @@
</tgroup>
</table>
<para>
- It is necessary to extend predefined structure with the following directories:
+ It is necessary to extend a predefined structure with the following directories:
</para>
<table>
<title>The project structure</title>
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/protoui.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/protoui.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/protoui.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -45,14 +45,14 @@
<para>
All information about styles applied to the <emphasis role="bold">
<property><inputDate></property>
- </emphasis> component is considered in the following chapter.
+ </emphasis> component is provided in the following chapter.
</para>
<para>
This is the result of your prototype which shows a simple page with an input field and an icon indicating that
this is a date field:
</para>
<figure>
- <title>The date field component prototype implemented in HTML with an icon</title>
+ <title>The date field component prototype implementation in HTML with an icon</title>
<mediaobject>
<imageobject>
<imagedata fileref="images/protoui.png"/>
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/register.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/register.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/register.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -17,8 +17,8 @@
in order to create and to deliver the resource.
</para>
<para>
- So, you need to proceed to the <property>inputDate/src/main/config/resources</property> directory and
- register following resources in the <property>resource-config.xml</property> file:
+ Hence, you need to proceed to the <property>inputDate/src/main/config/resources</property> directory and
+ register the following resources in the <property>resource-config.xml</property> file:
</para>
<itemizedlist>
<listitem>
@@ -45,7 +45,7 @@
</listitem>
</itemizedlist>
<para>
- <ulink url="examples/resource-config.xml">Here</ulink> you could find a full example of the <property>resource-config.xml</property>
+ <ulink url="examples/resource-config.xml">Here</ulink> you could find a complete example of the <property>resource-config.xml</property>
for the <emphasis role="bold"><property><inputDate></property></emphasis> component.
</para>
<section id="resconf">
@@ -73,12 +73,12 @@
</resource>
...]]></programlisting>
<para>
- There are two element in the example above:
+ There are two elements in the example above:
an obligatory <emphasis role="bold"><property><name></property></emphasis> element which defines resource name and
a <emphasis role="bold"><property><path></property></emphasis> element which defines the path to the resource.
The <emphasis role="bold"><property><path></property></emphasis> element is optional as it is possible to register
dynamic resources with the <emphasis><property>"class"</property></emphasis> attribute.
- For example you could register dynamic created image as it is shown in the following example:
+ For example you could register a dynamically created image as it is shown in the following example:
</para>
<programlisting role="XML"><![CDATA[...
<resource class="org.mycompany.renderkit.html.images.inputDate">
@@ -108,7 +108,7 @@
</resource>
...]]></programlisting>
<para>
- Sometimes the definition of content type of the resource is needed, so it is possible to add
+ Sometimes the definition of a content type of the resource is needed, so it is possible to add
the <emphasis role="bold"><property><content-type></property></emphasis> element with the proper MIME type.
</para>
<para>
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/rendererbase.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/rendererbase.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/rendererbase.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -40,7 +40,7 @@
The <code>InputDateRendererBase</code> class extends a <code>HeaderResourcesRendererBase</code>
class. In the <code>HeaderResourcesRendererBase</code> class all the <code>encode()</code> methods for
the right resources encoding
- are already realized, so in the <code>InputDateRendererBase</code> class you need to override
+ are already implemented, so in the <code>InputDateRendererBase</code> class you need to override
the <code>decode()</code> method only:
</para>
<programlisting role="JAVA"><![CDATA[ ...
@@ -165,7 +165,7 @@
}
...]]></programlisting>
<para>
- Finally on the the <property>Renderer Response</property> phase the value of the component is rendered back to the view.
+ Finally on the <property>Renderer Response</property> phase the value of the component is rendered back to the view.
The converter is responsible for transforming the object data back in to a string representation, so you need to
implement <code>getValueAsString()</code> method:
</para>
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/taghandler.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/taghandler.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/taghandler.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -18,7 +18,7 @@
indicate which JSF <code>UIComponent</code> is needed for the application.
The custom tag has a corresponding tag handler class, which is responsible for creating the <code>UIComponent</code>
and transferring each declarative JSP tag attribute to the <code>UIComponent</code> instance.
- So you need a custom <property>tag class</property> that returns
+ Hence you need a custom <property>tag class</property> that returns
the component type (<code>org.mycompany.InputDate</code>) and the renderer (<code>org.mycompany.InputDateRenderer</code>).
</para>
<para>
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/template.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/template.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/template.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -132,7 +132,7 @@
<note>
<title>Note:</title>
<para>
- As is easy to see, in the <property>Template Skeleton</property> the Renderer Baseclass is <code>org.ajax4jsf.renderkit.AjaxComponentRendererBase</code>.
+ As it is seen in the <property>Template Skeleton</property> the Renderer Baseclass is <code>org.ajax4jsf.renderkit.AjaxComponentRendererBase</code>.
You need to define Renderer Base class special for the <emphasis role="bold"><property><inputDate></property></emphasis> component.
In the next section <link linkend="rendererbase">"Creating a Renderer Base class"</link>
we will create Renderer Base class <code>org.mycompany.renderkit.InputDateRendererBase</code>.
Modified: trunk/docs/cdkguide/en/src/main/docbook/includes/ui_conf.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/includes/ui_conf.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/includes/ui_conf.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -41,7 +41,7 @@
</para>
</tip>
<para>
- Application instance stores resources defined in the descriptors at application start-up, so it is neccessary to register
+ Application instance stores resources defined in the descriptors at application start-up, so it is necessary to register
following classes:
</para>
<itemizedlist>
Modified: trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -13,20 +13,20 @@
<para>
The major benefit of the JSF framework is a component based architecture.
The component in JSF is not just a set of HTML code rendered and interpreted by a browser.
- The JSF component is a composition of a client-side widget coupled with the server-side object
+ The JSF component is a combination of a client-side widget coupled with the server-side object
that represents component behavior including data validation, events handling, business layers bean binding, etc.
</para>
<para>
- In contrast to a page-oriented development approach,
+ Comparing to a page-oriented development approach,
JSF allows to use a component-oriented paradigm to build a well-designed,
highly customizable UI interface based on reusable components.
</para>
- <para>
- However, there is not yet enough sets of rich components on the market that might enable the rapid application developments.
- One of important problems is a long and very complicated process of the component creation.
- Even the very primitive JSF component requires to write the <property>UIComponent</property> class,
+ <para>
+ However, there is not yet enough sets of rich components on the market that might enable the rapid application development.
+ One of the most important problems is a time-consuming and very complicated process of the component creation.
+ Even the very primitive JSF component requires the <property>UIComponent</property> class,
<property>Renderer class</property>, <property>Tag class</property>
- and a faces configuration file (<property>faces-config.xml</property>).
+ and a faces configuration file (<property>faces-config.xml</property>) to be written.
</para>
<para>
In order to use the component library in a Facelets environment,
@@ -36,9 +36,9 @@
Creation of the rich component takes even more time.
You have to provide the <property>ListenerTagHandler class</property>, a class for creating a listener interface,
an event processing method name in a listener interface,
- an event class, render specific classes for each possible render kit used with the component.
+ an event class, render specific classes for each possible render kit used with the component.
</para>
- <para>
+ <para>
Therefore, the process of JSF component creation is pretty complicated but repeatable.
Jonas Jacobi and John R. Fallows in their "Pro JSF and Ajax Bulling Rich Internet Components" book describe
the process in details.
@@ -46,20 +46,20 @@
for <property>Component Development Kit (CDK)</property> - a sub-project of <property>RichFaces</property>
that allows you to easily create rich components with built-in Ajax support.
- <!--With version 1.1, Ajax4jsf introduces the Component Factory - a Maven-driven process based on CDK.-->
+ <!--With version 1.1, Ajax4jsf introduces the Component Factory - a Maven-driven process based on CDK.-->
</para>
- <para>
- The significant features of the <property>Component Development Kit (CDK)</property> are:
+ <para>
+ The significant features of the <property>Component Development Kit (CDK)</property> are:
</para>
- <itemizedlist>
- <listitem>
+ <itemizedlist>
+ <listitem>
<para>
Quick development start.
A new component development starts from a pre-generated component project template.
- It contains the whole required infrastructure and necessary files generated.
+ It contains the whole required infrastructure and necessary files generated.
It's necessary only to have a <ulink url="http://maven.apache.org">Maven</ulink> installed.
- All other required stuff will be loaded and configured automatically.
- </para>
+ All other required stuff will be loaded and configured automatically.
+ </para>
</listitem>
<listitem>
<para>
@@ -89,7 +89,7 @@
At the moment of generating the initial project structure,
the <property>Unit Test classes</property> are also generated.
The <property>RichFaces</property> also provides the Mock-test facility that allows to emulate
- a run-time environment and automatically test the components before their are gathered into the result library.
+ a run-time environment and automatically test components before their are gathered into the result library.
</para>
</listitem>
<listitem>
@@ -107,6 +107,6 @@
RichFaces comes with a number of predefined skins to get you started,
but you can also easily create your own custom skins.
</para>
- </listitem>
+ </listitem>
</itemizedlist>
</chapter>
\ No newline at end of file
Modified: trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml 2008-08-15 13:49:26 UTC (rev 10115)
+++ trunk/docs/cdkguide/en/src/main/docbook/modules/setup.xml 2008-08-15 14:06:34 UTC (rev 10116)
@@ -30,7 +30,7 @@
</para>
</listitem>
<listitem>
- <para> Browser (on client side) </para>
+ <para> Browser (on the client side) </para>
</listitem>
</itemizedlist>
<para> After the <property>Maven</property> is installed you should configure it. In this case,
@@ -89,15 +89,15 @@
</pluginRepository>
</pluginRepositories>
</profile>
-...]]>
+...]]>
</programlisting>
- <para> In order to activate new profile, please, add the following after the
+ <para> In order to activate a new profile, add the following after the
<property>profiles</property> section: </para>
<programlisting role="XML"><![CDATA[...
<activeProfiles>
<activeProfile>cdk</activeProfile>
</activeProfiles>
-...]]>
+...]]>
</programlisting>
<note>
<title>Note:</title>
@@ -110,7 +110,7 @@
<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
+ at first you need take the following steps to set up the
<property>Project</property> and create your library: </para>
<itemizedlist>
<listitem>
@@ -181,7 +181,7 @@
<version>3.2.1.GA</version>
</dependency>
</dependencies>
-</project>]]>
+</project>]]>
</programlisting>
</listitem>
<listitem>
15 years, 10 months
JBoss Rich Faces SVN: r10115 - in trunk/samples/richfaces-demo/src/main: webapp/richfaces/scrollableDataTable/examples and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2008-08-15 09:49:26 -0400 (Fri, 15 Aug 2008)
New Revision: 10115
Modified:
trunk/samples/richfaces-demo/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java
trunk/samples/richfaces-demo/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml
Log:
RF-4033
Modified: trunk/samples/richfaces-demo/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java
===================================================================
--- trunk/samples/richfaces-demo/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java 2008-08-15 13:07:54 UTC (rev 10114)
+++ trunk/samples/richfaces-demo/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java 2008-08-15 13:49:26 UTC (rev 10115)
@@ -12,6 +12,8 @@
import org.richfaces.component.UIScrollableDataTable;
import org.richfaces.demo.datafilterslider.DemoInventoryItem;
+import org.richfaces.model.SortField;
+import org.richfaces.model.SortOrder;
import org.richfaces.model.selection.SimpleSelection;
/**
@@ -24,6 +26,8 @@
private UIScrollableDataTable table;
+ private SortOrder order = new SortOrder();
+
private int scrollerPage;
private ArrayList<DemoInventoryItem> selectedCars = new ArrayList<DemoInventoryItem>();
@@ -35,6 +39,8 @@
public DataTableScrollerBean() {
initColumnsHeaders();
+ SortField[] fields = {new SortField("price", true)};
+ order.setFields(fields);
}
public List <DemoInventoryItem> getAllCars() {
@@ -254,5 +260,13 @@
public void setScrollerPage(int scrollerPage) {
this.scrollerPage = scrollerPage;
}
+
+ public SortOrder getOrder() {
+ return order;
+ }
+
+ public void setOrder(SortOrder order) {
+ this.order = order;
+ }
}
Modified: trunk/samples/richfaces-demo/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml 2008-08-15 13:07:54 UTC (rev 10114)
+++ trunk/samples/richfaces-demo/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml 2008-08-15 13:49:26 UTC (rev 10115)
@@ -17,7 +17,8 @@
<rich:scrollableDataTable rowKeyVar="rkv" frozenColCount="1" height="400px"
width="700px" id="carList" rows="40" columnClasses="col"
value="#{dataTableScrollerBean.allCars}" var="category" sortMode="single"
- binding="#{dataTableScrollerBean.table}"
+ binding="#{dataTableScrollerBean.table}"
+ sortOrder="#{dataTableScrollerBean.order}"
selection="#{dataTableScrollerBean.selection}">
<rich:column id="make">
15 years, 10 months