JBoss Rich Faces SVN: r16724 - in root/ui-sandbox/trunk/components/tables/ui/src/main: java/org/richfaces/renderkit and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2010-04-06 07:27:37 -0400 (Tue, 06 Apr 2010)
New Revision: 16724
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js
Log:
RF-8098
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java 2010-04-06 11:25:11 UTC (rev 16723)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java 2010-04-06 11:27:37 UTC (rev 16724)
@@ -170,7 +170,7 @@
}
public SortMode getSortMode() {
- return (SortMode) getStateHelper().eval(PropertyKeys.sortMode);
+ return (SortMode) getStateHelper().eval(PropertyKeys.sortMode, SortMode.single);
}
public void setSortMode(SortMode sortMode) {
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-04-06 11:25:11 UTC (rev 16723)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-04-06 11:27:37 UTC (rev 16724)
@@ -47,6 +47,7 @@
import javax.faces.context.FacesContext;
import javax.faces.context.PartialResponseWriter;
import javax.faces.context.ResponseWriter;
+import javax.swing.SortOrder;
import org.ajax4jsf.javascript.JSFunction;
import org.ajax4jsf.javascript.JSReference;
@@ -59,6 +60,7 @@
import org.richfaces.component.UIDataTableBase;
import org.richfaces.component.UIExtendedDataTable;
import org.richfaces.component.util.HtmlUtil;
+import org.richfaces.model.SortMode;
@ResourceDependencies({ @ResourceDependency(library = "javax.faces", name = "jsf-uncompressed.js"),
@ResourceDependency(name = "jquery.js"), @ResourceDependency(name = "jquery.position.js"),
@@ -576,6 +578,9 @@
if (map.get(component.getClientId(context)) != null) {
decodeFiltering(context, component, map.get("rich:filterString"));
}
+ if (map.get(component.getClientId(context)) != null) {
+ decodeSorting(context, component, map.get("rich:sortString"));
+ }
}
private void updateAttribute(FacesContext context, UIComponent component, String attribute, Object value) {
@@ -596,6 +601,19 @@
}
}
+ private void updateSortOrder(FacesContext context, UIComponent component, String value) {
+ SortOrder sortOrder = SortOrder.ASCENDING;
+ try {
+ sortOrder = SortOrder.valueOf(value);
+ } catch (IllegalArgumentException e) {
+ // If value isn't name of enum constant of SortOrder, toggle sortOrder of column.
+ if (SortOrder.ASCENDING.equals(component.getAttributes().get("sortOrder"))) {
+ sortOrder = SortOrder.DESCENDING;
+ }
+ }
+ updateAttribute(context, component, "sortOrder", sortOrder);
+ }
+
private void updateWidthOfColumns(FacesContext context, UIComponent component, String widthString) {
if (widthString != null && widthString.length() > 0) {
String[] widthArray = widthString.split(",");
@@ -647,6 +665,35 @@
}
}
+ private void decodeSorting(FacesContext context, UIComponent component, String value) {
+ if (value != null && value.length() > 0) {
+ UIDataTableBase table = (UIDataTableBase) component;
+ List<Object> sortPriority = new LinkedList<Object>();
+ String[] values = value.split(":");
+ if (Boolean.parseBoolean(values[2]) || SortMode.single.equals(table.getSortMode())) {
+ for (Iterator<UIComponent> iterator = table.columns(); iterator.hasNext();) {
+ UIComponent column = iterator.next();
+ if (values[0].equals(column.getId())) {
+ updateSortOrder(context, column, values[1]);
+ sortPriority.add(values[0]);
+ } else {
+ updateAttribute(context, column, "sortOrder", SortOrder.UNSORTED);
+ }
+ }
+ } else {
+ updateSortOrder(context, component.findComponent(values[0]), values[1]);
+ Collection<?> priority = table.getSortPriority();
+ if (priority != null) {
+ priority.remove(values[0]);
+ sortPriority.addAll(priority);
+ }
+ sortPriority.add(values[0]);
+ }
+ updateAttribute(context, component, "sortPriority", sortPriority);
+ context.getPartialViewContext().getRenderIds().add(component.getClientId(context)); // Use partial re-rendering here.
+ }
+ }
+
/**
* @deprecated
* TODO Remove this method when width in relative units in columns will be implimented.
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js 2010-04-06 11:25:11 UTC (rev 16723)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js 2010-04-06 11:27:37 UTC (rev 16724)
@@ -331,6 +331,17 @@
this.clearFiltering = function() {
this.filter("", "", true);
}
+
+ this.sort = function(id, sortOrder, isClear) {
+ if (typeof(sortOrder) == "string") {
+ sortOrder = sortOrder.toUpperCase();
+ }
+ sendAjax(null, {"rich:sortString" : id + ":" + sortOrder + ":" + isClear}); // TODO Maybe, event model should be used here.
+ }
+
+ this.clearSorting = function() {
+ this.filter("", "", true);
+ }
};
}(window.RichFaces, jQuery));
15 years, 5 months
JBoss Rich Faces SVN: r16723 - root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-04-06 07:25:11 -0400 (Tue, 06 Apr 2010)
New Revision: 16723
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java
Log:
fix setter
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java 2010-04-06 00:29:33 UTC (rev 16722)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java 2010-04-06 11:25:11 UTC (rev 16723)
@@ -77,8 +77,8 @@
return (String)getStateHelper().eval(PropertyKeys.noDataLabel);
}
- public String setNoDataLabel(String noDataLabel) {
- return (String)getStateHelper().put(PropertyKeys.noDataLabel, noDataLabel, "");
+ public void setNoDataLabel(String noDataLabel) {
+ getStateHelper().put(PropertyKeys.noDataLabel, noDataLabel);
}
public boolean isColumnFacetPresent(String facetName) {
15 years, 5 months
JBoss Rich Faces SVN: r16722 - in root/cdk/trunk/plugins: annotations/src/main/java/org/richfaces/cdk/annotations and 48 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-04-05 20:29:33 -0400 (Mon, 05 Apr 2010)
New Revision: 16722
Added:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyModel.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/MockController.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/DescriptionProcessorTest.java
Removed:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Property.java
Modified:
root/cdk/trunk/plugins/annotations/src/main/java/javax/annotation/Nullable.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/EventName.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/JsfBehaviorRenderer.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/JsfValidator.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Signature.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/SubComponent.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Tag.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TagType.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TestType.java
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/base-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/column-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/command-button-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/core-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/direct-link-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/events-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/focus-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/form-form-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/graphic-image-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/i18n-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/image-button-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/input-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/input-secret-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/input-textarea-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ActionSource.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ActionSource2.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.EditableValueHolder.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIColumn.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UICommand.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIComponent.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIData.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIForm.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIGraphic.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIInput.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIMessage.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIMessages.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UINamingContainer.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIOutcomeTarget.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIOutput.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIPanel.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIParameter.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectBoolean.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectItem.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectItems.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectMany.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectOne.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIViewRoot.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ValueHolder.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/link-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/list-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/listbox-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/menu-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/message-message-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/messages-messages-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-format-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-label-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-resource-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-text-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/panel-grid-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/panel-group-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectmany-checkbox-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectmany-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectone-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectone-radio-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/table-props.xml
root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/text-props.xml
root/cdk/trunk/plugins/attributes/pom.xml
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Adapters.java
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Attribute.java
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/ContainerType.java
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Element.java
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/KeyedType.java
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Schema.java
root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/SchemaSet.java
root/cdk/trunk/plugins/attributes/src/test/java/org/richfaces/cdk/attributes/AttributesTest.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/DescriptionProcessorImpl.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/BeanModelBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Properties.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/BehaviorBean.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ComponentBean.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ConverterBean.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ElementBeanBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyAdapter.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ValidatorBean.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/package-info.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/CdkTestRunner.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/ComponentProcessorTest.java
root/cdk/trunk/plugins/maven-cdk-plugin/.svnignore
root/cdk/trunk/plugins/maven-cdk-plugin/pom.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/pom.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/java/org/richfaces/cdk/test/component/AbstractTestComponent.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/java/org/richfaces/cdk/test/component/UITestCommand.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/java/org/richfaces/cdk/test/event/TestEvent.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/templates/testComponent.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/verify.bsh
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/settings.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/pom.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/config/faces-config.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/java/org/richfaces/cdk/component/AbstractTestPanel.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/java/org/richfaces/cdk/renderkit/AbstractTestPanelRenderer.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/java/org/richfaces/cdk/renderkit/SimpleTestRenderer.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/templates/testPanel.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/verify.bsh
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/maven/MavenLogger.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/AbstractCDKMojo.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/AbstractGenerateMojo.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/CompileMojo.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/GenerateMojo.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/Library.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/Renderkit.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/SkinInfo.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/Taglib.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/mdo/resource-config.mdo
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/VM_global_library.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/component/UIClass.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/component/config.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/component/template.jspx
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/archetype/src/main/java/images/BaseImage.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/archetype/src/main/resources/images/README.txt
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/archetype/src/test/java/images/BaseImageTest.java
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/calendar.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/color-picker.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/combobox.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/context-menu.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/core.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/data-filter-slider.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/data-table.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/datascroller.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/drag-drop.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/dropdown-menu.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/editor.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/extended-data-table.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/file-upload.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/gmap.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inplace-input.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inplace-select.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inputnumber-slider.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inputnumber-spinner.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/layout.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/list-shuttle.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/menu-components.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/message.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/modal-panel.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/ordering-list.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/paint2d.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/panel.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/panelbar.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/panelmenu.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/pick-list.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/progress-bar.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/scrollable-data-table.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/separator.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/simple-toggle-panel.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/spacer.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/suggestionbox.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tab-panel.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/toggle-panel.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tool-bar.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tooltip.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tree.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/virtual-earth.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/extclasses/extended.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/extclasses/extended_classes.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/skin.properties
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/skin.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/component-dependencies.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/faces-config.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/resources-config.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/taglib.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/tld.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/xcss.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/component-dependencies.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/faces-config.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/resources-config.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/taglib.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/tld.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/xcss.vm
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/component/theme.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/css/theme.xcss
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/template/theme.jspx
root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/themes/theme.properties
root/cdk/trunk/plugins/maven-cdk-plugin/src/site/apt/index.apt
root/cdk/trunk/plugins/maven-cdk-plugin/src/site/apt/usage.apt
root/cdk/trunk/plugins/maven-cdk-plugin/src/site/resources/images/exadel_logo.jpg
root/cdk/trunk/plugins/maven-cdk-plugin/src/site/site.xml
root/cdk/trunk/plugins/xinclude/pom.xml
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/sax/ProcessingException.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/sax/SAXConsumer.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/sax/XIncludeTransformer.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/PointerPart.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/ShorthandPart.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/UnsupportedPart.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XPointer.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XPointerContext.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XPointerPart.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XmlnsPart.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/util/dom/DOMStreamer.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/util/dom/DOMUtils.java
root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/util/dom/ElementInfo.java
root/cdk/trunk/plugins/xinclude/src/main/javacc/xpointer-fw.jj
root/cdk/trunk/plugins/xinclude/src/test/java/org/apache/cocoon/pipeline/component/sax/XIncludeTransformerTest.java
root/cdk/trunk/plugins/xinclude/src/test/resources/just-text.txt
root/cdk/trunk/plugins/xinclude/src/test/resources/test.xml
root/cdk/trunk/plugins/xinclude/src/test/resources/test.xslt
root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-deprecated_xpointer.xml
root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-fallback.xml
root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-text-only.xml
root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-xml.xml
root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-xpointer.xml
Log:
CODING IN PROGRESS - issue RF-8567: Cleanup Annotation processor code
https://jira.jboss.org/jira/browse/RF-8567
set svn:keywords to track changes
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/javax/annotation/Nullable.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/EventName.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/JsfBehaviorRenderer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/JsfValidator.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Signature.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Modified: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/SubComponent.java
===================================================================
--- root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/SubComponent.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/SubComponent.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -1,5 +1,5 @@
/*
- * $Id: JsfComponent.java 16684 2010-03-30 12:16:40Z Alex.Kolonitsky $
+ * $Id$
*
* License Agreement.
*
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/SubComponent.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Tag.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TagType.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TestType.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/base-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/column-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/command-button-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/core-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/direct-link-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/events-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/focus-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/form-form-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/graphic-image-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/i18n-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/image-button-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/input-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/input-secret-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/input-textarea-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ActionSource.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ActionSource2.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.EditableValueHolder.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIColumn.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UICommand.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIComponent.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIData.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIForm.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIGraphic.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIInput.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIMessage.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIMessages.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UINamingContainer.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIOutcomeTarget.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIOutput.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIPanel.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIParameter.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectBoolean.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectItem.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectItems.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectMany.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UISelectOne.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.UIViewRoot.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ValueHolder.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/link-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/list-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/listbox-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/menu-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/message-message-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/messages-messages-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-format-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-label-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-resource-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/output-text-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/panel-grid-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/panel-group-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectmany-checkbox-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectmany-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectone-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/selectone-radio-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/table-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/annotations/src/main/resources/META-INF/cdk/attributes/text-props.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/pom.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Adapters.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Attribute.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/ContainerType.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Element.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/KeyedType.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/Schema.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/main/java/org/richfaces/cdk/attributes/SchemaSet.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/attributes/src/test/java/org/richfaces/cdk/attributes/AttributesTest.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -60,7 +60,7 @@
this.parser = parser;
}
- public void process(SourceUtils.BeanProperty beanProperty, PropertyBase attribute) {
+ protected void processAttribute(SourceUtils.BeanProperty beanProperty, PropertyBase attribute) {
attribute.setType(beanProperty.getType());
@@ -223,7 +223,7 @@
properties.addAll(sourceUtils.getAbstractBeanProperties(element));
// TODO - encapsulate attribute builder into utility class.
for (BeanProperty beanProperty : properties) {
- process(beanProperty, component.getOrCreateAttribute(beanProperty.getName()));
+ processAttribute(beanProperty, component.getOrCreateAttribute(beanProperty.getName()));
}
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -189,7 +189,7 @@
final void processFacet(Facet facet, FacetModel facetModel, String docComment) {
setDescription(facetModel, facet.description(), docComment);
facetModel.setGenerate(facet.generate());
- }
+ }
final void setComponeneFamily(TypeElement componentElement, ComponentModel component, String family) {
if (!Strings.isEmpty(family)) {
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/DescriptionProcessorImpl.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/DescriptionProcessorImpl.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/DescriptionProcessorImpl.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -25,6 +25,7 @@
import org.richfaces.cdk.annotations.Description;
import org.richfaces.cdk.model.DescriptionGroup;
+import org.richfaces.cdk.util.Strings;
/**
* <p class="changed_added_4_0"></p>
@@ -35,14 +36,39 @@
@Override
public void processDescription(DescriptionGroup model, Description description, String docComment) {
- // TODO Auto-generated method stub
-
+ if (!Strings.isEmpty(docComment)) {
+ model.setDescription(docComment);
+ }
+ if (description != null) {
+ setIcon(model, description);
+ if (!Strings.isEmpty(description.displayName())) {
+ model.setDisplayname(description.displayName());
+ }
+ if (!Strings.isEmpty(description.value())) {
+ model.setDescription(description.value());
+ }
+ }
}
@Override
public void processDescription(DescriptionGroup model, Description description) {
- // TODO Auto-generated method stub
+ processDescription(model, description,null);
}
+ protected void setIcon(DescriptionGroup component, Description icon) {
+ if (null != icon && (!Strings.isEmpty(icon.smallIcon()) || !Strings.isEmpty(icon.largeIcon()))) {
+ DescriptionGroup.Icon iconValue = new DescriptionGroup.Icon();
+ if (!Strings.isEmpty(icon.smallIcon())) {
+ iconValue.setSmallIcon(icon.smallIcon());
+ }
+
+ if (!Strings.isEmpty(icon.largeIcon())) {
+ iconValue.setLargeIcon(icon.largeIcon());
+ }
+
+ component.setIcon(iconValue);
+ }
+ }
+
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -10,6 +10,7 @@
import org.richfaces.cdk.model.ComponentModel;
import org.richfaces.cdk.model.ConverterModel;
import org.richfaces.cdk.model.DescriptionGroup;
+import org.richfaces.cdk.model.FacetModel;
import org.richfaces.cdk.model.ModelElementBase;
import org.richfaces.cdk.model.TagModel;
import org.richfaces.cdk.model.ValidatorModel;
@@ -33,6 +34,9 @@
@Inject
private NamingConventions namingConventions;
+
+ @Inject
+ private DescriptionProcessor descriptionProcessor;
public SourceUtils getSourceUtils() {
return this.sourceUtils.get();
@@ -79,38 +83,6 @@
}
}
- protected void setIcon(DescriptionGroup component, Description icon) {
- if (null != icon && (!Strings.isEmpty(icon.smallIcon()) || !Strings.isEmpty(icon.largeIcon()))) {
- DescriptionGroup.Icon iconValue = new DescriptionGroup.Icon();
-
- if (!Strings.isEmpty(icon.smallIcon())) {
- iconValue.setSmallIcon(icon.smallIcon());
- }
-
- if (!Strings.isEmpty(icon.largeIcon())) {
- iconValue.setLargeIcon(icon.largeIcon());
- }
-
- component.setIcon(iconValue);
- }
- }
-
- protected void setDescription(DescriptionGroup component, Description description, String docComment) {
- if (!Strings.isEmpty(docComment)) {
- component.setDescription(docComment);
- }
- if (description != null) {
- setIcon(component, description);
- if (!Strings.isEmpty(description.displayName())) {
- component.setDisplayname(description.displayName());
- }
- if (!Strings.isEmpty(description.value())) {
- component.setDescription(description.value());
- }
- }
-
- }
-
protected void setClassNames(TypeElement componentElement, ModelElementBase modelElement,
String generatedClass) {
@@ -124,10 +96,6 @@
}
- protected ClassName asClassDesctiption(TypeElement componentElement) {
- return new ClassName(componentElement.getQualifiedName().toString());
- }
-
protected String getDocComment(TypeElement componentElement) {
return null != componentElement ? getSourceUtils().getDocComment(componentElement) : null;
}
@@ -147,4 +115,8 @@
public void setNamingConventions(NamingConventions namingConventions) {
this.namingConventions = namingConventions;
}
+
+ protected void setDescription(DescriptionGroup model, Description description, String docComment) {
+ descriptionProcessor.processDescription(model, description,docComment);
+ }
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/BeanModelBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/BeanModelBase.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/BeanModelBase.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -59,7 +59,7 @@
public PropertyBase getOrCreateAttribute(String attributeName) {
PropertyBase attribute = getAttribute(attributeName);
if (null == attribute) {
- attribute = new Property();
+ attribute = new PropertyModel();
attribute.setName(attributeName);
attributes.add(attribute);
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Properties.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Properties.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Properties.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -33,14 +33,14 @@
* @author asmirnov(a)exadel.com
*/
public class Properties {
- private List<? extends Property> properties = Lists.newArrayList();
+ private List<? extends PropertyModel> properties = Lists.newArrayList();
/**
* <p class="changed_added_4_0"></p>
*
* @return the properties
*/
- public List<? extends Property> getProperties() {
+ public List<? extends PropertyModel> getProperties() {
return properties;
}
@@ -49,7 +49,7 @@
*
* @param properties the properties to set
*/
- public void setProperties(List<? extends Property> properties) {
+ public void setProperties(List<? extends PropertyModel> properties) {
this.properties = properties;
}
}
Deleted: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Property.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Property.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Property.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -1,33 +0,0 @@
-/**
- * License Agreement.
- *
- * Rich Faces - 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.cdk.model;
-
-/**
- * That class represents JSF component property.
- * @author asmirnov(a)exadel.com
- *
- */
-public class Property extends PropertyBase {
-
-}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -336,6 +336,6 @@
@Override
public String toString() {
- return "Property {name: " + getName() + ", type: " + getType().getName() + "}";
+ return "PropertyModel {name: " + getName() + ", type: " + getType().getName() + "}";
}
}
Copied: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyModel.java (from rev 16721, root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/Property.java)
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyModel.java (rev 0)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyModel.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -0,0 +1,33 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - 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.cdk.model;
+
+/**
+ * That class represents JSF component property.
+ * @author asmirnov(a)exadel.com
+ *
+ */
+public class PropertyModel extends PropertyBase {
+
+}
Property changes on: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererTemplateParser.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -37,7 +37,7 @@
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.EventName;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
import org.richfaces.cdk.model.PropertyBase;
import org.richfaces.cdk.model.RenderKitModel;
import org.richfaces.cdk.model.RendererModel;
@@ -226,8 +226,8 @@
}
}
- private Property buildProperty(Attribute templateAttribute) {
- Property rendererProperty = new Property();
+ private PropertyModel buildProperty(Attribute templateAttribute) {
+ PropertyModel rendererProperty = new PropertyModel();
rendererProperty.setName(templateAttribute.getName());
rendererProperty.setDefaultValue(templateAttribute.getDefaultValue());
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/BehaviorBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/BehaviorBean.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/BehaviorBean.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -25,7 +25,7 @@
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.FacesId;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
import org.richfaces.cdk.model.AttributeModel;
import javax.xml.bind.annotation.XmlElement;
@@ -58,7 +58,7 @@
@Override
@XmlElement(name = "property", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE, type = PropertyBean.class)
@XmlJavaTypeAdapter(PropertyAdapter.class)
- public List<Property> getProperties() {
+ public List<PropertyModel> getProperties() {
return super.getProperties();
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ComponentBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ComponentBean.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ComponentBean.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -29,7 +29,7 @@
import org.richfaces.cdk.model.EventModel;
import org.richfaces.cdk.model.FacesId;
import org.richfaces.cdk.model.FacetModel;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
import org.richfaces.cdk.model.AttributeModel;
import org.richfaces.cdk.model.TagModel;
@@ -74,7 +74,7 @@
@Override
@XmlElement(name = "property", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE, type = PropertyBean.class)
@XmlJavaTypeAdapter(PropertyAdapter.class)
- public List<Property> getProperties() {
+ public List<PropertyModel> getProperties() {
return super.getProperties();
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ConverterBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ConverterBean.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ConverterBean.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -24,7 +24,7 @@
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.FacesId;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
import org.richfaces.cdk.model.AttributeModel;
import javax.xml.bind.annotation.XmlElement;
@@ -60,7 +60,7 @@
@Override
@XmlElement(name = "property", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE, type = PropertyBean.class)
@XmlJavaTypeAdapter(PropertyAdapter.class)
- public List<Property> getProperties() {
+ public List<PropertyModel> getProperties() {
return super.getProperties();
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ElementBeanBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ElementBeanBase.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ElementBeanBase.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -25,27 +25,28 @@
import com.google.common.collect.Lists;
import org.richfaces.cdk.model.AttributeModel;
import org.richfaces.cdk.model.ConfigExtension;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
import org.richfaces.cdk.model.PropertyBase;
import java.util.ArrayList;
import java.util.List;
/**
+ * TODO - is the tho different collections are necessary ?
* @author akolonitsky
* @since Mar 19, 2010
*/
public abstract class ElementBeanBase<E extends ConfigExtension> extends ExtensibleBean<E> {
- private List<Property> properties = Lists.newArrayList();
+ private List<PropertyModel> properties = Lists.newArrayList();
private List<AttributeModel> attributes = Lists.newArrayList();
- public List<Property> getProperties() {
+ public List<PropertyModel> getProperties() {
return properties;
}
- public void setProperties(List<Property> properties) {
+ public void setProperties(List<PropertyModel> properties) {
this.properties = properties;
}
@@ -66,8 +67,8 @@
public void setAllProperties(List<PropertyBase> allProperties) {
for (PropertyBase propertyBase : allProperties) {
- if (propertyBase instanceof Property) {
- properties.add((Property) propertyBase);
+ if (propertyBase instanceof PropertyModel) {
+ properties.add((PropertyModel) propertyBase);
}
if (propertyBase instanceof AttributeModel) {
attributes.add((AttributeModel) propertyBase);
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyAdapter.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyAdapter.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyAdapter.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -23,23 +23,23 @@
package org.richfaces.cdk.xmlconfig.model;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
/**
* <p class="changed_added_4_0"></p>
* @author asmirnov(a)exadel.com
*
*/
-public class PropertyAdapter extends AdapterBase<PropertyBean, Property> {
+public class PropertyAdapter extends AdapterBase<PropertyBean, PropertyModel> {
@Override
- protected Class<? extends PropertyBean> getBeanClass(Property prop) {
+ protected Class<? extends PropertyBean> getBeanClass(PropertyModel prop) {
return PropertyBean.class;
}
@Override
- protected Class<? extends Property> getModelClass(PropertyBean bean) {
- return Property.class;
+ protected Class<? extends PropertyModel> getModelClass(PropertyBean bean) {
+ return PropertyModel.class;
}
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ValidatorBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ValidatorBean.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/ValidatorBean.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -24,7 +24,7 @@
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.FacesId;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
import org.richfaces.cdk.model.AttributeModel;
import javax.xml.bind.annotation.XmlElement;
@@ -59,7 +59,7 @@
@Override
@XmlElement(name = "property", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE, type = PropertyBean.class)
@XmlJavaTypeAdapter(PropertyAdapter.class)
- public List<Property> getProperties() {
+ public List<PropertyModel> getProperties() {
return super.getProperties();
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/package-info.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/package-info.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/package-info.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -16,7 +16,7 @@
@XmlJavaTypeAdapters({
@XmlJavaTypeAdapter(type = ClassName.class, value = ClassAdapter.class),
@XmlJavaTypeAdapter(type = AttributeModel.class, value = AttributeAdapter.class),
- @XmlJavaTypeAdapter(type = Property.class, value = PropertyAdapter.class),
+ @XmlJavaTypeAdapter(type = PropertyModel.class, value = PropertyAdapter.class),
@XmlJavaTypeAdapter(type = FacesId.class, value = FacesIdAdapter.class),
@XmlJavaTypeAdapter(type = ComponentLibrary.class, value = FacesConfigAdapter.class)
})
@@ -31,5 +31,5 @@
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.FacesId;
-import org.richfaces.cdk.model.Property;
+import org.richfaces.cdk.model.PropertyModel;
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/CdkTestRunner.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/CdkTestRunner.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/CdkTestRunner.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -130,7 +130,7 @@
return injector.getInstance(testClass);
}
- protected static final class FieldModule extends AbstractModule {
+ protected static final class FieldModule extends AbstractModule implements MockController {
final Map<Field, Binding> fields;
public FieldModule(Map<Field, Binding> fields) {
@@ -140,7 +140,8 @@
@Override
@SuppressWarnings("unchecked")
protected void configure() {
-
+ // Bind mock controllet to this instance, to automatically replay/verify all mocks created by runner.
+ bind(MockController.class).toInstance(this);
// map field values by type
for (Field field : fields.keySet()) {
TypeLiteral literal = TypeLiteral.get(field.getGenericType());
@@ -185,6 +186,24 @@
}
}
}
+
+ @Override
+ public void replay() {
+ for (Binding field : fields.values()) {
+ if(null != field.value){
+ EasyMock.replay(field.value);
+ }
+ }
+ }
+
+ @Override
+ public void verify() {
+ for (Binding field : fields.values()) {
+ if(null != field.value){
+ EasyMock.verify(field.value);
+ }
+ }
+ }
}
protected static final class Binding {
@@ -195,7 +214,7 @@
private Map<Field, Binding> getMockValues(Set<Field> testFields) {
Map<Field, Binding> mocksAndStubs = new HashMap<Field, Binding>();
-
+ // TODO - create annotation attribute that tells runner to use the scme Mock Controller to create related mocks.
for (Field field : testFields) {
if (field.getAnnotation(Mock.class) != null) {
Binding bind = new Binding();
Added: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/MockController.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/MockController.java (rev 0)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/MockController.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -0,0 +1,43 @@
+/*
+ * $Id$
+ *
+ * License Agreement.
+ *
+ * Rich Faces - 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.cdk;
+
+/**
+ * <p class="changed_added_4_0">Instance of an Object implemented this interface can be injected into test class to simplify mock objects manipulations.</p>
+ * @author asmirnov(a)exadel.com
+ *
+ */
+public interface MockController {
+
+ /**
+ * <p class="changed_added_4_0">Repaly all mock objects created by the {@link CdkTestRunner}</p>
+ */
+ public void replay();
+
+ /**
+ * <p class="changed_added_4_0">Verify all mock objects created by the {@link CdkTestRunner}</p>
+ */
+ public void verify();
+
+}
Property changes on: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/MockController.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java (rev 0)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -0,0 +1,120 @@
+/*
+ * $Id$
+ *
+ * License Agreement.
+ *
+ * Rich Faces - 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.cdk.apt.processors;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.util.Collections;
+
+import javax.lang.model.element.TypeElement;
+
+import org.easymock.EasyMock;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.richfaces.cdk.CdkTestRunner;
+import org.richfaces.cdk.Mock;
+import org.richfaces.cdk.MockController;
+import org.richfaces.cdk.annotations.Attribute;
+import org.richfaces.cdk.apt.SourceUtils;
+import org.richfaces.cdk.apt.SourceUtils.BeanProperty;
+import org.richfaces.cdk.apt.SourceUtils.SuperTypeVisitor;
+import org.richfaces.cdk.model.BeanModelBase;
+import org.richfaces.cdk.model.ClassName;
+import org.richfaces.cdk.model.PropertyModel;
+import org.richfaces.cdk.xmlconfig.CdkEntityResolver;
+import org.richfaces.cdk.xmlconfig.JAXB;
+import org.richfaces.cdk.xmlconfig.model.Fragment;
+
+import com.google.inject.Inject;
+
+/**
+ * <p class="changed_added_4_0"></p>
+ * @author asmirnov(a)exadel.com
+ *
+ */
+(a)RunWith(CdkTestRunner.class)
+public class AttributesProcessorTest extends AnnotationProcessorTest {
+
+ private static final String FOO = "foo";
+
+ private static final String FOO_XML = "foo.xml";
+
+ @Inject
+ private MockController mockController;
+
+ @Inject
+ private AttributesProcessorImpl processor;
+
+ @Mock
+ private DescriptionProcessor descriptionProcessor;
+
+ @Mock
+ private JAXB xmlProcessor;
+
+ @Mock
+ private SourceUtils utils;
+ /**
+ * Test method for {@link org.richfaces.cdk.apt.processors.AttributesProcessorImpl#processType(org.richfaces.cdk.model.BeanModelBase, javax.lang.model.element.TypeElement)}.
+ */
+ @Test
+ public void testProcessType() {
+ BeanModelBase bean = new BeanModelBase();
+ TypeElement element = createMock(TypeElement.class);
+ utils.visitSupertypes(same(element), EasyMock.isA(SuperTypeVisitor.class));
+ expectLastCall();
+ BeanProperty beanProperty = createNiceMock(BeanProperty.class);
+ expect(utils.getBeanPropertiesAnnotatedWith(eq(Attribute.class), same(element))).andReturn(Collections.singleton(beanProperty));
+ expect(utils.getAbstractBeanProperties(element)).andReturn(Collections.<BeanProperty>emptySet());
+ expect(beanProperty.getName()).andReturn(FOO);
+ expect(beanProperty.getType()).andReturn(ClassName.parseName(String.class.getName()));
+ mockController.replay();replay(element,beanProperty);
+ processor.processType(bean, element);
+ mockController.verify();verify(element,beanProperty);
+ assertEquals(1, bean.getAttributes().size());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.cdk.apt.processors.AttributesProcessorImpl#processXmlFragment(org.richfaces.cdk.model.BeanModelBase, java.lang.String[])}.
+ */
+ @Test
+ public void testProcessXmlFragment() {
+ BeanModelBase bean = new BeanModelBase();
+ Fragment fragment = new Fragment();
+ PropertyModel propertyModel = new PropertyModel();
+ propertyModel.setName(FOO);
+ fragment.getProperties().add(propertyModel );
+ expect(xmlProcessor.unmarshal(eq(CdkEntityResolver.URN_ATTRIBUTES+FOO_XML), (String)anyObject(), eq(Fragment.class))).andReturn(fragment);
+ mockController.replay();
+ processor.processXmlFragment(bean, FOO_XML);
+ mockController.verify();
+ assertEquals(1, bean.getAttributes().size());
+ }
+
+ @Override
+ protected Iterable<String> sources() {
+ return Collections.emptySet();
+ }
+
+}
Property changes on: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/ComponentProcessorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/ComponentProcessorTest.java 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/ComponentProcessorTest.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -105,6 +105,9 @@
@Stub
@Source(Sources.RENDERER_TEMPLATES)
private FileManager sources;
+
+ @Stub
+ private DescriptionProcessor descriptionProcessor;
/**
* Test method for
@@ -187,29 +190,7 @@
assertNull( model.getFamily());
}
- @Test
- public void testSetIcon() throws Exception {
- Description icon = createMock(Description.class);
- expect(icon.largeIcon()).andReturn(LARGE_GIF).atLeastOnce();
- expect(icon.smallIcon()).andReturn(SMALL_JPG).atLeastOnce();
- replay(log, utils, componentElement, jaxb, annotation,icon);
- processor.setIcon(model, icon);
- verify(log, utils, componentElement, jaxb,annotation,icon );
- assertNotNull(model.getIcon());
- assertEquals(LARGE_GIF, model.getIcon().getLargeIcon());
- assertEquals(SMALL_JPG, model.getIcon().getSmallIcon());
- }
- @Test
- public void testSetIcon1() throws Exception {
- Description icon = createMock(Description.class);
- expect(icon.largeIcon()).andReturn("").atLeastOnce();
- expect(icon.smallIcon()).andReturn("").atLeastOnce();
- replay(log, utils, componentElement, jaxb, annotation,icon);
- processor.setIcon(model, icon);
- verify(log, utils, componentElement, jaxb,annotation,icon );
- assertNull(model.getIcon());
- }
@Test
public void testProcessFacetsFromProperty() throws Exception {
@@ -222,10 +203,10 @@
expect(property.isExists()).andReturn(true);
expect(facet.description()).andReturn(description);
expect(facet.generate()).andReturn(true);
- expect(this.description.smallIcon()).andReturn("");
- expect(this.description.largeIcon()).andReturn("");
- expect(this.description.displayName()).andReturn("fooFacet").times(2);
- expect(this.description.value()).andReturn("");
+// expect(this.description.smallIcon()).andReturn("");
+// expect(this.description.largeIcon()).andReturn("");
+// expect(this.description.displayName()).andReturn("fooFacet").times(2);
+// expect(this.description.value()).andReturn("");
replay(log, utils, componentElement, jaxb, annotation,property,facet,description);
processor.processFacets(componentElement, model, annotation);
verify(log, utils, componentElement, jaxb,annotation,property,facet,description);
@@ -233,9 +214,9 @@
FacetModel facetModel = Iterables.getOnlyElement(model.getFacets());
assertTrue(facetModel.isGenerate());
assertEquals("foo", facetModel.getName());
- assertEquals("my comment", facetModel.getDescription());
- assertEquals("fooFacet", facetModel.getDisplayname());
- assertNull(facetModel.getIcon());
+// assertEquals("my comment", facetModel.getDescription());
+// assertEquals("fooFacet", facetModel.getDisplayname());
+// assertNull(facetModel.getIcon());
}
@Test
public void testProcessFacetsFromAnnotation() throws Exception {
@@ -245,10 +226,10 @@
expect(facet.name()).andReturn("foo");
expect(facet.description()).andReturn(this.description);
expect(facet.generate()).andReturn(true);
- expect(this.description.smallIcon()).andReturn("");
- expect(this.description.largeIcon()).andReturn("");
- expect(this.description.displayName()).andReturn("fooFacet").times(2);
- expect(this.description.value()).andReturn("");
+// expect(this.description.smallIcon()).andReturn("");
+// expect(this.description.largeIcon()).andReturn("");
+// expect(this.description.displayName()).andReturn("fooFacet").times(2);
+// expect(this.description.value()).andReturn("");
replay(log, utils, componentElement, jaxb, annotation,property,facet,description);
processor.processFacets(componentElement, model, annotation);
verify(log, utils, componentElement, jaxb,annotation,property,facet,description);
@@ -257,8 +238,8 @@
assertTrue(facetModel.isGenerate());
assertEquals("foo", facetModel.getName());
// assertEquals("my comment", facetModel.getDescription());
- assertEquals("fooFacet", facetModel.getDisplayname());
- assertNull(facetModel.getIcon());
+// assertEquals("fooFacet", facetModel.getDisplayname());
+// assertNull(facetModel.getIcon());
}
Added: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/DescriptionProcessorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/DescriptionProcessorTest.java (rev 0)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/DescriptionProcessorTest.java 2010-04-06 00:29:33 UTC (rev 16722)
@@ -0,0 +1,85 @@
+/*
+ * $Id$
+ *
+ * License Agreement.
+ *
+ * Rich Faces - 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.cdk.apt.processors;
+
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+
+import java.util.Collections;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.richfaces.cdk.CdkTestRunner;
+import org.richfaces.cdk.Mock;
+import org.richfaces.cdk.MockController;
+import org.richfaces.cdk.annotations.Description;
+import org.richfaces.cdk.model.DescriptionGroup;
+
+import com.google.inject.Inject;
+
+/**
+ * <p class="changed_added_4_0"></p>
+ * @author asmirnov(a)exadel.com
+ *
+ */
+(a)RunWith(CdkTestRunner.class)
+public class DescriptionProcessorTest extends AnnotationProcessorTest {
+
+ private static final String FOO_FACET = "fooFacet";
+
+ private static final String FOO_BAR_ELEMENT = "Foo bar element";
+
+ @Inject
+ private MockController mockController;
+
+ @Inject
+ private DescriptionProcessorImpl descriptionProcessor;
+
+ @Mock
+ private Description description;
+
+ @Mock
+ private DescriptionGroup bean;
+ /**
+ * Test method for {@link org.richfaces.cdk.apt.processors.DescriptionProcessorImpl#processDescription(org.richfaces.cdk.model.DescriptionGroup, org.richfaces.cdk.annotations.Description, java.lang.String)}.
+ */
+ @Test
+ public void testProcessDescription() {
+ bean.setDescription(FOO_BAR_ELEMENT);expectLastCall();
+ bean.setDisplayname(FOO_FACET);expectLastCall();
+ expect(this.description.smallIcon()).andReturn("");
+ expect(this.description.largeIcon()).andReturn("");
+ expect(this.description.displayName()).andReturn(FOO_FACET).times(2);
+ expect(this.description.value()).andReturn("");
+ mockController.replay();
+ descriptionProcessor.processDescription(bean, description,FOO_BAR_ELEMENT);
+ mockController.verify();
+ }
+
+ @Override
+ protected Iterable<String> sources() {
+ return Collections.emptySet();
+ }
+
+}
Property changes on: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/DescriptionProcessorTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/.svnignore
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/pom.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/pom.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/java/org/richfaces/cdk/test/component/AbstractTestComponent.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/java/org/richfaces/cdk/test/component/UITestCommand.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/java/org/richfaces/cdk/test/event/TestEvent.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/src/main/templates/testComponent.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/annotated-component/verify.bsh
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/settings.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/pom.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/config/faces-config.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/java/org/richfaces/cdk/component/AbstractTestPanel.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/java/org/richfaces/cdk/renderkit/AbstractTestPanelRenderer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/java/org/richfaces/cdk/renderkit/SimpleTestRenderer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/src/main/templates/testPanel.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/xml-configured-component/verify.bsh
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/maven/MavenLogger.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/AbstractCDKMojo.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/AbstractGenerateMojo.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/CompileMojo.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/GenerateMojo.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/Library.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/Renderkit.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/SkinInfo.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/java/org/richfaces/builder/mojo/Taglib.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/mdo/resource-config.mdo
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/VM_global_library.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/component/UIClass.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/component/config.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/component/template.jspx
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/archetype/src/main/java/images/BaseImage.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/archetype/src/main/resources/images/README.txt
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/archetype/src/test/java/images/BaseImageTest.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/calendar.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/color-picker.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/combobox.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/context-menu.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/core.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/data-filter-slider.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/data-table.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/datascroller.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/drag-drop.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/dropdown-menu.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/editor.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/extended-data-table.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/file-upload.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/gmap.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inplace-input.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inplace-select.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inputnumber-slider.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/inputnumber-spinner.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/layout.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/list-shuttle.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/menu-components.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/message.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/modal-panel.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/ordering-list.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/paint2d.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/panel.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/panelbar.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/panelmenu.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/pick-list.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/progress-bar.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/scrollable-data-table.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/separator.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/simple-toggle-panel.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/spacer.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/suggestionbox.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tab-panel.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/toggle-panel.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tool-bar.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tooltip.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/tree.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/baseclasses/virtual-earth.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/extclasses/extended.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/extclasses/extended_classes.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/skin.properties
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/skin/skin.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/component-dependencies.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/faces-config.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/resources-config.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/taglib.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/tld.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates/xcss.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/component-dependencies.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/faces-config.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/resources-config.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/taglib.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/tld.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/templates12/xcss.vm
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/component/theme.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/css/theme.xcss
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/template/theme.jspx
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/main/resources/theme/themes/theme.properties
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/site/apt/index.apt
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/site/apt/usage.apt
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/site/resources/images/exadel_logo.jpg
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/maven-cdk-plugin/src/site/site.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Modified: root/cdk/trunk/plugins/xinclude/pom.xml
===================================================================
--- root/cdk/trunk/plugins/xinclude/pom.xml 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/xinclude/pom.xml 2010-04-06 00:29:33 UTC (rev 16722)
@@ -14,7 +14,7 @@
the specific language governing permissions and limitations under the
License.
-->
- <!-- $Id: pom.xml 699337 2008-09-26 14:24:57Z reinhard $ -->
+ <!-- $Id$ -->
<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/maven-v4_0_0.xsd">
Property changes on: root/cdk/trunk/plugins/xinclude/pom.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/sax/ProcessingException.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/sax/SAXConsumer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/sax/XIncludeTransformer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/PointerPart.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/ShorthandPart.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/UnsupportedPart.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XPointer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XPointerContext.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XPointerPart.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/component/xpointer/XmlnsPart.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/util/dom/DOMStreamer.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/util/dom/DOMUtils.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/java/org/apache/cocoon/pipeline/util/dom/ElementInfo.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/main/javacc/xpointer-fw.jj
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/java/org/apache/cocoon/pipeline/component/sax/XIncludeTransformerTest.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/just-text.txt
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Modified: root/cdk/trunk/plugins/xinclude/src/test/resources/test.xml
===================================================================
--- root/cdk/trunk/plugins/xinclude/src/test/resources/test.xml 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/xinclude/src/test/resources/test.xml 2010-04-06 00:29:33 UTC (rev 16722)
@@ -15,5 +15,5 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- $Id: test.xml 701981 2008-10-06 08:04:01Z reinhard $ -->
+<!-- $Id$ -->
<test/>
\ No newline at end of file
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/test.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Modified: root/cdk/trunk/plugins/xinclude/src/test/resources/test.xslt
===================================================================
--- root/cdk/trunk/plugins/xinclude/src/test/resources/test.xslt 2010-04-05 19:04:09 UTC (rev 16721)
+++ root/cdk/trunk/plugins/xinclude/src/test/resources/test.xslt 2010-04-06 00:29:33 UTC (rev 16722)
@@ -15,7 +15,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- $Id: test.xslt 734169 2009-01-13 16:20:05Z stevendolg $ -->
+<!-- $Id$ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="myParam" />
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/test.xslt
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-deprecated_xpointer.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-fallback.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-text-only.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-xml.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
Property changes on: root/cdk/trunk/plugins/xinclude/src/test/resources/xinclude-xpointer.xml
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
15 years, 5 months
JBoss Rich Faces SVN: r16721 - branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/mediaOutput/examples.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-04-05 15:04:09 -0400 (Mon, 05 Apr 2010)
New Revision: 16721
Modified:
branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/mediaOutput/examples/flashSampleDynamic.xhtml
Log:
OPEN - issue RF-8563: richfaces-demo - Opera 10 - Media Output - SWF Movie isn't displayed
https://jira.jboss.org/jira/browse/RF-8563
RESOLVED - issue RF-8529: Apache Ivy cannot handle framework dependencies for 3.3.3.CR1
https://jira.jboss.org/jira/browse/RF-8529
Modified: branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/mediaOutput/examples/flashSampleDynamic.xhtml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/mediaOutput/examples/flashSampleDynamic.xhtml 2010-04-05 15:07:35 UTC (rev 16720)
+++ branches/community/3.3.X/samples/richfaces-demo/src/main/webapp/richfaces/mediaOutput/examples/flashSampleDynamic.xhtml 2010-04-05 19:04:09 UTC (rev 16721)
@@ -10,7 +10,7 @@
<a4j:outputPanel id="flashPanelDynamic">
<a4j:mediaOutput element="a" id="swfLink" style="display: none;" cacheable="false" session="true"
- createContent="#{mediaBean.paintFlash}" value="#{mediaData}" />
+ createContent="#{mediaBean.paintFlash}" value="#{mediaData}" mimeType="application/x-shockwave-flash"/>
<a4j:outputPanel layout="block" id="myFlashContent" style="width: 200px; height: 200px">
<a href="http://www.adobe.com/go/getflashplayer">
15 years, 5 months
JBoss Rich Faces SVN: r16720 - in root/ui-sandbox/trunk/components/tables/ui/src/main: java/org/richfaces/renderkit and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-04-05 11:07:35 -0400 (Mon, 05 Apr 2010)
New Revision: 16720
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/table.css
Log:
add "no data" facet support
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java 2010-04-05 13:58:25 UTC (rev 16719)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/component/UIDataTableBase.java 2010-04-05 15:07:35 UTC (rev 16720)
@@ -44,7 +44,7 @@
public class UIDataTableBase extends UISequence implements Row {
protected enum PropertyKeys {
- filterVar, sortPriority, sortMode, first, rows
+ filterVar, sortPriority, sortMode, first, rows, noDataLabel
}
public Iterator<UIComponent> columns() {
@@ -68,7 +68,19 @@
public UIComponent getFooter() {
return getFacet("footer");
}
-
+
+ public UIComponent getNoData() {
+ return getFacet("noData");
+ }
+
+ public String getNoDataLabel() {
+ return (String)getStateHelper().eval(PropertyKeys.noDataLabel);
+ }
+
+ public String setNoDataLabel(String noDataLabel) {
+ return (String)getStateHelper().put(PropertyKeys.noDataLabel, noDataLabel, "");
+ }
+
public boolean isColumnFacetPresent(String facetName) {
Iterator<UIComponent> columns = columns();
boolean result = false;
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-04-05 13:58:25 UTC (rev 16719)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-04-05 15:07:35 UTC (rev 16720)
@@ -63,54 +63,8 @@
return count;
}
- protected int getColumnsCount(Iterator<UIComponent> col) {
- int count = 0;
- int currentLength = 0;
- while (col.hasNext()) {
- UIComponent component = (UIComponent) col.next();
- if (component.isRendered()) {
- if (component instanceof Row) {
- // Store max calculated value of previsous rows.
- if (currentLength > count) {
- count = currentLength;
- }
- // Calculate number of columns in row.
- currentLength = getColumnsCount(((Row) component).columns());
- // Store max calculated value
- if (currentLength > count) {
- count = currentLength;
- }
- currentLength = 0;
- } else if (component instanceof org.richfaces.component.UIColumn) {
- // For new row, save length of previsous.
- Map<String, Object> attributes = component.getAttributes();
- if (Boolean.TRUE.equals(attributes.get("breakBefore"))) {
- if (currentLength > count) {
- count = currentLength;
- }
- currentLength = 0;
- }
- Integer colspan = (Integer) attributes.get("colspan");
- // Append colspan of this column
- if (null != colspan && colspan.intValue() != Integer.MIN_VALUE) {
- currentLength += colspan.intValue();
- } else {
- currentLength++;
- }
- } else if (component instanceof UIColumn) {
- // UIColumn always have colspan == 1.
- currentLength++;
- }
- }
- }
-
- if (currentLength > count) {
- count = currentLength;
- }
- return count;
- }
+
-
public void encodeTableStructure(ResponseWriter writer, FacesContext context, UIDataTableBase dataTable) throws IOException {
}
@@ -142,7 +96,7 @@
}
-
+
@Override
protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
UIDataTableBase dataTable = (UIDataTableBase) component;
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-04-05 13:58:25 UTC (rev 16719)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-04-05 15:07:35 UTC (rev 16720)
@@ -1,6 +1,7 @@
package org.richfaces.renderkit;
import java.io.IOException;
+import java.util.Iterator;
import java.util.Map;
import javax.faces.component.UIColumn;
@@ -9,6 +10,8 @@
import javax.faces.context.ResponseWriter;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.richfaces.component.Row;
+import org.richfaces.component.UIDataTableBase;
public abstract class DataTableRowsRenderer extends AbstractRowsRenderer {
@@ -80,6 +83,43 @@
}
}
}
+
+ @Override
+ protected void doEncodeChildren(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
+
+ if(component instanceof UIDataTableBase) {
+ UIDataTableBase dataTable = (UIDataTableBase)component;
+ int rowCount = dataTable.getRowCount();
+ if(rowCount > 0) {
+ super.doEncodeChildren(writer, context, component);
+ } else {
+ int columns = getColumnsCount(dataTable.columns());
+
+ writer.startElement(HTML.TR_ELEMENT, dataTable);
+ writer.startElement(HTML.TD_ELEM, dataTable);
+ writer.writeAttribute("colspan", columns, null);
+
+ String styleClass = (String)dataTable.getAttributes().get("noDataStyleClass");
+ styleClass = styleClass != null ? "rich-nodata-cell " + styleClass : "rich-nodata-cell";
+
+ writer.writeAttribute(HTML.CLASS_ATTRIBUTE, styleClass, null);
+
+ UIComponent noDataFacet = dataTable.getNoData();
+ if(noDataFacet != null && noDataFacet.isRendered() ) {
+ noDataFacet.encodeAll(context);
+ } else {
+ String noDataLabel = dataTable.getNoDataLabel();
+ if(noDataLabel != null) {
+ writer.writeText(noDataLabel, "noDataLabel");
+ }
+ }
+
+ writer.endElement(HTML.TD_ELEM);
+ writer.endElement(HTML.TR_ELEMENT);
+ }
+ }
+
+ }
public void encodeColumnEnd(ResponseWriter writer, FacesContext context, String parentId, UIComponent component) throws IOException {
writer.endElement(getCellElement(context, parentId));
@@ -182,6 +222,54 @@
}
}
+ protected int getColumnsCount(Iterator<UIComponent> col) {
+ int count = 0;
+ int currentLength = 0;
+ while (col.hasNext()) {
+ UIComponent component = (UIComponent) col.next();
+ if (component.isRendered()) {
+ if (component instanceof Row) {
+ // Store max calculated value of previsous rows.
+ if (currentLength > count) {
+ count = currentLength;
+ }
+ // Calculate number of columns in row.
+ currentLength = getColumnsCount(((Row) component).columns());
+ // Store max calculated value
+ if (currentLength > count) {
+ count = currentLength;
+ }
+ currentLength = 0;
+ } else if (component instanceof org.richfaces.component.UIColumn) {
+ // For new row, save length of previsous.
+ Map<String, Object> attributes = component.getAttributes();
+ if (Boolean.TRUE.equals(attributes.get("breakBefore"))) {
+ if (currentLength > count) {
+ count = currentLength;
+ }
+ currentLength = 0;
+ }
+ Integer colspan = (Integer) attributes.get("colspan");
+ // Append colspan of this column
+ if (null != colspan && colspan.intValue() != Integer.MIN_VALUE) {
+ currentLength += colspan.intValue();
+ } else {
+ currentLength++;
+ }
+ } else if (component instanceof UIColumn) {
+ // UIColumn always have colspan == 1.
+ currentLength++;
+ }
+ }
+ }
+
+ if (currentLength > count) {
+ count = currentLength;
+ }
+ return count;
+ }
+
+
public abstract String getTableSkinClass();
public abstract String getFirstRowSkinClass();
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/table.css
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/table.css 2010-04-05 13:58:25 UTC (rev 16719)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/table.css 2010-04-05 15:07:35 UTC (rev 16720)
@@ -21,6 +21,14 @@
padding:4px;
}
+.rich-nodata-cell{
+ border-bottom:1px solid #C0C0C0;
+ border-right:1px solid #C0C0C0;
+ color:#000000;
+ font-family:Arial,Verdana,sans-serif;
+ font-size:11px;
+ padding:4px;
+}
.rich-subtable-row{
}
15 years, 5 months
JBoss Rich Faces SVN: r16719 - root/ui/trunk/components/core/src/main/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-04-05 09:58:25 -0400 (Mon, 05 Apr 2010)
New Revision: 16719
Modified:
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxLog.java
Log:
Removed missing .css file from AbstractAjaxLog
Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxLog.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxLog.java 2010-04-05 13:35:27 UTC (rev 16718)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAjaxLog.java 2010-04-05 13:58:25 UTC (rev 16719)
@@ -38,7 +38,7 @@
*/
@ResourceDependencies(value = {
@ResourceDependency(name = "jquery.js") , @ResourceDependency(name = "richfaces.js") ,
- @ResourceDependency(name = "richfaces-jsf-log.js") , @ResourceDependency(name = "richfaces.css")
+ @ResourceDependency(name = "richfaces-jsf-log.js")
})
@JsfComponent(
tag = @Tag(name = "log"),
15 years, 5 months
JBoss Rich Faces SVN: r16718 - in root/framework/trunk: impl/src/main/java/org/richfaces/component and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-04-05 09:35:27 -0400 (Mon, 05 Apr 2010)
New Revision: 16718
Added:
root/framework/trunk/impl/src/main/java/org/richfaces/context/ComponentMatcherNode.java
root/framework/trunk/impl/src/main/java/org/richfaces/context/ExtendedPartialVisitContext.java
root/framework/trunk/impl/src/main/java/org/richfaces/context/IdParser.java
Removed:
root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialRenderingVisitContext.java
root/framework/trunk/impl/src/main/java/org/richfaces/context/SubcomponentIdsProxiedCollection.java
root/framework/trunk/impl/src/test/java/org/richfaces/context/SubcomponentIdsProxiedCollectionTest.java
Modified:
root/framework/trunk/api/src/main/java/org/richfaces/context/ExtendedVisitContext.java
root/framework/trunk/impl/src/main/java/org/richfaces/component/UIDataAdaptor.java
root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextAjaxOutputTracker.java
root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextImpl.java
Log:
https://jira.jboss.org/jira/browse/RF-7856
Modified: root/framework/trunk/api/src/main/java/org/richfaces/context/ExtendedVisitContext.java
===================================================================
--- root/framework/trunk/api/src/main/java/org/richfaces/context/ExtendedVisitContext.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/api/src/main/java/org/richfaces/context/ExtendedVisitContext.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -21,6 +21,11 @@
*/
package org.richfaces.context;
+import java.util.Collection;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.visit.VisitContext;
+
/**
* @author Nick Belaevski
*
@@ -31,4 +36,7 @@
public ExtendedVisitContextMode getVisitMode();
+ public Collection<String>getDirectSubtreeIdsToVisit(UIComponent component);
+
+ public VisitContext createDirectChildrenVisitContext(UIComponent component, Collection<String> directIds);
}
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/component/UIDataAdaptor.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/component/UIDataAdaptor.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/component/UIDataAdaptor.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -86,6 +86,13 @@
*/
public static final String COMPONENT_TYPE = "org.richfaces.Data";
+ private static final VisitCallback STUB_CALLBACK = new VisitCallback() {
+
+ public VisitResult visit(VisitContext context, UIComponent target) {
+ return VisitResult.ACCEPT;
+ }
+ };
+
private static final Logger LOG = RichfacesLogger.COMPONENTS.getLogger();
/**
@@ -158,7 +165,7 @@
if (isRowAvailable()) {
VisitResult result = VisitResult.ACCEPT;
- if (context instanceof ExtendedVisitContext) {
+ if (visitContext instanceof ExtendedVisitContext) {
result = visitContext.invokeVisitCallback(UIDataAdaptor.this, callback);
if (VisitResult.COMPLETE.equals(result)) {
visitResult = true;
@@ -1185,12 +1192,28 @@
// Visit children, short-circuiting as necessary
if ((result == VisitResult.ACCEPT) && doVisitChildren(visitContext, visitRows)) {
-
if (visitFixedChildren(visitContext, callback, visitRows)) {
return true;
}
- // TODO check doVisitChildren() once again
+ if (visitContext instanceof ExtendedVisitContext) {
+ ExtendedVisitContext extendedVisitContext = (ExtendedVisitContext) visitContext;
+
+ Collection<String> directSubtreeIdsToVisit = extendedVisitContext.getDirectSubtreeIdsToVisit(this);
+ if (directSubtreeIdsToVisit != VisitContext.ALL_IDS) {
+ if (directSubtreeIdsToVisit.isEmpty()) {
+ return false;
+ } else {
+ VisitContext directChildrenVisitContext =
+ extendedVisitContext.createDirectChildrenVisitContext(this, directSubtreeIdsToVisit);
+
+ if (visitFixedChildren(directChildrenVisitContext, STUB_CALLBACK, visitRows)) {
+ return false;
+ }
+ }
+ }
+ }
+
if (visitDataChildren(visitContext, callback, visitRows)) {
return true;
}
Added: root/framework/trunk/impl/src/main/java/org/richfaces/context/ComponentMatcherNode.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/ComponentMatcherNode.java (rev 0)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/ComponentMatcherNode.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -0,0 +1,240 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.context;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+final class ComponentMatcherNode {
+
+ private boolean added;
+
+ private boolean patternNode;
+
+ private String source;
+
+ private boolean hasParentPatternNode;
+
+ private int kidPatternNodesCounter = 0;
+
+ private ComponentMatcherNode parentNode;
+
+ private Map<String, ComponentMatcherNode> idChildren;
+
+ private Map<String, ComponentMatcherNode> patternChildren;
+
+ private Set<String> subtreeIds;
+
+ protected Map<String, ComponentMatcherNode> getChildrenMap(boolean isPattern) {
+ return isPattern ? patternChildren : idChildren;
+ }
+
+ protected Map<String, ComponentMatcherNode> getOrCreateChildrenMap(boolean isPattern) {
+ if (isPattern) {
+ if (patternChildren == null) {
+ patternChildren = new HashMap<String, ComponentMatcherNode>(1);
+ }
+
+ return patternChildren;
+ } else {
+ if (idChildren == null) {
+ idChildren = new HashMap<String, ComponentMatcherNode>();
+ }
+
+ return idChildren;
+ }
+ }
+
+ public String getSource() {
+ return source;
+ }
+
+ public void setSource(String source) {
+ this.source = source;
+ }
+
+ public ComponentMatcherNode getParentNode() {
+ return parentNode;
+ }
+
+ public void setParentNode(ComponentMatcherNode parentNode) {
+ this.parentNode = parentNode;
+ }
+
+ public boolean matches(String shortId) {
+ if (isPatternNode()) {
+ //TODO - modify when real patterns will be supported
+ return true;
+ } else {
+ return source.equals(shortId);
+ }
+ }
+
+ public ComponentMatcherNode getMatchedChild(String shortId) {
+ ComponentMatcherNode node = null;
+ if (idChildren != null) {
+ node = idChildren.get(shortId);
+ }
+
+ if (node == null && patternChildren != null) {
+ for (ComponentMatcherNode child : patternChildren.values()) {
+ if (child.matches(shortId)) {
+ node = child;
+ break;
+ }
+ }
+ }
+
+ return node;
+ }
+
+ public ComponentMatcherNode getChild(String key, boolean isPatternNode) {
+ Map<String, ComponentMatcherNode> childrenMap = getChildrenMap(isPatternNode);
+ if (childrenMap != null) {
+ return childrenMap.get(key);
+ }
+
+ return null;
+ }
+
+ public void addChild(ComponentMatcherNode node) {
+ node.setParentNode(this);
+
+ boolean isPatternNode = node.isPatternNode();
+ Map<String, ComponentMatcherNode> childrenMap = getOrCreateChildrenMap(isPatternNode);
+ if (childrenMap.put(node.getSource(), node) == null) {
+ if (isPatternNode) {
+ increaseKidPatternNodesCounter();
+ }
+
+ if (isPatternNode || this.hasParentPatternNode()) {
+ node.setHasParentPatternNode(true);
+ }
+ }
+ }
+
+ public void removeChild(ComponentMatcherNode node) {
+ boolean isPatternNode = node.isPatternNode();
+ Map<String, ComponentMatcherNode> childrenMap = getChildrenMap(isPatternNode);
+ if (childrenMap != null) {
+ if (node.getParentNode() == this) {
+ node.setParentNode(null);
+ node.setHasParentPatternNode(false);
+ if (childrenMap.remove(node.getSource()) != null) {
+ if (isPatternNode) {
+ decreaseKidPatternNodesCounter();
+ }
+ }
+ }
+ }
+ }
+
+ public boolean hasDirectChildren() {
+ return hasDirectIdChildren() || hasDirectPatternChildren();
+ }
+
+ public boolean hasDirectIdChildren() {
+ return idChildren != null && !idChildren.isEmpty();
+ }
+
+ public boolean hasDirectPatternChildren() {
+ return patternChildren != null && !patternChildren.isEmpty();
+ }
+
+ public void increaseKidPatternNodesCounter() {
+ kidPatternNodesCounter++;
+ ComponentMatcherNode parentNode = getParentNode();
+ if (parentNode != null) {
+ parentNode.increaseKidPatternNodesCounter();
+ }
+ }
+
+ public void decreaseKidPatternNodesCounter() {
+ kidPatternNodesCounter--;
+ ComponentMatcherNode parentNode = getParentNode();
+ if (parentNode != null) {
+ parentNode.decreaseKidPatternNodesCounter();
+ }
+ }
+
+ public boolean hasKidPatternNodes() {
+ return kidPatternNodesCounter > 0;
+ }
+
+ public void markAdded() {
+ added = true;
+ }
+
+ public void markRemoved() {
+ added = false;
+ }
+
+ public boolean isAdded() {
+ return added;
+ }
+
+ public void setHasParentPatternNode(boolean hasParentPatternNode) {
+ this.hasParentPatternNode = hasParentPatternNode;
+ }
+
+ public boolean hasParentPatternNode() {
+ return hasParentPatternNode;
+ }
+
+ public Collection<String> getSubtreeIds() {
+ return subtreeIds;
+ }
+
+ public void addSubtreeId(String subtreeId) {
+ if (subtreeIds == null) {
+ subtreeIds = new HashSet<String>();
+ }
+
+ subtreeIds.add(subtreeId);
+ }
+
+ public void removeSubtreeId(String subtreeId) {
+ if (subtreeIds != null) {
+ subtreeIds.remove(subtreeId);
+ }
+ }
+
+ public Map<String, ComponentMatcherNode> getIdChildren() {
+ return idChildren;
+ }
+
+ public Map<String, ComponentMatcherNode> getPatternChildren() {
+ return patternChildren;
+ }
+
+ public boolean isPatternNode() {
+ return patternNode;
+ }
+
+ public void setPatternNode(boolean patternNode) {
+ this.patternNode = patternNode;
+ }
+}
Added: root/framework/trunk/impl/src/main/java/org/richfaces/context/ExtendedPartialVisitContext.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/ExtendedPartialVisitContext.java (rev 0)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/ExtendedPartialVisitContext.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -0,0 +1,676 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.context;
+
+import java.util.AbstractCollection;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import javax.faces.component.NamingContainer;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UINamingContainer;
+import javax.faces.component.visit.VisitCallback;
+import javax.faces.component.visit.VisitContext;
+import javax.faces.component.visit.VisitHint;
+import javax.faces.component.visit.VisitResult;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.component.AjaxOutput;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class ExtendedPartialVisitContext extends VisitContext implements ExtendedVisitContext {
+
+ /**
+ *
+ */
+ private static final int SHORT_ID_IN_CLIENTID_SEGMENTS_NUMBER = 2;
+
+ // TODO - make this configurable in web.xml
+ private static final char SUB_COMPONENT_SEPARATOR = '@';
+
+ private static final String ANY_WILDCARD = "*";
+
+ private final class CollectionProxy extends AbstractCollection<String> {
+
+ private CollectionProxy() {
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return directNodesMap.isEmpty();
+ }
+
+ @Override
+ public int size() {
+ return directNodesMap.size();
+ }
+
+ @Override
+ public Iterator<String> iterator() {
+ return new IteratorProxy(directNodesMap.keySet().iterator());
+ }
+
+ @Override
+ public boolean add(String o) {
+ return addNode(o);
+ }
+ }
+ // Little proxy collection implementation. We proxy the id
+ // collection so that we can detect modifications and update
+ // our internal state when ids to visit are added or removed.
+
+ // Little proxy iterator implementation used by CollectionProxy
+ // so that we can catch removes.
+ private final class IteratorProxy implements Iterator<String> {
+
+ private Iterator<String> wrapped;
+
+ private String current = null;
+
+ private IteratorProxy(Iterator<String> wrapped) {
+ this.wrapped = wrapped;
+ }
+
+ public boolean hasNext() {
+ return wrapped.hasNext();
+ }
+
+ public String next() {
+ current = wrapped.next();
+
+ return current;
+ }
+
+ public void remove() {
+ if (current != null) {
+ ComponentMatcherNode node = directNodesMap.get(current);
+ if (node != null) {
+ removeNode(node);
+ }
+
+ current = null;
+ }
+
+ wrapped.remove();
+ }
+ }
+
+ private final class DirectSubtreeVisitContext extends VisitContext implements ExtendedVisitContext {
+
+ private final class IdsProxyCollection extends AbstractCollection<String> {
+
+ @Override
+ public Iterator<String> iterator() {
+ throw new UnsupportedOperationException(
+ "iterator() method is not supported by this collection implementation");
+ }
+
+ @Override
+ public int size() {
+ throw new UnsupportedOperationException(
+ "size() method is not supported by this collection implementation");
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return ids.isEmpty();
+ }
+ };
+
+ private Collection<String> ids;
+
+ private IdsProxyCollection idsToVisit;
+
+ private UIComponent startingComponent;
+
+ public DirectSubtreeVisitContext(UIComponent component, Collection<String> ids) {
+ super();
+
+ this.ids = copyCollection(ids);
+ this.idsToVisit = new IdsProxyCollection();
+ this.startingComponent = component;
+ }
+
+ @Override
+ public VisitResult invokeVisitCallback(UIComponent component, VisitCallback callback) {
+ // cancel visiting children for nested naming containers
+ if (component instanceof NamingContainer && !component.equals(startingComponent)) {
+ return VisitResult.REJECT;
+ }
+
+ if (ids == VisitContext.ALL_IDS) {
+ return VisitResult.ACCEPT;
+ }
+
+ String id = buildExtendedComponentId(component);
+ if (ids.contains(id)) {
+ VisitResult result = callback.visit(this, component);
+ ids.remove(id);
+
+ if (!ids.isEmpty()) {
+ return result;
+ } else {
+ return VisitResult.COMPLETE;
+ }
+ }
+
+ return VisitResult.ACCEPT;
+ }
+
+ @Override
+ public Collection<String> getSubtreeIdsToVisit(UIComponent component) {
+ if (!(component instanceof NamingContainer)) {
+ throw new IllegalArgumentException(component.toString());
+ }
+
+ if (startingComponent.equals(component)) {
+ return VisitContext.ALL_IDS;
+ }
+
+ return Collections.emptySet();
+ }
+
+ public Collection<String> getDirectSubtreeIdsToVisit(UIComponent component) {
+ if (!(component instanceof NamingContainer)) {
+ throw new IllegalArgumentException(component.toString());
+ }
+
+ if (startingComponent.equals(component)) {
+ return Collections.unmodifiableCollection(ids);
+ }
+
+ return Collections.emptySet();
+ }
+
+ @Override
+ public FacesContext getFacesContext() {
+ return ExtendedPartialVisitContext.this.getFacesContext();
+ }
+
+ @Override
+ public Set<VisitHint> getHints() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public Collection<String> getIdsToVisit() {
+ return idsToVisit;
+ }
+
+ public ExtendedVisitContextMode getVisitMode() {
+ return ExtendedPartialVisitContext.this.getVisitMode();
+ }
+
+ public VisitContext createDirectChildrenVisitContext(UIComponent component, Collection<String> directIds) {
+ return ExtendedPartialVisitContext.this.createDirectChildrenVisitContext(component, directIds);
+ }
+ }
+
+ private IdParser idParser;
+
+ private boolean limitRender;
+
+ // The client ids to visit
+ private Collection<String> clientIds;
+
+ private Collection<String> shortIds;
+
+ // The FacesContext for this request
+ private FacesContext facesContext;
+
+ // Our visit hints
+ private Set<VisitHint> hints;
+
+ private ComponentMatcherNode rootNode;
+
+ private Map<String, ComponentMatcherNode> directNodesMap;
+
+ /**
+ * Creates a PartialVisitorContext instance.
+ *
+ * @param facesContext
+ * the FacesContext for the current request
+ * @param clientIds
+ * the client ids of the components to visit
+ * @throws NullPointerException
+ * if {@code facesContext} is {@code null}
+ */
+ public ExtendedPartialVisitContext(FacesContext facesContext, Collection<String> clientIds, boolean limitRender) {
+ this(facesContext, clientIds, null, limitRender);
+ }
+
+ /**
+ * Creates a PartialVisitorContext instance with the specified hints.
+ *
+ * @param facesContext
+ * the FacesContext for the current request
+ * @param clientIds
+ * the client ids of the components to visit
+ * @param hints
+ * a the VisitHints for this visit
+ * @throws NullPointerException
+ * if {@code facesContext} is {@code null}
+ */
+ public ExtendedPartialVisitContext(FacesContext facesContext, Collection<String> clientIds, Set<VisitHint> hints,
+ boolean limitRender) {
+
+ if (facesContext == null) {
+ throw new NullPointerException();
+ }
+
+ this.facesContext = facesContext;
+
+ // Initialize our various collections
+ initializeCollections(clientIds);
+
+ // Copy and store hints - ensure unmodifiable and non-empty
+ EnumSet<VisitHint> hintsEnumSet = ((hints == null) || (hints.isEmpty())) ? EnumSet.noneOf(VisitHint.class)
+ : EnumSet.copyOf(hints);
+
+ this.hints = Collections.unmodifiableSet(hintsEnumSet);
+
+ this.limitRender = limitRender;
+ }
+
+ private IdParser getIdParser(String id) {
+ if (idParser == null) {
+ idParser = new IdParser(UINamingContainer.getSeparatorChar(facesContext), SUB_COMPONENT_SEPARATOR);
+ }
+
+ idParser.setId(id);
+
+ return idParser;
+ }
+
+ private static Collection<String> copyCollection(Collection<String> r) {
+ if (r != VisitContext.ALL_IDS) {
+ if (r != null) {
+ return new HashSet<String>(r);
+ } else {
+ return new HashSet<String>();
+ }
+ }
+
+ return r;
+ }
+
+ private static Collection<String> wrapIntoUnmodifiableCollection(Collection<String> c) {
+ if (c != VisitContext.ALL_IDS) {
+ if (c != null && !c.isEmpty()) {
+ return Collections.unmodifiableCollection(c);
+ } else {
+ return Collections.emptySet();
+ }
+ } else {
+ return c;
+ }
+ }
+
+ private ComponentMatcherNode createNode(String patternId) {
+ ComponentMatcherNode node = rootNode;
+
+ IdParser idParser = getIdParser(patternId);
+
+ String idSegment;
+ while ((idSegment = idParser.nextSegment()) != null) {
+ boolean isPattern = ANY_WILDCARD.equals(idSegment);
+ ComponentMatcherNode child = node.getChild(idSegment, isPattern);
+ if (child == null) {
+ child = new ComponentMatcherNode();
+
+ child.setPatternNode(isPattern);
+ child.setSource(idSegment);
+
+ node.addChild(child);
+ }
+
+ node = child;
+ }
+
+ node.markAdded();
+
+ return node;
+ }
+
+ private ComponentMatcherNode findMatchingNode(String clientId) {
+ ComponentMatcherNode node = rootNode;
+
+ IdParser idParser = getIdParser(clientId);
+
+ while (node != null) {
+ String idSegment = idParser.nextSegment();
+ if (idSegment != null) {
+ if (idParser.containsSubComponentSeparator()) {
+ node = node.getChild(idSegment, false);
+ } else {
+ node = node.getMatchedChild(idSegment);
+ }
+ } else {
+ break;
+ }
+ }
+
+ return node;
+ }
+
+ private ComponentMatcherNode findAddedNode(String clientId) {
+ ComponentMatcherNode node = findMatchingNode(clientId);
+
+ if (node != null && !node.isAdded()) {
+ node = null;
+ }
+
+ return node;
+ }
+
+ private void removeNode(ComponentMatcherNode nodeToRemove) {
+ nodeToRemove.markRemoved();
+
+ ComponentMatcherNode node = nodeToRemove;
+ while (node != null && !node.hasDirectChildren()) {
+ ComponentMatcherNode parentNode = node.getParentNode();
+ if (parentNode != null) {
+ parentNode.removeChild(node);
+ node = parentNode;
+ } else {
+ break;
+ }
+ }
+ }
+
+ private boolean addNode(String patternId) {
+ ComponentMatcherNode node = directNodesMap.get(patternId);
+ if (node == null) {
+ node = createNode(patternId);
+ directNodesMap.put(patternId, node);
+
+ ComponentMatcherNode n = node;
+ int addedSegmentsCount = 0;
+ while (n != null && addedSegmentsCount != SHORT_ID_IN_CLIENTID_SEGMENTS_NUMBER) {
+ if (!n.isPatternNode()) {
+ String shortId = n.getSource();
+ if (shortId != null) {
+ int sepIdx = shortId.indexOf(SUB_COMPONENT_SEPARATOR);
+ if (sepIdx > 0) {
+ shortId = shortId.substring(0, sepIdx);
+ }
+
+ addedSegmentsCount++;
+ shortIds.add(shortId);
+ }
+ }
+
+ n = n.getParentNode();
+ }
+
+ n = node;
+ if (!n.hasParentPatternNode()) {
+ n = n.getParentNode();
+
+ while (n != null) {
+ ComponentMatcherNode pNode = n.getParentNode();
+ if (pNode != null) {
+ n.addSubtreeId(patternId);
+ }
+
+ n = pNode;
+ }
+ }
+
+
+ return true;
+ }
+
+ return false;
+ }
+
+ private boolean removeNode(String patternId) {
+ ComponentMatcherNode node = directNodesMap.remove(patternId);
+ if (node != null) {
+ ComponentMatcherNode n = node;
+ if (!n.hasParentPatternNode()) {
+ n = n.getParentNode();
+
+ while (n != null) {
+ ComponentMatcherNode pNode = n.getParentNode();
+ if (pNode != null) {
+ n.removeSubtreeId(patternId);
+ }
+
+ n = pNode;
+ }
+ }
+
+ removeNode(node);
+
+ return true;
+ }
+
+ return false;
+ }
+
+ private String buildExtendedClientId(UIComponent component) {
+ String extendedClientId = component.getClientId(facesContext);
+ String subComponentId = (String) facesContext.getAttributes().get(SUB_COMPONENT_ID);
+ if (subComponentId != null) {
+ StringBuilder sb = new StringBuilder(extendedClientId.length() + 1 /* separator length */ +
+ subComponentId.length());
+
+ sb.append(extendedClientId);
+ sb.append(SUB_COMPONENT_SEPARATOR);
+ sb.append(subComponentId);
+
+ extendedClientId = sb.toString();
+ }
+
+ return extendedClientId;
+ }
+
+ private String buildExtendedComponentId(UIComponent component) {
+ String componentId = component.getId();
+ String subComponentId = (String) facesContext.getAttributes().get(SUB_COMPONENT_ID);
+ if (subComponentId != null) {
+ StringBuilder sb = new StringBuilder(componentId.length() + 1 /* separator length */ +
+ subComponentId.length());
+
+ sb.append(componentId);
+ sb.append(SUB_COMPONENT_SEPARATOR);
+ sb.append(subComponentId);
+
+ componentId = sb.toString();
+ }
+
+ return componentId;
+ }
+
+ /**
+ * @see VisitContext#getFacesContext VisitContext.getFacesContext()
+ */
+ @Override
+ public FacesContext getFacesContext() {
+ return facesContext;
+ }
+
+ /**
+ * @see VisitContext#getHints VisitContext.getHints
+ */
+ @Override
+ public Set<VisitHint> getHints() {
+ return hints;
+ }
+
+ /**
+ * @see VisitContext#getIdsToVisit VisitContext.getIdsToVisit()
+ */
+ @Override
+ public Collection<String> getIdsToVisit() {
+
+ // We just return our clientIds collection. This is
+ // the modifiable (but proxied) collection of all of
+ // the client ids to visit.
+ return clientIds;
+ }
+
+ /**
+ * @see VisitContext#getSubtreeIdsToVisit VisitContext.getSubtreeIdsToVisit()
+ */
+ @Override
+ public Collection<String> getSubtreeIdsToVisit(UIComponent component) {
+
+ // Make sure component is a NamingContainer
+ if (!(component instanceof NamingContainer)) {
+ throw new IllegalArgumentException("Component is not a NamingContainer: " + component);
+ }
+
+ if (!limitRender && PartialViewContextAjaxOutputTracker.hasNestedAjaxOutputs(component)) {
+ return VisitContext.ALL_IDS;
+ }
+
+ String clientId = buildExtendedClientId(component);
+
+ ComponentMatcherNode node = findMatchingNode(clientId);
+ if (node != null) {
+ if (node.hasKidPatternNodes()) {
+ return VisitContext.ALL_IDS;
+ } else {
+ Collection<String> subtreeIds = node.getSubtreeIds();
+ if (subtreeIds != null) {
+ return Collections.unmodifiableCollection(subtreeIds);
+ } else {
+ if (node.hasDirectIdChildren()) {
+ return VisitContext.ALL_IDS;
+ } else {
+ return Collections.emptySet();
+ }
+ }
+ }
+ }
+
+ return Collections.emptySet();
+ }
+
+ public Collection<String>getDirectSubtreeIdsToVisit(UIComponent component) {
+ // Make sure component is a NamingContainer
+ if (!(component instanceof NamingContainer)) {
+ throw new IllegalArgumentException("Component is not a NamingContainer: " + component);
+ }
+
+ Collection<String> result = null;
+ String clientId = component.getClientId(facesContext);
+ ComponentMatcherNode node = findMatchingNode(clientId);
+ boolean hasDirectPatternChildren = false;
+
+ if (node != null) {
+ if (node.hasDirectPatternChildren()) {
+ hasDirectPatternChildren = true;
+ result = VisitContext.ALL_IDS;
+ } else {
+ if (node.hasDirectIdChildren()) {
+ result = new HashSet<String>();
+ result.addAll(node.getIdChildren().keySet());
+ }
+ }
+ }
+
+ if (!hasDirectPatternChildren && !limitRender) {
+ Collection<String> ajaxOutputs =
+ PartialViewContextAjaxOutputTracker.getNestedAjaxOutputs(component);
+
+ if (ajaxOutputs != null && !ajaxOutputs.isEmpty()) {
+ if (result == null) {
+ result = new HashSet<String>();
+ }
+
+ result.addAll(ajaxOutputs);
+ }
+ }
+
+ return wrapIntoUnmodifiableCollection(result);
+ }
+
+ /**
+ * @see VisitContext#invokeVisitCallback VisitContext.invokeVisitCallback()
+ */
+ @Override
+ public VisitResult invokeVisitCallback(UIComponent component, VisitCallback callback) {
+ if (shortIds.contains(component.getId())) {
+ String clientId = buildExtendedClientId(component);
+ ComponentMatcherNode node = findAddedNode(clientId);
+ if (node != null) {
+ VisitResult visitResult = callback.visit(this, component);
+
+ removeNode(clientId);
+
+ if (clientIds.isEmpty() && limitRender) {
+ return VisitResult.COMPLETE;
+ } else {
+ return visitResult;
+ }
+ }
+ }
+
+ if (!limitRender) {
+ if (component instanceof AjaxOutput) {
+ AjaxOutput ajaxOutput = (AjaxOutput) component;
+ if (ajaxOutput.isAjaxRendered()) {
+
+ // TODO - remove explicit nested IDs from update
+ return callback.visit(this, component);
+ }
+ }
+ }
+
+ return VisitResult.ACCEPT;
+ }
+
+ // Called to initialize our various collections.
+ private void initializeCollections(Collection<String> clientIds) {
+ this.rootNode = new ComponentMatcherNode();
+ this.directNodesMap = new HashMap<String, ComponentMatcherNode>();
+ this.shortIds = new HashSet<String>();
+ this.clientIds = new CollectionProxy();
+ this.clientIds.addAll(clientIds);
+ }
+
+ public VisitContext createDirectChildrenVisitContext(UIComponent component, Collection<String> directIds) {
+ // Make sure component is a NamingContainer
+ if (!(component instanceof NamingContainer)) {
+ throw new IllegalArgumentException("Component is not a NamingContainer: " + component);
+ }
+
+ return new DirectSubtreeVisitContext(component, directIds);
+ }
+
+ public ExtendedVisitContextMode getVisitMode() {
+ //TODO version of this context for "execute"
+ return ExtendedVisitContextMode.RENDER;
+ }
+}
Added: root/framework/trunk/impl/src/main/java/org/richfaces/context/IdParser.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/IdParser.java (rev 0)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/IdParser.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -0,0 +1,123 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.context;
+
+final class IdParser {
+
+ private boolean isInShortId = true;
+
+ private String id;
+
+ private int start;
+
+ private int idx;
+
+ private boolean containsSubComponentSeparator;
+
+ private final char namingContainerSeparator;
+
+ private final char subComponentSeparator;
+
+ public IdParser(char namingContainerSeparator, char subComponentSeparator) {
+ super();
+ this.namingContainerSeparator = namingContainerSeparator;
+ this.subComponentSeparator = subComponentSeparator;
+ }
+
+ private void reset() {
+ this.id = null;
+ this.start = 0;
+ this.idx = 0;
+ this.containsSubComponentSeparator = false;
+ this.isInShortId = true;
+ }
+
+ private String findNextInShortId() {
+ String segment = null;
+ boolean found = false;
+
+ for (int index = idx; !found && index < id.length(); index++) {
+ char c = id.charAt(index);
+ if (c == subComponentSeparator) {
+ segment = id.substring(start, index);
+ idx = index + 1;
+ isInShortId = false;
+ found = true;
+ } else if (c == namingContainerSeparator) {
+ segment = id.substring(start, index);
+ idx = index + 1;
+ start = idx;
+ found = true;
+ }
+ }
+
+ if (!found) {
+ segment = id.substring(start);
+ this.id = null;
+ }
+
+ return segment;
+ }
+
+ private String findNextInFullId() {
+ String segment = null;
+ int index = id.indexOf(namingContainerSeparator, idx);
+ if (index < 0) {
+ segment = id.substring(start);
+ this.id = null;
+ } else {
+ segment = id.substring(start, index);
+ isInShortId = true;
+ idx = index + 1;
+ start = idx;
+ }
+
+ return segment;
+ }
+
+ public void setId(String id) {
+ reset();
+ this.id = id;
+ }
+
+ public String nextSegment() {
+ if (this.id == null) {
+ reset();
+ return null;
+ }
+
+ containsSubComponentSeparator = !isInShortId;
+
+ String segment = null;
+ if (isInShortId) {
+ segment = findNextInShortId();
+ } else {
+ segment = findNextInFullId();
+ }
+
+ return segment;
+ }
+
+ public boolean containsSubComponentSeparator() {
+ return containsSubComponentSeparator;
+ }
+}
\ No newline at end of file
Deleted: root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialRenderingVisitContext.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialRenderingVisitContext.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialRenderingVisitContext.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.richfaces.context;
-
-import javax.faces.component.visit.VisitContext;
-import javax.faces.component.visit.VisitContextWrapper;
-
-/**
- * @author Nick Belaevski
- *
- */
-public class PartialRenderingVisitContext extends VisitContextWrapper {
-
- private VisitContext wrappedVisitContext;
-
- private SubcomponentIdsProxiedCollection proxiedIdsCollection;
-
- public PartialRenderingVisitContext(VisitContext wrappedVisitContext) {
- super();
- this.wrappedVisitContext = wrappedVisitContext;
- }
-
- @Override
- public SubcomponentIdsProxiedCollection getIdsToVisit() {
- if (proxiedIdsCollection == null) {
- proxiedIdsCollection = new SubcomponentIdsProxiedCollection(getWrapped().getIdsToVisit());
- }
-
- return proxiedIdsCollection;
- }
-
- @Override
- public VisitContext getWrapped() {
- return wrappedVisitContext;
- }
-}
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextAjaxOutputTracker.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextAjaxOutputTracker.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextAjaxOutputTracker.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -21,6 +21,7 @@
package org.richfaces.context;
+import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -60,13 +61,19 @@
component.getAttributes().remove(ATTRIBUTE_NAME);
}
- static boolean hasNestedAjaxOutputs(UIComponent component) {
+ static Collection<String> getNestedAjaxOutputs(UIComponent component) {
if (!isContainerComponent(component)) {
throw new IllegalArgumentException(component.toString());
}
Set<String> trackedChildrenSet = getTrackedChildrenSet(component, false);
+ return trackedChildrenSet;
+ }
+
+ static boolean hasNestedAjaxOutputs(UIComponent component) {
+ Collection<String> trackedChildrenSet = getNestedAjaxOutputs(component);
+
return trackedChildrenSet != null && !trackedChildrenSet.isEmpty();
}
Modified: root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextImpl.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextImpl.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/PartialViewContextImpl.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -28,7 +28,6 @@
import java.util.Collection;
import java.util.Collections;
import java.util.EnumSet;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
@@ -48,7 +47,6 @@
import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
-import org.richfaces.component.PartiallyEncodedComponent;
import org.richfaces.log.RichfacesLogger;
import org.slf4j.Logger;
@@ -69,8 +67,8 @@
private FacesContext facesContext;
private PartialResponseWriter partialResponseWriter;
- private Set<String> executeIds = null;
- private Set<String> renderIds = null;
+ private Collection<String> executeIds = null;
+ private Collection<String> renderIds = null;
private Boolean ajaxRequest = null;
private Boolean partialRequest = null;
@@ -81,6 +79,8 @@
private boolean released = false;
+ private boolean limitRender = false;
+
public PartialViewContextImpl(FacesContext facesContext, String activatorComponentId, String behaviorEvent) {
super();
@@ -97,8 +97,6 @@
if (executeIds == null) {
executeIds = new LinkedHashSet<String>();
-
- setupExecuteIds(executeIds);
}
return executeIds;
@@ -188,26 +186,31 @@
@Override
public void processPartial(PhaseId phaseId) {
+ PartialViewContext pvc = facesContext.getPartialViewContext();
UIViewRoot viewRoot = facesContext.getViewRoot();
+ Collection<String> executeIds = pvc.getExecuteIds();
+ Collection<String> renderIds = pvc.getRenderIds();
+
+ if (phaseId == PhaseId.APPLY_REQUEST_VALUES) {
+ setupExecuteIds(executeIds);
+ }
+
if (phaseId == PhaseId.APPLY_REQUEST_VALUES
|| phaseId == PhaseId.PROCESS_VALIDATIONS
|| phaseId == PhaseId.UPDATE_MODEL_VALUES) {
- Collection<String> ids = getExecuteIds();
-
// Skip this processing if "none" is specified in the render list,
// or there were no execute phase client ids.
- if (ids == null || ids.isEmpty()) {
+ if (executeIds == null || executeIds.isEmpty()) {
// RELEASE_PENDING LOG ERROR OR WARNING
return;
}
try {
- processComponents(viewRoot, phaseId, ids, facesContext);
+ processComponents(viewRoot, phaseId, executeIds, facesContext);
} catch (Exception e) {
- //TODO log exception
- e.printStackTrace();
+ LOG.error(e.getMessage(), e);
}
// If we have just finished APPLY_REQUEST_VALUES phase, install the
@@ -216,15 +219,14 @@
// partial response writer.
//
if (phaseId == PhaseId.APPLY_REQUEST_VALUES) {
- PartialResponseWriter writer = getPartialResponseWriter();
+ PartialResponseWriter writer = pvc.getPartialResponseWriter();
facesContext.setResponseWriter(writer);
}
} else if (phaseId == PhaseId.RENDER_RESPONSE) {
- Collection<String> ids = getRenderIds();
- setupRenderIds(ids);
+ setupRenderIds(renderIds);
try {
- PartialResponseWriter writer = getPartialResponseWriter();
+ PartialResponseWriter writer = pvc.getPartialResponseWriter();
ResponseWriter orig = facesContext.getResponseWriter();
facesContext.getAttributes().put(ORIGINAL_WRITER, orig);
facesContext.setResponseWriter(writer);
@@ -242,8 +244,9 @@
// Skip this processing if "none" is specified in the render list,
// or there were no render phase client ids.
- if (ids != null && !ids.isEmpty()) {
- processComponents(viewRoot, phaseId, ids, facesContext);
+ if ((renderIds != null && !renderIds.isEmpty()) ||
+ (!limitRender && PartialViewContextAjaxOutputTracker.hasNestedAjaxOutputs(viewRoot))) {
+ processComponents(viewRoot, phaseId, renderIds, facesContext);
}
renderState(facesContext);
@@ -286,6 +289,7 @@
if (visitActivatorComponent(activatorComponentId, callback)) {
ids.addAll(callback.getComponentIds());
+ limitRender = callback.isLimitRender();
if (!Boolean.TRUE.equals(renderAll) && !ids.contains(ALL)) {
addImplicitRenderIds(ids, callback.isLimitRender());
@@ -314,34 +318,33 @@
EnumSet<VisitHint> hints = EnumSet.of(VisitHint.SKIP_UNRENDERED);
VisitCallback visitCallback;
- VisitContext visitContext = VisitContext.createVisitContext(facesContext, Collections.<String>emptySet(),
- hints);
+ VisitContext visitContext;
if (PhaseId.RENDER_RESPONSE.equals(phaseId)) {
- PartialRenderingVisitContext partialRenderingVisitContext = new PartialRenderingVisitContext(visitContext);
- visitCallback = new RenderVisitCallback(facesContext, partialRenderingVisitContext.getIdsToVisit());
- visitContext = partialRenderingVisitContext;
+ visitContext = new ExtendedPartialVisitContext(facesContext, phaseClientIds, hints, limitRender);
+ visitCallback = new RenderVisitCallback(facesContext);
} else {
+ visitContext = VisitContext.createVisitContext(facesContext, phaseClientIds, hints);
visitCallback = new PhaseAwareExecuteVisitCallback(facesContext, phaseId);
}
- visitContext.getIdsToVisit().addAll(phaseClientIds);
component.visitTree(visitContext, visitCallback);
}
- private void renderAll(FacesContext context, UIComponent component) throws IOException {
+ private void renderAll(FacesContext context, UIViewRoot viewRoot) throws IOException {
// If this is a "render all via ajax" request,
// make sure to wrap the entire page in a <render> elemnt
// with the special id of VIEW_ROOT_ID. This is how the client
// JavaScript knows how to replace the entire document with
// this response.
- PartialResponseWriter writer = getPartialResponseWriter();
+ PartialViewContext pvc = context.getPartialViewContext();
+ PartialResponseWriter writer = pvc.getPartialResponseWriter();
writer.startUpdate(PartialResponseWriter.RENDER_ALL_MARKER);
- Iterator<UIComponent> itr = component.getFacetsAndChildren();
- while (itr.hasNext()) {
- UIComponent kid = itr.next();
- kid.encodeAll(context);
+ if (viewRoot.getChildCount() > 0) {
+ for (UIComponent child : viewRoot.getChildren()) {
+ child.encodeAll(context);
+ }
}
writer.endUpdate();
@@ -350,7 +353,8 @@
private void renderState(FacesContext context) throws IOException {
if (!context.getViewRoot().isTransient()) {
// Get the view state and write it to the response..
- PartialResponseWriter writer = getPartialResponseWriter();
+ PartialViewContext pvc = context.getPartialViewContext();
+ PartialResponseWriter writer = pvc.getPartialResponseWriter();
writer.startUpdate(PartialResponseWriter.VIEW_STATE_MARKER);
String state = context.getApplication().getStateManager().getViewState(context);
writer.write(state);
@@ -378,6 +382,7 @@
ajaxRequest = null;
partialRequest = null;
renderAll = null;
+ limitRender = false;
activatorComponentId = null;
behaviorEvent = null;
@@ -388,7 +393,9 @@
UIViewRoot root = facesContext.getViewRoot();
if (root.getFacetCount() > 0) {
if (root.getFacet(UIViewRoot.METADATA_FACET_NAME) != null) {
+ //TODO nick - does ordering matter?
ids.add(UIViewRoot.METADATA_FACET_NAME);
+ //ids.add(0, UIViewRoot.METADATA_FACET_NAME);
}
}
}
@@ -463,11 +470,8 @@
private FacesContext ctx;
- private SubcomponentIdsProxiedCollection proxiedIdsCollection;
-
- private RenderVisitCallback(FacesContext ctx, SubcomponentIdsProxiedCollection proxiedIdsCollection) {
+ private RenderVisitCallback(FacesContext ctx) {
this.ctx = ctx;
- this.proxiedIdsCollection = proxiedIdsCollection;
}
private void logException(Exception e) {
@@ -479,38 +483,24 @@
}
}
- private void encodeUpdateForWholeComponent(UIComponent comp) throws IOException {
+ /* (non-Javadoc)
+ * @see javax.faces.component.visit.VisitCallback#visit(javax.faces.component.visit.VisitContext, javax.faces.component.UIComponent)
+ */
+ public VisitResult visit(VisitContext context, UIComponent target) {
PartialResponseWriter writer = ctx.getPartialViewContext().getPartialResponseWriter();
- writer.startUpdate(comp.getClientId(ctx));
try {
- // do the default behavior...
- comp.encodeAll(ctx);
- } catch (Exception ce) {
- logException(ce);
- }
- writer.endUpdate();
- }
-
- public VisitResult visit(VisitContext context, UIComponent comp) {
- try {
- Collection<String> subComponentIds = proxiedIdsCollection.getSubComponentIds(comp.getClientId(ctx));
- if (subComponentIds != null && !subComponentIds.isEmpty()) {
- if (comp instanceof PartiallyEncodedComponent) {
- PartiallyEncodedComponent partiallyEncodedComponent = (PartiallyEncodedComponent) comp;
- try {
- partiallyEncodedComponent.encodePartially(context, this, subComponentIds);
- } catch (Exception e) {
- logException(e);
- }
- } else {
- encodeUpdateForWholeComponent(comp);
- }
- } else {
- encodeUpdateForWholeComponent(comp);
+ writer.startUpdate(target.getClientId(ctx));
+ try {
+ // do the default behavior...
+ target.encodeAll(ctx);
+ } catch (Exception ce) {
+ logException(ce);
}
- } catch (IOException ex) {
- LOG.error(ex.getMessage(), ex);
+
+ writer.endUpdate();
+ } catch (IOException e) {
+ logException(e);
}
// Once we visit a component, there is no need to visit
@@ -523,8 +513,6 @@
private static final class PartialDelayedInitializationResponseWriter extends PartialResponseWriter {
- private static final String DEFAULT_CHARACTER_ENCODING = "ISO-8859-1";
-
private FacesContext facesContext;
private ResponseWriter responseWriter;
@@ -535,6 +523,9 @@
public PartialDelayedInitializationResponseWriter(FacesContext facesContext) {
super(null);
this.facesContext = facesContext;
+ ExternalContext externalContext = facesContext.getExternalContext();
+ externalContext.setResponseContentType("text/xml");
+ externalContext.setResponseCharacterEncoding(externalContext.getRequestCharacterEncoding());
}
/* (non-Javadoc)
@@ -552,24 +543,23 @@
private ResponseWriter createResponseWriter() {
ExternalContext externalContext = facesContext.getExternalContext();
String characterEncoding = externalContext.getRequestCharacterEncoding();
-
- if (characterEncoding == null) {
- characterEncoding = DEFAULT_CHARACTER_ENCODING;
- }
-
externalContext.setResponseCharacterEncoding(characterEncoding);
Writer outputWriter = null;
try {
- outputWriter = facesContext.getExternalContext().getResponseOutputWriter();
+ outputWriter = externalContext.getResponseOutputWriter();
} catch (IOException e) {
LOG.error("Error creating partial context response writer: " + e.getMessage(), e);
}
- ResponseWriter newResponseWriter = facesContext.getRenderKit().
- createResponseWriter(outputWriter, "text/xml", characterEncoding);
+ if (outputWriter != null) {
+ ResponseWriter newResponseWriter = facesContext.getRenderKit().
+ createResponseWriter(outputWriter, "text/xml", characterEncoding);
- return newResponseWriter;
+ return newResponseWriter;
+ }
+
+ return null;
}
}
}
Deleted: root/framework/trunk/impl/src/main/java/org/richfaces/context/SubcomponentIdsProxiedCollection.java
===================================================================
--- root/framework/trunk/impl/src/main/java/org/richfaces/context/SubcomponentIdsProxiedCollection.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/impl/src/main/java/org/richfaces/context/SubcomponentIdsProxiedCollection.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -1,207 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.richfaces.context;
-
-import java.util.AbstractCollection;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * @author Nick Belaevski
- *
- */
-class SubcomponentIdsProxiedCollection extends AbstractCollection<String> {
-
- private static final char METADATA_CHAR = '@';
-
- private static final Collection<String> WHOLE_COMPONENT = Collections
- .unmodifiableCollection(new HashSet<String>(0));
-
- private Collection<String> clientdIdsCollection;
-
- private Map<String, Collection<String>> subIdsMap = new HashMap<String, Collection<String>>();
-
- public SubcomponentIdsProxiedCollection(Collection<String> idsCollection) {
- super();
- this.clientdIdsCollection = idsCollection;
- }
-
- private int getMetadataCharPosition(String s) {
- int idx = s.indexOf(METADATA_CHAR);
-
- // check for (idx == 0): if "s" starts with metadata char, then we consider it's JSF-predefined id like "@all"
- if (idx <= 0) {
- idx = s.length();
- }
-
- return idx;
- }
-
- private String getClientId(String s, int metadataCharPosition) {
- return s.substring(0, metadataCharPosition);
- }
-
- private String getSubComponentId(String s, int metadataCharPosition) {
- if (s.length() != metadataCharPosition) {
- return s.substring(metadataCharPosition + 1);
- } else {
- return null;
- }
- }
-
- private boolean addSubComponentId(String clientId, String subComponentId) {
- boolean result = clientdIdsCollection.add(clientId);
-
- if (subComponentId != null) {
- Collection<String> subIdsSet = subIdsMap.get(clientId);
- if (subIdsSet == null) {
- subIdsSet = new HashSet<String>();
- subIdsMap.put(clientId, subIdsSet);
- }
-
- if (subIdsSet != WHOLE_COMPONENT) {
- result = subIdsSet.add(subComponentId);
- }
- } else {
- result = (subIdsMap.put(clientId, WHOLE_COMPONENT) != WHOLE_COMPONENT);
- }
-
- return result;
- }
-
- private boolean removeSubComponentId(String clientId, String subComponentId) {
- boolean result = false;
-
- if (subComponentId != null) {
- Collection<String> subIdsSet = subIdsMap.get(clientId);
- if (subIdsSet != null) {
- result = subIdsSet.remove(subComponentId);
- if (subIdsSet.isEmpty()) {
- subIdsMap.remove(clientId);
- clientdIdsCollection.remove(clientId);
- }
- }
- } else {
- subIdsMap.remove(clientId);
- result = clientdIdsCollection.remove(clientId);
- }
-
- return result;
- }
-
- @Override
- public boolean add(String e) {
- int charPosition = getMetadataCharPosition(e);
- String clientId = getClientId(e, charPosition);
- String subComponentId = getSubComponentId(e, charPosition);
-
- return addSubComponentId(clientId, subComponentId);
- }
-
- @Override
- public boolean remove(Object o) {
- if (!(o instanceof String)) {
- return false;
- }
-
- String e = (String) o;
- int charPosition = getMetadataCharPosition(e);
- String clientId = getClientId(e, charPosition);
- String subComponentId = getSubComponentId(e, charPosition);
-
- return removeSubComponentId(clientId, subComponentId);
- }
-
- @Override
- public boolean contains(Object o) {
- if (!(o instanceof String)) {
- return false;
- }
-
- String e = (String) o;
- int charPosition = getMetadataCharPosition(e);
- String clientId = getClientId(e, charPosition);
- String subComponentId = getSubComponentId(e, charPosition);
-
- if (subComponentId != null) {
- Collection<String> subIdsSet = subIdsMap.get(clientId);
- return (subIdsSet != null && subIdsSet != WHOLE_COMPONENT && subIdsSet.contains(subComponentId));
- } else {
- return clientdIdsCollection.contains(clientId);
- }
- }
-
- @Override
- public Iterator<String> iterator() {
- return new Iterator<String>() {
-
- private Iterator<String> delegateIterator = clientdIdsCollection.iterator();
-
- private String nextElement = null;
-
- public boolean hasNext() {
- return delegateIterator.hasNext();
- }
-
- public String next() {
- nextElement = delegateIterator.next();
- return nextElement;
- }
-
- public void remove() {
- delegateIterator.remove();
- subIdsMap.remove(nextElement);
- nextElement = null;
- }
- };
- }
-
- @Override
- public boolean isEmpty() {
- return clientdIdsCollection.isEmpty();
- }
-
- @Override
- public int size() {
- return clientdIdsCollection.size();
- }
-
- @Override
- public void clear() {
- clientdIdsCollection.clear();
- subIdsMap.clear();
- }
-
- public Collection<String> getSubComponentIds(String clientId) {
- Collection<String> subIds = subIdsMap.get(clientId);
- if (subIds != WHOLE_COMPONENT) {
- return subIds;
- }
-
- return null;
- }
-
-}
Deleted: root/framework/trunk/impl/src/test/java/org/richfaces/context/SubcomponentIdsProxiedCollectionTest.java
===================================================================
--- root/framework/trunk/impl/src/test/java/org/richfaces/context/SubcomponentIdsProxiedCollectionTest.java 2010-04-05 13:11:49 UTC (rev 16717)
+++ root/framework/trunk/impl/src/test/java/org/richfaces/context/SubcomponentIdsProxiedCollectionTest.java 2010-04-05 13:35:27 UTC (rev 16718)
@@ -1,173 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2010, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.richfaces.context;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-
-/**
- * @author Nick Belaevski
- *
- */
-public class SubcomponentIdsProxiedCollectionTest {
-
- private Collection<String> delegateCollection;
-
- private SubcomponentIdsProxiedCollection proxiedIdsCollection;
-
- @Before
- public void setUp() throws Exception {
- delegateCollection = new LinkedHashSet<String>();
- proxiedIdsCollection = new SubcomponentIdsProxiedCollection(delegateCollection);
- }
-
- @After
- public void tearDown() throws Exception {
- delegateCollection = null;
- proxiedIdsCollection = null;
- }
-
- @Test
- public void testAddClientId() throws Exception {
- assertTrue(proxiedIdsCollection.add("form"));
- assertFalse(proxiedIdsCollection.add("form"));
-
- assertTrue(delegateCollection.contains("form"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form"));
-
- assertTrue(proxiedIdsCollection.add("form:table"));
- assertFalse(proxiedIdsCollection.add("form:table"));
-
- assertTrue(delegateCollection.contains("form"));
- assertTrue(delegateCollection.contains("form:table"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:table"));
-
- assertTrue(proxiedIdsCollection.add("form:grid@body"));
- assertFalse(proxiedIdsCollection.add("form:grid@body"));
-
- assertTrue(delegateCollection.contains("form"));
- assertTrue(delegateCollection.contains("form:table"));
- assertTrue(delegateCollection.contains("form:grid"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:table"));
- assertNotNull(proxiedIdsCollection.getSubComponentIds("form:grid"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:grid").contains("body"));
-
- assertTrue(proxiedIdsCollection.add("form:grid@header"));
- assertFalse(proxiedIdsCollection.add("form:grid@header"));
-
- assertTrue(delegateCollection.contains("form"));
- assertTrue(delegateCollection.contains("form:table"));
- assertTrue(delegateCollection.contains("form:grid"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:table"));
- assertNotNull(proxiedIdsCollection.getSubComponentIds("form:grid"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:grid").contains("body"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:grid").contains("header"));
-
- assertTrue(proxiedIdsCollection.add("form:grid"));
- assertFalse(proxiedIdsCollection.add("form:grid"));
- assertTrue(delegateCollection.contains("form"));
- assertTrue(delegateCollection.contains("form:table"));
- assertTrue(delegateCollection.contains("form:grid"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:table"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:grid"));
- }
-
- @Test
- public void testRemove() throws Exception {
- proxiedIdsCollection.add("form");
- proxiedIdsCollection.add("form:table");
- proxiedIdsCollection.add("form:grid@body");
- proxiedIdsCollection.add("form:tab@label");
- proxiedIdsCollection.add("form:tab@content");
-
- assertTrue(delegateCollection.contains("form"));
- assertTrue(delegateCollection.contains("form:table"));
- assertTrue(delegateCollection.contains("form:grid"));
- assertTrue(delegateCollection.contains("form:tab"));
- assertNotNull(proxiedIdsCollection.getSubComponentIds("form:grid"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:grid").contains("body"));
- assertNotNull(proxiedIdsCollection.getSubComponentIds("form:tab"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:tab").contains("label"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:tab").contains("content"));
-
- assertTrue(proxiedIdsCollection.remove("form"));
- assertFalse(delegateCollection.contains("form"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form"));
- assertFalse(proxiedIdsCollection.remove("form"));
-
- assertTrue(proxiedIdsCollection.remove("form:table"));
- assertFalse(delegateCollection.contains("form:table"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:table"));
- assertFalse(proxiedIdsCollection.remove("form:table"));
-
- assertTrue(proxiedIdsCollection.remove("form:grid"));
- assertFalse(delegateCollection.contains("form:grid"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:grid"));
- assertFalse(proxiedIdsCollection.remove("form:grid"));
-
- assertTrue(proxiedIdsCollection.remove("form:tab@label"));
- assertTrue(delegateCollection.contains("form:tab"));
- assertNotNull(proxiedIdsCollection.getSubComponentIds("form:tab"));
- assertTrue(proxiedIdsCollection.getSubComponentIds("form:tab").contains("content"));
- assertFalse(proxiedIdsCollection.remove("form:tab@label"));
-
- assertTrue(proxiedIdsCollection.remove("form:tab@content"));
- assertFalse(delegateCollection.contains("form:tab"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:tab"));
- assertFalse(proxiedIdsCollection.remove("form:tab@content"));
- }
-
- @Test
- public void testIterator() throws Exception {
- proxiedIdsCollection.add("form");
- proxiedIdsCollection.add("form:table@footer");
- proxiedIdsCollection.add("form:table@header");
-
- Iterator<String> iterator = proxiedIdsCollection.iterator();
- assertTrue(iterator.hasNext());
- assertEquals("form", iterator.next());
-
- assertTrue(iterator.hasNext());
- assertEquals("form:table", iterator.next());
- iterator.remove();
-
- assertTrue(delegateCollection.contains("form"));
- assertFalse(delegateCollection.contains("form:table"));
- assertNull(proxiedIdsCollection.getSubComponentIds("form:table"));
- }
-}
15 years, 5 months
JBoss Rich Faces SVN: r16717 - root/examples-sandbox/trunk/components/tables/src/main/webapp.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2010-04-05 09:11:49 -0400 (Mon, 05 Apr 2010)
New Revision: 16717
Modified:
root/examples-sandbox/trunk/components/tables/src/main/webapp/extendedtable.xhtml
Log:
RF-7852 ExtendedDataTable sample
Modified: root/examples-sandbox/trunk/components/tables/src/main/webapp/extendedtable.xhtml
===================================================================
--- root/examples-sandbox/trunk/components/tables/src/main/webapp/extendedtable.xhtml 2010-04-05 13:11:12 UTC (rev 16716)
+++ root/examples-sandbox/trunk/components/tables/src/main/webapp/extendedtable.xhtml 2010-04-05 13:11:49 UTC (rev 16717)
@@ -1,6 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
@@ -59,12 +60,12 @@
//-->
</script>
<input id="js_api_id_input" type="text" value="form1:extendedDataTable" />
- <input id="js_api_function_string_input" type="text" value="setColumnWidth('column_name', 50)" size="60"/>
+ <input id="js_api_function_string_input" type="text" value="filter('column_name', 'gate')" size="60"/>
<input type="button" value="Run" onclick="invokeJSAPI()" />
<input id="js_api_result" type="text" readonly="readonly" size="60"/>
<rich:extendedDataTable id="extendedDataTable" clientRows="40" rows="100" frozenColumns="2"
value="#{dataBean.state ? dataBean.employeeList : null}" var="record" noDataLabel="There isn't data."
- styleClass="extendedDataTable" rowKeyVar="rkv">
+ styleClass="extendedDataTable" rowKeyVar="rkv" filterVar="fv">
<f:facet name="header">
<h:outputText value="Current date: #{dataBean.date}"/>
</f:facet>
@@ -83,7 +84,7 @@
<h:outputText value="index"/>
</f:facet>
</rich:column>
- <rich:column id="column_name">
+ <rich:column id="column_name" filterExpression="#{fn:containsIgnoreCase(record.name, fv)}" >
<f:facet name="header">
<h:outputText id="columnHeader1" value="Column Header Facet"/>
</f:facet>
15 years, 5 months
JBoss Rich Faces SVN: r16716 - in root/ui-sandbox/trunk/components/tables/ui/src/main: resources/META-INF/resources and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2010-04-05 09:11:12 -0400 (Mon, 05 Apr 2010)
New Revision: 16716
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js
Log:
RF-8098
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-04-05 10:31:38 UTC (rev 16715)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java 2010-04-05 13:11:12 UTC (rev 16716)
@@ -56,6 +56,7 @@
import org.ajax4jsf.model.SequenceRange;
import org.ajax4jsf.renderkit.AjaxEventOptions;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.richfaces.component.UIDataTableBase;
import org.richfaces.component.UIExtendedDataTable;
import org.richfaces.component.util.HtmlUtil;
@@ -90,14 +91,14 @@
private class RendererState extends RowHolderBase{
- private UIExtendedDataTable table;
+ private UIDataTableBase table;
private List<Part> parts;
private Part current;
private Iterator<Part> partIterator;
- public RendererState(FacesContext context, UIExtendedDataTable table) {
+ public RendererState(FacesContext context, UIDataTableBase table) {
super(context);
this.table = table;
List<UIComponent> frozenColumns;
@@ -134,7 +135,7 @@
}
}
- public UIExtendedDataTable getRow() {
+ public UIDataTableBase getRow() {
return table;
}
@@ -204,7 +205,7 @@
table.walk(context, new DataVisitor() {
@Override
public DataVisitResult process(FacesContext context, Object rowKey, Object argument) {
- UIExtendedDataTable dataTable = state.getRow();
+ UIDataTableBase dataTable = state.getRow();
dataTable.setRowKey(context, rowKey);
ids.add(dataTable.getClientId(context) + ":"
+ state.getPart().getName().toString().charAt(0));
@@ -214,7 +215,7 @@
table.walk(context, new DataVisitor() {
@Override
public DataVisitResult process(FacesContext context, Object rowKey, Object argument) {
- UIExtendedDataTable dataTable = state.getRow();
+ UIDataTableBase dataTable = state.getRow();
dataTable.setRowKey(context, rowKey);
HashMap<String, String> attributes = new HashMap<String, String>(1);
String id = dataTable.getClientId(context) + ":"
@@ -257,11 +258,11 @@
@Override
protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent component)
throws IOException {
+ Map<String, Object> attributes = component.getAttributes();
writer.startElement(HTML.DIV_ELEM, component);
writer.writeAttribute(HTML.ID_ATTRIBUTE, component.getClientId(context), null);
- writer.writeAttribute(HTML.CLASS_ATTRIBUTE, HtmlUtil.concatClasses("rich-extable", (String) component
- .getAttributes().get("styleClass")), null);
- getUtils().writeAttribute(writer, HTML.STYLE_ATTRIBUTE, component.getAttributes().get("style"));
+ writer.writeAttribute(HTML.CLASS_ATTRIBUTE, HtmlUtil.concatClasses("rich-extable", (String) attributes.get("styleClass")), null);
+ getUtils().writeAttribute(writer, HTML.STYLE_ATTRIBUTE, attributes.get("style"));
UIComponent header = component.getFacet("header");
if (header != null && header.isRendered()) {
writer.startElement(HTML.DIV_ELEM, component);
@@ -273,13 +274,13 @@
@Override
public RendererState createRowHolder(FacesContext context, UIComponent component) {
- return new RendererState(context, (UIExtendedDataTable) component);
+ return new RendererState(context, (UIDataTableBase) component);
}
@Override
protected void doEncodeChildren(ResponseWriter writer, FacesContext context, UIComponent component)
throws IOException {
- UIExtendedDataTable table = (UIExtendedDataTable) component;
+ UIDataTableBase table = (UIDataTableBase) component;
Object key = table.getRowKey();
table.captureOrigValue(context);
table.setRowKey(context, null);
@@ -350,7 +351,7 @@
}
private int getRowCount(UIComponent component) {
- UIExtendedDataTable table = (UIExtendedDataTable) component;
+ UIDataTableBase table = (UIDataTableBase) component;
int rows = table.getRows();
int rowCount = table.getRowCount() - table.getFirst();
if (rows > 0) {
@@ -365,7 +366,7 @@
private void encodeStyle(RendererState state) throws IOException {
FacesContext context = state.getContext();
ResponseWriter writer = context.getResponseWriter();
- UIExtendedDataTable table = state.getRow();
+ UIDataTableBase table = state.getRow();
writer.startElement("style", table);
writer.writeAttribute(HTML.TYPE_ATTR, "text/css", null);
writer.writeText(".rich-extable-part-width{", null); // TODO getNormalizedId(context, state.getGrid())
@@ -390,7 +391,7 @@
private void encodeHeaderOrFooter(RendererState state, String name) throws IOException {
FacesContext context = state.getContext();
ResponseWriter writer = context.getResponseWriter();
- UIExtendedDataTable table = state.getRow();
+ UIDataTableBase table = state.getRow();
if (table.isColumnFacetPresent(name)) {
writer.startElement(HTML.DIV_ELEM, table);
writer.writeAttribute(HTML.CLASS_ATTRIBUTE, HtmlUtil.concatClasses("rich-extable-" + name, (String) table
@@ -445,7 +446,7 @@
private void encodeBody(RendererState state) throws IOException {
FacesContext context = state.getContext();
ResponseWriter writer = context.getResponseWriter();
- UIExtendedDataTable table = state.getRow();
+ UIDataTableBase table = state.getRow();
writer.startElement(HTML.DIV_ELEM, table);
writer.writeAttribute(HTML.ID_ATTRIBUTE, table.getClientId(context) + ":b", null);
writer.writeAttribute(HTML.CLASS_ATTRIBUTE, "rich-extable-body", null);
@@ -460,6 +461,7 @@
}
}
} else {
+ table.getAttributes().put("clientFirst", 0);
writer.startElement(HTML.DIV_ELEM, table);
writer.startElement(HTML.DIV_ELEM, table);
writer.writeAttribute(HTML.CLASS_ATTRIBUTE, "rich-extable-spacer", null);
@@ -534,7 +536,7 @@
FacesContext context = rowHolder.getContext();
ResponseWriter writer = context.getResponseWriter();
RendererState state = (RendererState) rowHolder;
- UIExtendedDataTable table = state.getRow();
+ UIDataTableBase table = state.getRow();
writer.startElement(HTML.TR_ELEMENT, table);
Iterator<UIComponent> columns = null;
Part part = state.getPart();
@@ -571,22 +573,27 @@
if (map.get(component.getClientId(context)) != null) {
updateClientFirst(context, component, map.get("rich:clientFirst"));
}
+ if (map.get(component.getClientId(context)) != null) {
+ decodeFiltering(context, component, map.get("rich:filterString"));
+ }
}
private void updateAttribute(FacesContext context, UIComponent component, String attribute, Object value) {
- ELContext elContext = context.getELContext();
- ValueExpression ve = component.getValueExpression(attribute);
- if (ve != null && !ve.isReadOnly(elContext)) {
- component.getAttributes().put(attribute, null);
- try {
- ve.setValue(elContext, value);
- } catch (ELException e) {
- throw new FacesException(e);
+ Object oldValue = component.getAttributes().get(attribute);
+ if ((oldValue != null && !oldValue.equals(value)) || (oldValue == null && value != null)) {
+ ELContext elContext = context.getELContext();
+ ValueExpression ve = component.getValueExpression(attribute);
+ if (ve != null && !ve.isReadOnly(elContext)) {
+ component.getAttributes().put(attribute, null);
+ try {
+ ve.setValue(elContext, value);
+ } catch (ELException e) {
+ throw new FacesException(e);
+ }
+ } else {
+ component.getAttributes().put(attribute, value);
}
- } else {
- component.getAttributes().put(attribute, value);
}
-
}
private void updateWidthOfColumns(FacesContext context, UIComponent component, String widthString) {
@@ -595,35 +602,51 @@
for (int i = 0; i < widthArray.length; i++) {
String[] widthEntry = widthArray[i].split(":");
UIComponent column = component.findComponent(widthEntry[0]);
- if (!widthEntry[1].equals(column.getAttributes().get("width"))) {
- updateAttribute(context, column, "width", widthEntry[1]);
- }
+ updateAttribute(context, column, "width", widthEntry[1]);
}
-
}
}
private void updateColumnsOrder(FacesContext context, UIComponent component, String columnsOrderString) {
if (columnsOrderString != null && columnsOrderString.length() > 0) {
String[] columnsOrder = columnsOrderString.split(",");
- if (!columnsOrder.equals(component.getAttributes().get("columnsOrder"))) {
- updateAttribute(context, component, "columnsOrder", columnsOrder);
- context.getPartialViewContext().getRenderIds().add(component.getClientId(context));
- }
+ updateAttribute(context, component, "columnsOrder", columnsOrder);
+ context.getPartialViewContext().getRenderIds().add(component.getClientId(context)); // Use partial re-rendering here.
}
}
private void updateClientFirst(FacesContext context, UIComponent component, String clientFirst) {
if (clientFirst != null && clientFirst.length() > 0) {
Integer value = Integer.valueOf(clientFirst);
- if (!value.equals(component.getAttributes().get("clientFirst"))) {
- component.getAttributes().put(UIExtendedDataTable.SUBMITTED_CLIENT_FIRST, value);
+ Map<String, Object> attributes = component.getAttributes();
+ if (!value.equals(attributes.get("clientFirst"))) {
+ attributes.put(UIExtendedDataTable.SUBMITTED_CLIENT_FIRST, value);
context.getPartialViewContext().getRenderIds().add(
component.getClientId(context) + "@" + UIExtendedDataTable.SCROLL);
}
}
}
+ private void decodeFiltering(FacesContext context, UIComponent component, String value) {
+ if (value != null && value.length() > 0) {
+ String[] values = value.split(":");
+ if (Boolean.parseBoolean(values[2])) {
+ UIDataTableBase table = (UIDataTableBase) component;
+ for (Iterator<UIComponent> iterator = table.columns(); iterator.hasNext();) {
+ UIComponent column = iterator.next();
+ if (values[0].equals(column.getId())) {
+ updateAttribute(context, column, "filterValue", values[1]);
+ } else {
+ updateAttribute(context, column, "filterValue", null);
+ }
+ }
+ } else {
+ updateAttribute(context, component.findComponent(values[0]), "filterValue", values[1]);
+ }
+ context.getPartialViewContext().getRenderIds().add(component.getClientId(context)); // Use partial re-rendering here.
+ }
+ }
+
/**
* @deprecated
* TODO Remove this method when width in relative units in columns will be implimented.
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js 2010-04-05 10:31:38 UTC (rev 16715)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/extendedDataTable.js 2010-04-05 13:11:12 UTC (rev 16716)
@@ -147,7 +147,9 @@
var initializeLayout = function() {
//TODO Use "var rowHeight" instead of "dataTableElement.offsetHeight / rows"
- contentElement.style.height = (rowCount * dataTableElement.offsetHeight / rows) + "px";
+ if (contentElement) {
+ contentElement.style.height = (rowCount * dataTableElement.offsetHeight / rows) + "px";
+ }
updateLayout();
updateScrollPosition(); //TODO Restore horizontal scroll position
};
@@ -318,6 +320,17 @@
this.setColumnWidth = function(id, width) {
setColumnWidth(id, width);
}
+
+ this.filter = function(id, filterValue, isClear) {
+ if (typeof(filterValue) == "undefined" || filterValue == null) {
+ filterValue = "";
+ }
+ sendAjax(null, {"rich:filterString" : id + ":" + filterValue + ":" + isClear}); // TODO Maybe, event model should be used here.
+ }
+
+ this.clearFiltering = function() {
+ this.filter("", "", true);
+ }
};
}(window.RichFaces, jQuery));
15 years, 5 months
JBoss Rich Faces SVN: r16715 - branches/community/3.3.X/ui/fileUpload/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: amarkhel
Date: 2010-04-05 06:31:38 -0400 (Mon, 05 Apr 2010)
New Revision: 16715
Modified:
branches/community/3.3.X/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java
Log:
Fif RF-8560
Modified: branches/community/3.3.X/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java
===================================================================
--- branches/community/3.3.X/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java 2010-04-03 00:23:10 UTC (rev 16714)
+++ branches/community/3.3.X/ui/fileUpload/src/main/java/org/richfaces/renderkit/FileUploadRendererBase.java 2010-04-05 10:31:38 UTC (rev 16715)
@@ -280,7 +280,7 @@
if (fileUpload.getAttributes().get(attributeName) != null) {
String attribbuteValue = (String) fileUpload.getAttributes().get(
attributeName);
- key = attributeName;
+ key = name;
value = attribbuteValue;
found = true;
}
15 years, 5 months