You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2012/05/22 14:18:30 UTC
svn commit: r1341439 [1/3] - in /myfaces/tobago/trunk: ./
tobago-core/src/main/java-jsf-1.1-todo/
tobago-core/src/main/java-jsf-1.1-todo/org/apache/myfaces/tobago/internal/taglib/component/
tobago-core/src/main/java-jsf-1.2-todo/ tobago-core/src/main/j...
Author: lofwyr
Date: Tue May 22 12:18:26 2012
New Revision: 1341439
URL: http://svn.apache.org/viewvc?rev=1341439&view=rev
Log:
TOBAGO-1049: Tree inside of the Sheet (aka TreeTable)
TOBAGO-1139: Supporting ValueChangeListener, Disabled, Required, Converter, ValidatorMessage, RequiredMessage and ConverterMessage for tc:treeSelect
- merged from branch
Added:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeListbox.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeListbox.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/model/
- copied from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/model/
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/IsShowRoot.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/IsShowRoot.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/IsShowRootJunction.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/IsShowRootJunction.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/ExpandedState.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/model/ExpandedState.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MarkedState.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MarkedState.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeDataModel.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeDataModel.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeState.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeState.java
myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/model/ExpandedStateUnitTest.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-core/src/test/java/org/apache/myfaces/tobago/model/ExpandedStateUnitTest.java
myfaces/tobago/trunk/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CantorInterval.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CantorInterval.java
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/sheet/sheet-tree.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/sheet/sheet-tree.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-command.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-command.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-expanded.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-expanded.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-infinite.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-infinite.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-marked-with-model.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-marked-with-model.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-marked-without-model.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-marked-without-model.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-simple-with-data.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-simple-with-data.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-simple.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-simple.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/treeMenu/treeMenu-command.xhtml
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/main/webapp/tc/treeMenu/treeMenu-command.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/tree/
- copied from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/tc/tree/
myfaces/tobago/trunk/tobago-theme/tobago-theme-richmond/src/main/resources/org/apache/myfaces/tobago/renderkit/html/richmond/standard/image/minus.gif
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-richmond/src/main/resources/org/apache/myfaces/tobago/renderkit/html/richmond/standard/image/minus.gif
myfaces/tobago/trunk/tobago-theme/tobago-theme-richmond/src/main/resources/org/apache/myfaces/tobago/renderkit/html/richmond/standard/image/plus.gif
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-richmond/src/main/resources/org/apache/myfaces/tobago/renderkit/html/richmond/standard/image/plus.gif
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRendererBase.java
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRendererBase.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/image/minus.gif
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/image/minus.gif
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/image/plus.gif
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/image/plus.gif
myfaces/tobago/trunk/tobago-theme/tobago-theme-speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/image/minus.gif
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/image/minus.gif
myfaces/tobago/trunk/tobago-theme/tobago-theme-speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/image/plus.gif
- copied unchanged from r1341423, myfaces/tobago/branches/tobago-tree-table/tobago-theme/tobago-theme-speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/image/plus.gif
Modified:
myfaces/tobago/trunk/ (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.1-todo/ (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.1-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardFinishTag.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.1-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardNextTag.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.2-todo/ (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.2-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardFinishTag.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.2-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardNextTag.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/ComponentTypes.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/RendererTypes.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Tags.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/TreeModelBuilder.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/context/ResourceUtils.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITree.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeData.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeNode.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeDataTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeMenuTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeNodeTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeSelectTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/DefaultMutableTreeNodeAnalyser.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MixedTreeModel.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/Node.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/SheetState.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeAnalyser.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreePath.java (contents, props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/Wizard.java (props changed)
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/ComponentUtils.java
myfaces/tobago/trunk/tobago-core/src/main/resources/org/apache/myfaces/tobago/config/tobago-config-1.0.29.dtd (props changed)
myfaces/tobago/trunk/tobago-core/src/main/resources/org/apache/myfaces/tobago/config/tobago-config-1.0.30.dtd (props changed)
myfaces/tobago/trunk/tobago-core/src/main/resources/org/apache/myfaces/tobago/config/tobago-config-1.0.34.dtd (props changed)
myfaces/tobago/trunk/tobago-core/src/main/resources/org/apache/myfaces/tobago/config/tobago-config-1.5.xsd (props changed)
myfaces/tobago/trunk/tobago-core/src/main/resources/org/apache/myfaces/tobago/config/tobago-config_1_0.dtd (props changed)
myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/model/MixedTreeModelUnitTest.java
myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/model/NodeUnitTest.java (props changed)
myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/util/Parameterized.java (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/main/resources/META-INF/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/main/resources/log4j.xml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/main/webapp/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/main/webapp/addressbook-resource/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/main/webapp/addressbook-resource/html/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/main/webapp/addressbook-resource/html/standard/standard/property/error/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-addressbook/src/test/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-data/src/main/java/org/apache/myfaces/tobago/example/data/CategoryTree.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Navigation.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/tags/layout/overview.tag (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/WEB-INF/tags/layout/plain.tagx (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/best-practice/tool-bar-customizer.xhtml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/03-tree/00/tree-editor.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/03-tree/01/treeMenu-different-types.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/03-tree/tree.xhtml (contents, props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/footer.xhtml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/header.xhtml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.jsp
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/navigation.xhtml (contents, props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/reference/layout-test.jsp (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-experimental/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-experimental/src/main/java-jsf-1.1/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/java/org/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/java/org/apache/myfaces/tobago/example/test/DirectoryBrowser.java (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/java/org/apache/myfaces/tobago/example/test/PageItem.java (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/java/org/apache/myfaces/tobago/example/test/TestPageFilter.java (contents, props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/java/org/apache/myfaces/tobago/example/test/TreeController.java
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/WEB-INF/tobago-config.xml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/navigation.xhtml (contents, props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/ (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-select.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/tree/tree-show-attributes.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/treeListbox/treeListbox.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tc/treeMenu/treeMenu-simple.xhtml
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tf/wizard/navi/fileIntoCondition.xhtml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/main/webapp/tf/wizard/navi/filter.xhtml (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/AutomaticSeleniumTest.java (props changed)
myfaces/tobago/trunk/tobago-example/tobago-example-test/src/test/java/org/apache/myfaces/tobago/example/test/SeleniumTest.java (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-deprecation/ (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/java/org/apache/myfaces/tobago/facelets/MetaInfResourcesClasspathResourceResolver.java (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/resources/META-INF/wizardFinish.xml (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/resources/META-INF/wizardNext.xml (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/resources/META-INF/wizardPrevious.xml (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-facelets/src/main/resources/META-INF/wizardTrain.xml (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.1/ (props changed)
myfaces/tobago/trunk/tobago-extension/tobago-taglib-extension/src/main/java-jsf-1.2/ (props changed)
myfaces/tobago/trunk/tobago-jsf-compat/src/main/java-jsf-1.1/javax/ (props changed)
myfaces/tobago/trunk/tobago-jsf-compat/src/main/java/org/apache/myfaces/tobago/event/MethodExpressionTreeExpansionListener.java (props changed)
myfaces/tobago/trunk/tobago-jsf-compat/src/main/java/org/apache/myfaces/tobago/event/MethodExpressionTreeMarkedListener.java (props changed)
myfaces/tobago/trunk/tobago-jsf-compat/src/main/java/org/apache/myfaces/tobago/event/TreeExpansionEvent.java (props changed)
myfaces/tobago/trunk/tobago-jsf-compat/src/main/java/org/apache/myfaces/tobago/event/TreeMarkedEvent.java (props changed)
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeCommandRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIconRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeIndentRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeLabelRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxNodeRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeListboxRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeMenuNodeRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeSelectRenderer.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/style/style.css
myfaces/tobago/trunk/tobago-theme/tobago-theme-speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/style/style.css
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/util/RenderUtils.java
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/jquery-ui/ (props changed)
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago-tree.js
Propchange: myfaces/tobago/trunk/
------------------------------------------------------------------------------
svn:mergeinfo = /myfaces/tobago/branches/tobago-tree-table:1226794-1341423
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.1-todo/
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.1-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardFinishTag.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.1-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardNextTag.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.2-todo/
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.2-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardFinishTag.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java-jsf-1.2-todo/org/apache/myfaces/tobago/internal/taglib/component/WizardNextTag.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/ComponentTypes.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/RendererTypes.java
('svn:mergeinfo' removed)
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Tags.java
('svn:mergeinfo' removed)
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/TreeModelBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/TreeModelBuilder.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/TreeModelBuilder.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/TreeModelBuilder.java Tue May 22 12:18:26 2012
@@ -21,10 +21,28 @@ import org.apache.myfaces.tobago.model.M
import javax.faces.context.FacesContext;
+/**
+ * @deprecated since XXX 1.6.0 ???
+ */
+@Deprecated
public interface TreeModelBuilder {
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
void buildTreeModelBegin(FacesContext facesContext, MixedTreeModel model);
+
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
void buildTreeModelChildren(FacesContext facesContext, MixedTreeModel model);
+
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
void buildTreeModelEnd(FacesContext facesContext, MixedTreeModel model);
}
Propchange: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/context/ResourceUtils.java
('svn:mergeinfo' removed)
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java Tue May 22 12:18:26 2012
@@ -18,7 +18,6 @@ package org.apache.myfaces.tobago.intern
*/
import org.apache.myfaces.tobago.compat.FacesUtils;
-import org.apache.myfaces.tobago.compat.InvokeOnComponent;
import org.apache.myfaces.tobago.component.Attributes;
import org.apache.myfaces.tobago.component.ColumnEvent;
import org.apache.myfaces.tobago.component.ComponentTypes;
@@ -37,14 +36,14 @@ import org.apache.myfaces.tobago.layout.
import org.apache.myfaces.tobago.layout.LayoutContainer;
import org.apache.myfaces.tobago.layout.LayoutManager;
import org.apache.myfaces.tobago.layout.LayoutTokens;
+import org.apache.myfaces.tobago.model.ExpandedState;
import org.apache.myfaces.tobago.model.SheetState;
import org.apache.myfaces.tobago.renderkit.LayoutComponentRenderer;
+import org.apache.myfaces.tobago.util.ComponentUtils;
import org.apache.myfaces.tobago.util.CreateComponentUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.faces.FacesException;
-import javax.faces.component.ContextCallback;
import javax.faces.component.UIColumn;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -58,9 +57,9 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
-public abstract class AbstractUISheet extends javax.faces.component.UIData
- implements SheetStateChangeSource, SortActionSource, InvokeOnComponent, OnComponentPopulated,
- LayoutContainer, LayoutComponent, SupportsRenderedPartially{
+public abstract class AbstractUISheet extends AbstractUIData
+ implements SheetStateChangeSource, SortActionSource, OnComponentPopulated,
+ LayoutContainer, LayoutComponent, SupportsRenderedPartially {
private static final Logger LOG = LoggerFactory.getLogger(AbstractUISheet.class);
@@ -263,13 +262,6 @@ public abstract class AbstractUISheet ex
}
/**
- * @return Is the (maximum) number of rows to display set to zero?
- */
- public boolean isRowsUnlimited() {
- return getRows() == 0;
- }
-
- /**
* @return Should the paging controls be rendered? Either because of the need of paging or because
* the show is enforced by {@link #isShowPagingAlways()}
*/
@@ -380,8 +372,8 @@ public abstract class AbstractUISheet ex
public List<UIColumn> getAllColumns() {
List<UIColumn> columns = new ArrayList<UIColumn>();
- for (UIComponent kid : (List<UIComponent>) getChildren()) {
- if (kid instanceof UIColumn && !(kid instanceof ColumnEvent)) {
+ for (UIComponent kid : (List<UIComponent>) ComponentUtils.findDescendantList(this, UIColumn.class)) {
+ if (!(kid instanceof ColumnEvent)) {
columns.add((UIColumn) kid);
}
}
@@ -390,8 +382,8 @@ public abstract class AbstractUISheet ex
public List<UIColumn> getRenderedColumns() {
List<UIColumn> columns = new ArrayList<UIColumn>();
- for (UIComponent kid : (List<UIComponent>) getChildren()) {
- if (kid instanceof UIColumn && kid.isRendered() && !(kid instanceof ColumnEvent)) {
+ for (UIComponent kid : (List<UIComponent>) ComponentUtils.findDescendantList(this, UIColumn.class)) {
+ if (kid.isRendered() && !(kid instanceof ColumnEvent)) {
columns.add((UIColumn) kid);
}
}
@@ -507,45 +499,6 @@ public abstract class AbstractUISheet ex
return searchId;
}
- // todo: after removing jsf 1.1: @Override
- public boolean invokeOnComponent(FacesContext facesContext, String clientId, ContextCallback callback)
- throws FacesException {
- // we may need setRowIndex on UISheet
- int oldRowIndex = getRowIndex();
- try {
- String sheetId = getClientId(facesContext);
- if (clientId.startsWith(sheetId)) {
- String idRemainder = clientId.substring(sheetId.length());
- if (LOG.isDebugEnabled()) {
- LOG.debug("idRemainder = '" + idRemainder + "'");
- }
- if (idRemainder.matches("^:\\d+:.*")) {
- idRemainder = idRemainder.substring(1);
- int idx = idRemainder.indexOf(":");
- try {
- int rowIndex = Integer.parseInt(idRemainder.substring(0, idx));
- if (LOG.isDebugEnabled()) {
- LOG.debug("set rowIndex = '" + rowIndex + "'");
- }
- setRowIndex(rowIndex);
- } catch (NumberFormatException e) {
- LOG.warn("idRemainder = '" + idRemainder + "'", e);
- }
- } else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("no match for '^:\\d+:.*'");
- }
- }
- }
-
- return FacesUtils.invokeOnComponent(facesContext, this, clientId, callback);
-
- } finally {
- // we should reset rowIndex on UISheet
- setRowIndex(oldRowIndex);
- }
- }
-
public void performPaging(PageActionEvent pageEvent) {
int first;
@@ -657,7 +610,7 @@ public abstract class AbstractUISheet ex
facesContext, ComponentTypes.SHEET_LAYOUT, RendererTypes.SHEET_LAYOUT, parent));
}
}
-
+
public LayoutManager getLayoutManager() {
return (LayoutManager) getFacet(Facets.LAYOUT);
}
@@ -670,6 +623,10 @@ public abstract class AbstractUISheet ex
return true;
}
+ public boolean isRendersRowContainer() {
+ return true;
+ }
+
public abstract boolean isShowHeader();
public Boolean getNeedVerticalScrollbar() {
@@ -679,4 +636,10 @@ public abstract class AbstractUISheet ex
public void setNeedVerticalScrollbar(Boolean needVerticalScrollbar) {
this.needVerticalScrollbar = needVerticalScrollbar;
}
+
+ @Override
+ public ExpandedState getExpandedState() {
+ return getState().getExpandedState();
+ }
+
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITree.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITree.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITree.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITree.java Tue May 22 12:18:26 2012
@@ -17,39 +17,78 @@ package org.apache.myfaces.tobago.intern
* limitations under the License.
*/
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.tobago.compat.FacesUtils;
import org.apache.myfaces.tobago.component.Attributes;
-import org.apache.myfaces.tobago.component.TreeModelBuilder;
+import org.apache.myfaces.tobago.internal.util.Deprecation;
import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.model.ExpandedState;
+import org.apache.myfaces.tobago.model.MarkedState;
import org.apache.myfaces.tobago.model.MixedTreeModel;
import org.apache.myfaces.tobago.model.TreeSelectable;
+import org.apache.myfaces.tobago.model.TreeState;
import org.apache.myfaces.tobago.util.ComponentUtils;
-import javax.faces.application.FacesMessage;
import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
-import javax.faces.validator.Validator;
-import javax.faces.validator.ValidatorException;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
-import java.util.Set;
-public abstract class AbstractUITree extends javax.faces.component.UIInput implements NamingContainer, LayoutComponent {
+public abstract class AbstractUITree extends AbstractUIData
+// extends javax.faces.component.UIInput
+ implements NamingContainer, LayoutComponent {
+
+ private static final Log LOG = LogFactory.getLog(AbstractUITree.class);
public static final String MESSAGE_NOT_LEAF = "tobago.tree.MESSAGE_NOT_LEAF";
+ /** @deprecated since XXX 1.6.0 ??? */
+ @Deprecated
public static final String SEP = "-";
+ /** @deprecated since XXX 1.6.0 ??? */
+ @Deprecated
public static final String SELECT_STATE = SEP + "selectState";
+
+ /** @deprecated since XXX 1.6.0 ??? */
+ @Deprecated
public static final String MARKED = "marked";
- private MixedTreeModel model;
+ private TreeState state;
- // XXX may be removed
- private Set<String> expandedCache;
+ @Override
+ public void processValidators(FacesContext facesContext) {
+ final int last = hasRows() ? getFirst() + getRows() : Integer.MAX_VALUE;
+ for (int rowIndex = getFirst(); rowIndex < last; rowIndex++) {
+ setRowIndex(rowIndex);
+ if (!isRowAvailable()) {
+ break;
+ }
+ for (UIComponent child : getChildren()) {
+ child.processValidators(facesContext);
+ }
+ }
+ }
+
+ @Override
+ public void processUpdates(FacesContext facesContext) {
+ final int last = hasRows() ? getFirst() + getRows() : Integer.MAX_VALUE;
+ for (int rowIndex = getFirst(); rowIndex < last; rowIndex++) {
+ setRowIndex(rowIndex);
+ if (!isRowAvailable()) {
+ break;
+ }
+ for (UIComponent child : getChildren()) {
+ child.processUpdates(facesContext);
+ }
+ }
+ }
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
public UIComponent getRoot() {
// find the UITreeNode in the children.
for (UIComponent child : (List<UIComponent>) getChildren()) {
@@ -63,31 +102,13 @@ public abstract class AbstractUITree ext
return null;
}
- @Override
- public void encodeEnd(FacesContext facesContext) throws IOException {
- model = new MixedTreeModel();
- expandedCache = new HashSet<String>();
- for (Object child : getChildren()) {
- if (child instanceof TreeModelBuilder) {
- TreeModelBuilder builder = (TreeModelBuilder) child;
- builder.buildTreeModelBegin(facesContext, model);
- builder.buildTreeModelChildren(facesContext, model);
- builder.buildTreeModelEnd(facesContext, model);
- }
- }
-
- super.encodeEnd(facesContext);
-
- model = null;
- expandedCache = null;
- }
-
+ /**
+ * @deprecated Since 1.5.0.
+ */
+ @Deprecated
public MixedTreeModel getModel() {
- return model;
- }
-
- public Set<String> getExpandedCache() {
- return expandedCache;
+ Deprecation.LOG.error("Doesn't work anymore.");
+ return null;
}
@Override
@@ -109,22 +130,25 @@ public abstract class AbstractUITree ext
return;
}
- if (ComponentUtils.isOutputOnly(this)) {
- setValid(true);
- } else {
- // in tree first decode node and than decode children
-
- decode(facesContext);
-
- for (Iterator i = getFacetsAndChildren(); i.hasNext();) {
- UIComponent uiComponent = ((UIComponent) i.next());
- uiComponent.processDecodes(facesContext);
+ final int last = hasRows() ? getFirst() + getRows() : Integer.MAX_VALUE;
+ for (int rowIndex = getFirst(); rowIndex < last; rowIndex++) {
+ setRowIndex(rowIndex);
+ if (!isRowAvailable()) {
+ break;
+ }
+ for (UIComponent child : getChildren()) {
+ child.processDecodes(facesContext);
}
}
+ setRowIndex(-1);
+
+ decode(facesContext);
}
+/* XXX
@Override
public void validate(FacesContext context) {
+*/
// todo: validate must be written new, without TreeState
/*
@@ -151,6 +175,7 @@ public abstract class AbstractUITree ext
}
*/
// call all validators
+/*
if (getValidators() != null) {
for (Validator validator : getValidators()) {
try {
@@ -174,7 +199,50 @@ public abstract class AbstractUITree ext
// nothing to update for tree's
// TODO: updating the model here and *NOT* in the decode phase
}
+*/
+ public void setState(TreeState state) {
+ this.state = state;
+ }
+
+ public TreeState getState() {
+ if (state != null) {
+ return state;
+ } else {
+ if (FacesUtils.hasValueBindingOrValueExpression(this, Attributes.STATE)) {
+ final FacesContext facesContext = FacesContext.getCurrentInstance();
+ TreeState state = (TreeState)
+ FacesUtils.getValueFromValueBindingOrValueExpression(facesContext, this, Attributes.STATE);
+ if (state == null) {
+ state = new TreeState(new ExpandedState(2), new MarkedState());
+ FacesUtils.setValueOfBindingOrExpression(facesContext, state, this, Attributes.STATE);
+ }
+ return state;
+ } else {
+ state = new TreeState(new ExpandedState(2), new MarkedState());
+ return state;
+ }
+ }
+ }
+
+ public MarkedState getMarkedState() {
+ return getState().getMarkedState();
+ }
+
+ @Override
+ public ExpandedState getExpandedState() {
+ return getState().getExpandedState();
+ }
- public abstract Object getState();
+ public void restoreState(FacesContext context, Object componentState) {
+ Object[] values = (Object[]) componentState;
+ super.restoreState(context, values[0]);
+ state = (TreeState) values[1];
+ }
+ public Object saveState(FacesContext context) {
+ Object[] values = new Object[2];
+ values[0] = super.saveState(context);
+ values[1] = state;
+ return values;
+ }
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeData.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeData.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeData.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeData.java Tue May 22 12:18:26 2012
@@ -17,475 +17,73 @@ package org.apache.myfaces.tobago.intern
* limitations under the License.
*/
-import org.apache.commons.lang.ObjectUtils;
-import org.apache.myfaces.tobago.compat.FacesUtils;
+import org.apache.myfaces.tobago.component.OnComponentCreated;
import org.apache.myfaces.tobago.component.TreeModelBuilder;
+import org.apache.myfaces.tobago.internal.util.Deprecation;
import org.apache.myfaces.tobago.model.MixedTreeModel;
-import org.apache.myfaces.tobago.model.Node;
-import org.apache.myfaces.tobago.model.TreePath;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import javax.faces.FacesException;
-import javax.faces.component.ContextCallback;
+import javax.el.ValueExpression;
import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
-import javax.faces.event.AbortProcessingException;
-import javax.faces.event.FacesEvent;
-import javax.faces.event.FacesListener;
-import javax.faces.event.PhaseId;
-import javax.swing.tree.DefaultMutableTreeNode;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+/**
+ * @deprecated since XXX 1.6.0 ???
+ */
+@Deprecated
public abstract class AbstractUITreeData extends javax.faces.component.UIInput
- implements NamingContainer, TreeModelBuilder {
-
- private static final Logger LOG = LoggerFactory.getLogger(AbstractUITreeData.class);
+ implements NamingContainer, TreeModelBuilder, OnComponentCreated {
public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.TreeData";
- private String var;
-
- private DefaultMutableTreeNode currentNode;
-
- private TreePath rowIndex;
-
- // XXX hack: fix this if there is a Listener
- private Object marked;
-
- // Holds for each node the states of the child components of this UITreeData.
- private Map<TreePath, Object> pathStates = new HashMap<TreePath, Object>();
-
- @Override
- public void processDecodes(FacesContext facesContext) {
-
- decodeNodes(facesContext, (DefaultMutableTreeNode) getValue(), new TreePath(0));
- }
-
- private void decodeNodes(FacesContext facesContext, DefaultMutableTreeNode node, TreePath position) {
-
- setRowIndex(facesContext, position);
- LOG.debug("path index (decode) = '" + position + "'");
- AbstractUITreeNode templateComponent = getTemplateComponent();
- templateComponent.processDecodes(facesContext);
- setRowIndex(facesContext, null);
-
- // XXX hack: fix this if there is a Listener
- if (templateComponent.isMarked()) {
- marked = templateComponent.getValue();
- }
-
- int index = 0;
- for (Enumeration e = node.children(); e.hasMoreElements();) {
- DefaultMutableTreeNode sub = (DefaultMutableTreeNode) e.nextElement();
- decodeNodes(facesContext, sub, new TreePath(position, index));
- index++;
- }
- }
-
- @Override
- public void decode(FacesContext facesContext) {
-
- }
-
- @Override
- public void processValidators(FacesContext facesContext) {
- validateNodes(facesContext, (DefaultMutableTreeNode) getValue(), new TreePath(0));
- }
-
- private void validateNodes(FacesContext facesContext, DefaultMutableTreeNode node, TreePath position) {
-
- setRowIndex(facesContext, position);
- LOG.debug("path index (validate) = '" + position + "'");
- AbstractUITreeNode templateComponent = getTemplateComponent();
- templateComponent.processValidators(facesContext);
- setRowIndex(facesContext, null);
-
- int index = 0;
- for (Enumeration e = node.children(); e.hasMoreElements();) {
- DefaultMutableTreeNode sub = (DefaultMutableTreeNode) e.nextElement();
- validateNodes(facesContext, sub, new TreePath(position, index));
- index++;
- }
- }
-
- @Override
- public void processUpdates(FacesContext facesContext) {
- updateNodes(facesContext, (DefaultMutableTreeNode) getValue(), new TreePath(0));
- }
-
- private void updateNodes(FacesContext facesContext, DefaultMutableTreeNode node, TreePath position) {
-
- setRowIndex(facesContext, position);
- if (LOG.isDebugEnabled()) {
- LOG.debug("path index (update) = '" + position + "'");
- }
- AbstractUITreeNode templateComponent = getTemplateComponent();
- templateComponent.processUpdates(facesContext);
- setRowIndex(facesContext, null);
-
- int index = 0;
- for (Enumeration e = node.children(); e.hasMoreElements();) {
- DefaultMutableTreeNode sub = (DefaultMutableTreeNode) e.nextElement();
- updateNodes(facesContext, sub, new TreePath(position, index));
- index++;
- }
- }
-
- public TreePath getRowIndex() {
- return rowIndex;
- }
-
- private void setRowIndex(FacesContext facesContext, TreePath rowIndex) {
-
- if (ObjectUtils.equals(this.rowIndex, rowIndex)) {
- return; // nothing to do, if already set.
- }
-
- AbstractUITreeNode template = getTemplateComponent();
- pathStates.put(this.rowIndex, saveStateDeep(facesContext, template));
- if (LOG.isDebugEnabled()) {
- LOG.debug("save " + this.rowIndex + " ex=" + template.isExpanded());
- }
-
- this.rowIndex = rowIndex;
- if (rowIndex != null) {
- DefaultMutableTreeNode model = (DefaultMutableTreeNode) getValue();
- currentNode = rowIndex.getNode(model);
- facesContext.getExternalContext().getRequestMap().put(var, currentNode);
- } else {
- FacesContext.getCurrentInstance().getExternalContext().getRequestMap().remove(var);
- currentNode = null;
+ /**
+ * Patch for backward compatibility.
+ */
+ public void onComponentCreated(FacesContext facesContext, UIComponent parent) {
+ Deprecation.LOG.warn("Please not use the <tc:treeData> tag.");
+ if (parent instanceof AbstractUITree) {
+ ValueExpression ve = getValueExpression("var");
+ if (ve != null) {
+ parent.setValueExpression("var", ve);
+ } else {
+ ((AbstractUITree) parent).setVar(getVar());
+ }
}
- Object state = pathStates.get(this.rowIndex);
- if (state != null) {
- restoreStateDeep(facesContext, template, state);
- if (LOG.isDebugEnabled()) {
- LOG.debug("restore " + this.rowIndex + " ex=" + template.isExpanded());
+ if (parent instanceof AbstractUITree) {
+ ValueExpression ve = getValueExpression("value");
+ if (ve != null) {
+ parent.setValueExpression("value", ve);
+ } else {
+ ((AbstractUITree) parent).setValue(getValue());
}
}
}
- /**
- * Restores the state of the component and the state of all facets and children from the state object.
- */
- private void restoreStateDeep(FacesContext facesContext, UIComponent template, Object stateObject) {
- final List<Object> state = (List<Object>) stateObject;
- int i = 0;
- template.restoreState(facesContext, state.get(i++));
-
- // reset the client id (see spec 3.1.6)
- template.setId(template.getId());
-
- final Iterator<UIComponent> facetsAndChildren = template.getFacetsAndChildren();
- while (facetsAndChildren.hasNext()) {
- UIComponent component = (UIComponent) facetsAndChildren.next();
- restoreStateDeep(facesContext, component, state.get(i++));
- }
- }
+ public abstract String getVar();
/**
- * Put the state of the component and the state of all facets and children into a object.
+ * @deprecated since XXX 1.6.0 ???
*/
- private Object saveStateDeep(FacesContext facesContext, UIComponent template) {
- final List<Object> state = new ArrayList<Object>();
- state.add(template.saveState(facesContext));
-
- final Iterator<UIComponent> facetsAndChildren = template.getFacetsAndChildren();
- while (facetsAndChildren.hasNext()) {
- UIComponent component = (UIComponent) facetsAndChildren.next();
- state.add(saveStateDeep(facesContext, component));
- }
- return state;
- }
-/*
- public void buildTreeModel(MixedTreeModel model) {
- model.beginBuildNodeData(this);
- // childred are not needed to add here
- model.endBuildNodeData(this);
- }
- */
-
+ @Deprecated
public void buildTreeModelBegin(FacesContext facesContext, MixedTreeModel model) {
- Object data = getValue();
- if (data instanceof Node) {
- buildTreeModelNodes(facesContext, model, (Node) data, new TreePath(0));
- } else if (data instanceof DefaultMutableTreeNode) {
- buildTreeModelNodes(facesContext, model, (DefaultMutableTreeNode) data, new TreePath(0));
- }
+ Deprecation.LOG.error("Doesn't work anymore.");
}
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
public void buildTreeModelChildren(FacesContext facesContext, MixedTreeModel model) {
+ Deprecation.LOG.error("Doesn't work anymore.");
}
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
public void buildTreeModelEnd(FacesContext facesContext, MixedTreeModel model) {
+ Deprecation.LOG.error("Doesn't work anymore.");
}
- public void buildTreeModelNodes(
- FacesContext facesContext, MixedTreeModel model, Node node, TreePath position) {
-
- setRowIndex(facesContext, position);
- LOG.debug("path index (build) node = '" + position + "'");
-
- getTemplateComponent().buildTreeModelBegin(facesContext, model);
-
- int index = 0;
- for (Node sub : node.getChildren()) {
- buildTreeModelNodes(facesContext, model, sub, new TreePath(position, index));
- index++;
- }
-
- getTemplateComponent().buildTreeModelEnd(facesContext, model);
-
- setRowIndex(facesContext, null);
- }
-
- public void buildTreeModelNodes(
- FacesContext facesContext, MixedTreeModel model, DefaultMutableTreeNode node, TreePath position) {
-
- setRowIndex(facesContext, position);
- LOG.debug("path index (build) dmtn = '" + position + "'");
-
- getTemplateComponent().buildTreeModelBegin(facesContext, model);
-
- int index = 0;
- for (Enumeration e = node.children(); e.hasMoreElements();) {
- DefaultMutableTreeNode sub = (DefaultMutableTreeNode) e.nextElement();
- buildTreeModelNodes(facesContext, model, sub, new TreePath(position, index));
- index++;
- }
-
- getTemplateComponent().buildTreeModelEnd(facesContext, model);
-
- setRowIndex(facesContext, null);
- }
-
- @Override
- public void encodeChildren(FacesContext context) throws IOException {
- }
-
- @Override
- public void encodeEnd(FacesContext facesContext) throws IOException {
- encodeNodes(facesContext, (DefaultMutableTreeNode) getValue(), new TreePath(0));
- super.encodeEnd(facesContext);
- }
-
- private void encodeNodes(FacesContext facesContext, DefaultMutableTreeNode node, TreePath position)
- throws IOException {
-
- setRowIndex(facesContext, position);
- LOG.debug("path index (begin) = '" + position + "'");
- final AbstractUITreeNode template = getTemplateComponent();
- super.encodeBegin(facesContext); // XXX hack!
- // template.getRenderer().pre
- template.encodeBegin(facesContext);
- setRowIndex(facesContext, null);
-
- int index = 0;
- for (Enumeration e = node.children(); e.hasMoreElements();) {
- DefaultMutableTreeNode sub = (DefaultMutableTreeNode) e.nextElement();
- encodeNodes(facesContext, sub, new TreePath(position, index));
- index++;
- }
-
- setRowIndex(facesContext, position);
- LOG.debug("path index (end) = '" + position + "'");
- getTemplateComponent().encodeEnd(facesContext);
- setRowIndex(facesContext, null);
- }
-
- @Override
- public boolean getRendersChildren() {
- return true;
- }
-
- @Override
- public void updateModel(FacesContext facesContext) {
- // nothing to update for tree's
- // TODO: updating the model here and *NOT* in the decode phase
- }
-
- public AbstractUITreeNode getTemplateComponent() {
- for (Object child : getChildren()) {
- if (child instanceof AbstractUITreeNode) {
- return (AbstractUITreeNode) child;
- }
- }
- return null;
- }
-
- @Override
- public String getClientId(FacesContext context) {
- String clientId = super.getClientId(context);
- if (rowIndex == null) {
- return clientId;
- }
- return clientId + NamingContainer.SEPARATOR_CHAR + rowIndex;
- }
-
- public UIComponent findComponent(String searchId) {
-
- assert searchId.matches("^(_\\d+)+" + SEPARATOR_CHAR + ".*")
- : "The searchId '" + searchId + "' does not start with a tree structure";
-
- searchId = searchId.substring(searchId.indexOf(SEPARATOR_CHAR) + 1);
- return super.findComponent(searchId);
- }
-
- @Override
- public void queueEvent(FacesEvent event) {
- super.queueEvent(new FacesEventWrapper(event, getRowIndex(), this));
- }
-
- @Override
- public void broadcast(FacesEvent event) throws AbortProcessingException {
- if (event instanceof FacesEventWrapper) {
- FacesContext facesContext = FacesContext.getCurrentInstance();
- FacesEvent originalEvent = ((FacesEventWrapper) event).getWrappedFacesEvent();
- TreePath eventPathIndex = ((FacesEventWrapper) event).getRowIndex();
- TreePath currentPathIndex = getRowIndex();
- setRowIndex(facesContext, eventPathIndex);
- try {
- originalEvent.getComponent().broadcast(originalEvent);
- } finally {
- setRowIndex(facesContext, currentPathIndex);
- }
- } else {
- super.broadcast(event);
- }
- }
-
- public boolean invokeOnComponent(FacesContext facesContext, String clientId, ContextCallback callback)
- throws FacesException {
- TreePath oldRowIndex = getRowIndex();
- try {
- String sheetId = getClientId(facesContext);
- if (clientId.startsWith(sheetId)) {
- String idRemainder = clientId.substring(sheetId.length());
- if (LOG.isDebugEnabled()) {
- LOG.debug("idRemainder = '" + idRemainder + "'");
- }
- if (idRemainder.matches("^:(_\\d+)+:.*")) {
- idRemainder = idRemainder.substring(1);
- int idx = idRemainder.indexOf(":");
- try {
- TreePath rowIndex = new TreePath(idRemainder.substring(0, idx));
- if (LOG.isDebugEnabled()) {
- LOG.debug("set rowIndex = '" + rowIndex + "'");
- }
- setRowIndex(facesContext, rowIndex);
- } catch (NumberFormatException e) {
- LOG.warn("idRemainder = '" + idRemainder + "'", e);
- }
- } else {
- if (LOG.isDebugEnabled()) {
- LOG.debug("no match for '^:(_\\d+)+:.*'");
- }
- }
- }
-
- return FacesUtils.invokeOnComponent(facesContext, this, clientId, callback);
-
- } finally {
- // we should reset rowIndex on UISheet
- setRowIndex(facesContext, oldRowIndex);
- }
- }
-
- @Override
- public Object saveState(FacesContext context) {
- Object[] state = new Object[2];
- state[0] = super.saveState(context);
- state[1] = var;
- return state;
- }
-
- @Override
- public void restoreState(FacesContext context, Object state) {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
- var = (String) values[1];
- }
-
- public String getVar() {
- return var;
- }
-
- public void setVar(String var) {
- this.var = var;
- }
-
- public DefaultMutableTreeNode getCurrentNode() {
- return currentNode;
- }
-
- public void setCurrentNode(DefaultMutableTreeNode currentNode) {
- this.currentNode = currentNode;
- }
-
- private static class FacesEventWrapper extends FacesEvent {
-
- private static final long serialVersionUID = 1L;
-
- private FacesEvent wrappedFacesEvent;
- private TreePath rowIndex;
-
- FacesEventWrapper(FacesEvent facesEvent, TreePath rowIndex, AbstractUITreeData redirectComponent) {
- super(redirectComponent);
- wrappedFacesEvent = facesEvent;
- this.rowIndex = rowIndex;
- }
-
- @Override
- public PhaseId getPhaseId() {
- return wrappedFacesEvent.getPhaseId();
- }
-
- @Override
- public void setPhaseId(PhaseId phaseId) {
- wrappedFacesEvent.setPhaseId(phaseId);
- }
-
- @Override
- public void queue() {
- wrappedFacesEvent.queue();
- }
-
- @Override
- public String toString() {
- return wrappedFacesEvent.toString();
- }
-
- @Override
- public boolean isAppropriateListener(
- FacesListener faceslistener) {
- return wrappedFacesEvent.isAppropriateListener(faceslistener);
- }
-
- @Override
- public void processListener(FacesListener faceslistener) {
- wrappedFacesEvent.processListener(faceslistener);
- }
-
- public FacesEvent getWrappedFacesEvent() {
- return wrappedFacesEvent;
- }
-
- public TreePath getRowIndex() {
- return rowIndex;
- }
- }
-
- // XXX hack: fix this if there is a Listener
- public Object getMarker() {
- return marked;
- }
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeNode.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeNode.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeNode.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITreeNode.java Tue May 22 12:18:26 2012
@@ -17,133 +17,69 @@ package org.apache.myfaces.tobago.intern
* limitations under the License.
*/
-import org.apache.myfaces.tobago.compat.FacesUtils;
-import org.apache.myfaces.tobago.component.Attributes;
import org.apache.myfaces.tobago.component.SupportsMarkup;
import org.apache.myfaces.tobago.component.TreeModelBuilder;
import org.apache.myfaces.tobago.config.Configurable;
-import org.apache.myfaces.tobago.event.TreeExpansionEvent;
import org.apache.myfaces.tobago.event.TreeExpansionListener;
-import org.apache.myfaces.tobago.event.TreeMarkedEvent;
import org.apache.myfaces.tobago.event.TreeMarkedListener;
+import org.apache.myfaces.tobago.internal.util.Deprecation;
import org.apache.myfaces.tobago.model.MixedTreeModel;
+import org.apache.myfaces.tobago.model.TreeDataModel;
import org.apache.myfaces.tobago.model.TreePath;
import org.apache.myfaces.tobago.util.ComponentUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
import javax.faces.component.UIOutput;
import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
-import javax.faces.event.AbortProcessingException;
-import javax.faces.event.FacesEvent;
+import javax.faces.model.DataModel;
import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreeNode;
import java.io.IOException;
import java.util.List;
+import java.util.Stack;
public abstract class AbstractUITreeNode
extends UIOutput implements SupportsMarkup, TreeModelBuilder, Configurable {
private static final Logger LOG = LoggerFactory.getLogger(AbstractUITreeNode.class);
- private int depth;
- private boolean folder;
- private TreePath path;
- private List<Boolean> junctions;
- private boolean hasNextSibling;
-
- public void buildTreeModelBegin(FacesContext facesContext, MixedTreeModel model) {
- model.beginBuildNode();
- setDepth(computeDepth(this));
- setFolder(computeFolder());
- }
-
- public void buildTreeModelChildren(FacesContext facesContext, MixedTreeModel model) {
- for (Object child : getChildren()) {
- if (child instanceof TreeModelBuilder) {
- TreeModelBuilder builder = (TreeModelBuilder) child;
- builder.buildTreeModelBegin(facesContext, model);
- builder.buildTreeModelChildren(facesContext, model);
- builder.buildTreeModelEnd(facesContext, model);
- }
- }
- }
-
- public void buildTreeModelEnd(FacesContext facesContext, MixedTreeModel model) {
- model.endBuildNode();
- }
-
@Override
- public void encodeBegin(FacesContext context) throws IOException {
- AbstractUITree tree = ComponentUtils.findAncestor(this, AbstractUITree.class);
- MixedTreeModel mixedModel = tree.getModel();
- mixedModel.onEncodeBegin();
- setPath(mixedModel.getPath());
- setHasNextSibling(computeHasNextSibling());
- setJunctions(mixedModel.getJunctions());
- super.encodeBegin(context);
- }
-
- private int computeDepth(UIComponent component) {
- int depth = 0;
- while (component != null) {
- depth++;
- if (component instanceof AbstractUITree) {
- return depth;
- }
- if (component instanceof AbstractUITreeData) {
- Object dataTree = ((AbstractUITreeData) component).getValue();
- // todo: make independent from impl.
- if (dataTree instanceof DefaultMutableTreeNode) {
- return ((DefaultMutableTreeNode) dataTree).getDepth(); // XXX expensive
- }
- LOG.warn("Tree type not supported");
- }
- component = component.getParent();
+ public void encodeBegin(FacesContext facesContext) throws IOException {
+ final AbstractUIData data = ComponentUtils.findAncestor(this, AbstractUIData.class);
+ DataModel model = data.getDataModel();
+ if (model instanceof TreeDataModel) {
+ final TreeDataModel treeDataModel = (TreeDataModel) model;
+ treeDataModel.setRowClientId(getClientId(facesContext));
}
- throw new RuntimeException("Not inside of a UITree");
+
+ super.encodeBegin(facesContext);
}
- private boolean computeFolder() {
- DefaultMutableTreeNode node = getDataNode();
- if (node != null) {
- return !node.isLeaf();
- } else {
- for (UIComponent child : (List<UIComponent>) getChildren()) {
- if ((child instanceof AbstractUITreeNode || child instanceof AbstractUITreeData) && child.isRendered()) {
- return true;
- }
- }
- return false;
- }
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
+ public void buildTreeModelBegin(FacesContext facesContext, MixedTreeModel model) {
+ Deprecation.LOG.error("Doesn't work anymore.");
}
- private boolean computeHasNextSibling() {
- DefaultMutableTreeNode node = getDataNode();
- if (node != null) {
- if (node.isRoot()) {
- return hasSiblingAfter(getParent().getParent(), getParent());
- } else {
- return node.getNextSibling() != null;
- }
- } else {
- return hasSiblingAfter(getParent(), this);
- }
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
+ public void buildTreeModelChildren(FacesContext facesContext, MixedTreeModel model) {
+ Deprecation.LOG.error("Doesn't work anymore.");
}
- private boolean hasSiblingAfter(UIComponent parent, UIComponent child) {
- boolean found = false;
- for (Object sibling : parent.getChildren()) {
- if (child.equals(sibling)) {
- found = true;
- continue;
- }
- if (found) {
- return true;
- }
- }
- return false;
+ /**
+ * @deprecated since XXX 1.6.0 ???
+ */
+ @Deprecated
+ public void buildTreeModelEnd(FacesContext facesContext, MixedTreeModel model) {
+ Deprecation.LOG.error("Doesn't work anymore.");
}
/**
@@ -151,7 +87,7 @@ public abstract class AbstractUITreeNode
* Returns null if it will be called not inside of {@link AbstractUITreeData}
*/
// todo: make independent from impl.: DefaultMutableTreeNode
- private DefaultMutableTreeNode getDataNode() {
+/* private DefaultMutableTreeNode getDataNode() {
UIComponent component = this;
while (component != null) {
if (component instanceof AbstractUITreeData) {
@@ -165,119 +101,109 @@ public abstract class AbstractUITreeNode
component = component.getParent();
}
return null;
- }
+ }*/
@Override
public Object getValue() {
- LOG.error("XXXXXXXXXXX should not be called!!!!!!!!!!!!");
+ LOG.error("XXX: Should not be called!", new Exception());
return super.getValue();
}
+ protected DefaultMutableTreeNode getRowData() {
+ final UIData data = ComponentUtils.findAncestor(this, UIData.class);
+ final Object rowData = data.getRowData();
+ return (DefaultMutableTreeNode) rowData;
+ }
+
/**
* Returns the level of the tree node inside of the virtual tree. The root node has level 0.
* The children of the root note have level 1, and so on.
*/
public int getLevel() {
- return path.getLength() - 1;
+ final DefaultMutableTreeNode node = getRowData();
+ return node.getLevel();
}
public String nodeStateId(FacesContext facesContext) {
- String clientId = getClientId(facesContext);
- AbstractUITree tree = ComponentUtils.findAncestor(this, AbstractUITree.class);
- String treeId = tree.getClientId(facesContext);
- return clientId.substring(treeId.length() + 1);
- }
-
- @Override
- public void broadcast(FacesEvent event) throws AbortProcessingException {
- super.broadcast(event);
- if (event instanceof TreeExpansionEvent) {
- FacesUtils.invokeMethodBinding(getFacesContext(), getTreeExpansionListener(), event);
- boolean expanded = ((TreeExpansionEvent) event).isNewExpanded();
-
- if (FacesUtils.hasValueBindingOrValueExpression(this, Attributes.EXPANDED)) {
- try {
- FacesUtils.setValueOfBindingOrExpression(getFacesContext(), expanded, this, Attributes.EXPANDED);
- } catch (Exception e) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Can't set expanded.", e);
- }
- }
- } else {
- setExpanded(expanded);
- }
- }
- if (event instanceof TreeMarkedEvent) {
- FacesUtils.invokeMethodBinding(getFacesContext(), getTreeMarkedListener(), event);
- boolean marked = ((TreeMarkedEvent) event).isNewMarked();
-
- if (FacesUtils.hasValueBindingOrValueExpression(this, Attributes.MARKED)) {
- try {
- FacesUtils.setValueOfBindingOrExpression(getFacesContext(), marked, this, Attributes.MARKED);
- } catch (Exception e) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Can't set marked.", e);
- }
- }
- } else {
- setMarked(marked);
- }
- }
- }
-
- public void restoreState(FacesContext context, Object componentState) {
- Object[] values = (Object[]) componentState;
- super.restoreState(context, values[0]);
- path = (TreePath) values[1];
- folder = (Boolean) values[2];
- }
-
- public Object saveState(FacesContext context) {
- Object[] values = new Object[3];
- values[0] = super.saveState(context);
- values[1] = path;
- values[2] = folder;
- return values;
+ final String clientId = getClientId(facesContext);
+ final UIData data = ComponentUtils.findAncestor(this, UIData.class);
+ String dataId = data.getClientId(facesContext);
+ return clientId.substring(dataId.length() + 1);
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public int getDepth() {
- return depth;
+ Deprecation.LOG.error("Doesn't work anymore.");
+ return 1;
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public void setDepth(int depth) {
- this.depth = depth;
+ Deprecation.LOG.error("Doesn't work anymore.");
}
public boolean isFolder() {
- return folder;
+ final DefaultMutableTreeNode rowData = getRowData();
+ return !rowData.isLeaf();
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public void setFolder(boolean folder) {
- this.folder = folder;
+ Deprecation.LOG.error("Doesn't work anymore.");
}
public TreePath getPath() {
- return path;
+ return new TreePath(getRowData());
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public void setPath(TreePath path) {
- this.path = path;
+ Deprecation.LOG.error("Doesn't work anymore.");
}
public List<Boolean> getJunctions() {
+ final DefaultMutableTreeNode node = getRowData();
+ List<Boolean> junctions = new Stack<Boolean>();
+ for (TreeNode ancestor : node.getPath()) {
+ junctions.add(((DefaultMutableTreeNode) ancestor).getNextSibling() != null);
+ }
return junctions;
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public void setJunctions(List<Boolean> junctions) {
- this.junctions = junctions;
+ Deprecation.LOG.error("Doesn't work anymore.");
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public boolean isHasNextSibling() {
- return hasNextSibling;
+ return getRowData().getNextSibling() != null;
}
+ /**
+ * @deprecated since XXX 1.6.0 version???
+ */
+ @Deprecated
public void setHasNextSibling(boolean hasNextSibling) {
- this.hasNextSibling = hasNextSibling;
+ Deprecation.LOG.error("Doesn't work anymore.");
}
public abstract MethodBinding getTreeExpansionListener();
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java Tue May 22 12:18:26 2012
@@ -32,6 +32,8 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.internal.taglib.declaration.HasRenderedPartially;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsGridLayoutComponent;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsGridLayoutContainer;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsShowRoot;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsShowRootJunction;
/**
* Render a sheet element.
@@ -50,7 +52,7 @@ import org.apache.myfaces.tobago.interna
allowedChildComponenents = "org.apache.myfaces.tobago.Reload")})
public interface SheetTagDeclaration
extends HasIdBindingAndRendered, IsGridLayoutComponent, IsGridLayoutContainer, HasMarkup, HasCurrentMarkup,
- HasRenderedPartially {
+ HasRenderedPartially, IsShowRoot, IsShowRootJunction {
/**
* LayoutConstraints for column layout.
* Semicolon separated list of layout tokens ('<x>*', '<x>px' or '<x>%').
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeDataTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeDataTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeDataTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeDataTagDeclaration.java Tue May 22 12:18:26 2012
@@ -28,7 +28,10 @@ import org.apache.myfaces.tobago.interna
/**
* Describes a sub tree of nodes.
* The value has to be a javax.swing.tree.TreeNode object to use as rootNode in the tree.
+ *
+ * @deprecated since XXX 1.6.0 ??? Use the "var" and "value" attribute of the parent tree tag.
*/
+@Deprecated
@Tag(name = "treeData")
@BodyContentDescription(anyTagOf = "<tc:treeNode>")
@UIComponentTag(
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java Tue May 22 12:18:26 2012
@@ -37,7 +37,7 @@ import org.apache.myfaces.tobago.interna
@BodyContentDescription(anyTagOf = "<tc:treeNode>|<tc:treeData>")
@UIComponentTag(
uiComponent = "org.apache.myfaces.tobago.component.UITreeListbox",
- uiComponentBaseClass = "org.apache.myfaces.tobago.internal.component.AbstractUITree",
+ uiComponentBaseClass = "org.apache.myfaces.tobago.internal.component.AbstractUITreeListbox",
rendererType = RendererTypes.TREE_LISTBOX,
allowedChildComponenents = {
"org.apache.myfaces.tobago.TreeNode",
@@ -68,6 +68,8 @@ public interface TreeListboxTagDeclarati
* component's state.
*/
@TagAttribute
- @UIComponentTagAttribute(type = "java.lang.Object", expression = DynamicExpression.VALUE_BINDING_REQUIRED)
+ @UIComponentTagAttribute(
+ type = "org.apache.myfaces.tobago.model.TreeState",
+ expression = DynamicExpression.VALUE_BINDING_REQUIRED)
void setState(String state);
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeMenuTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeMenuTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeMenuTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeMenuTagDeclaration.java Tue May 22 12:18:26 2012
@@ -27,7 +27,10 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentMarkup;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasMarkup;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasValue;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasVar;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsGridLayoutComponent;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsShowRoot;
/**
* A tree which will be displayed like a flat menu.
@@ -44,23 +47,18 @@ import org.apache.myfaces.tobago.interna
"org.apache.myfaces.tobago.TreeData"
})
public interface TreeMenuTagDeclaration
- extends HasIdBindingAndRendered, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup {
+ extends HasIdBindingAndRendered, HasValue, HasVar, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup,
+ IsShowRoot {
/**
*
* <strong>ValueBindingExpression</strong> pointing to a object to save the
* component's state.
- *
*/
@TagAttribute
- @UIComponentTagAttribute(type = "java.lang.Object", expression = DynamicExpression.VALUE_BINDING_REQUIRED)
+ @UIComponentTagAttribute(
+ type = "org.apache.myfaces.tobago.model.TreeState",
+ expression = DynamicExpression.VALUE_BINDING_REQUIRED)
void setState(String state);
- /**
- * Indicates that the root node should be displayed or not.
- * Normally the root node of a menu will not be shown, because it has only technical significance.
- */
- @TagAttribute
- @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
- void setShowRoot(String showRoot);
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeNodeTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeNodeTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeNodeTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeNodeTagDeclaration.java Tue May 22 12:18:26 2012
@@ -51,21 +51,27 @@ public interface
/**
* Flag indicating if the subnodes are to be displayed.
+ * @deprecated since XXX 1.6.0 ??? Please use the state attribute of the tree with a TreeState
*/
+ @Deprecated
@TagAttribute()
@UIComponentTagAttribute(type = "boolean", defaultValue = "false")
void setExpanded(String expanded);
/**
* Flag indicating if the node is marked, and should be displayed in a special way.
+ * @deprecated since XXX 1.6.0 ??? Please use the state attribute of the tree with a TreeState
*/
+ @Deprecated
@TagAttribute()
@UIComponentTagAttribute(type = "boolean", defaultValue = "false")
void setMarked(String marked);
/**
* Flag indicating if the node is selected (only possible, when the tree component allows it).
+ * @deprecated since XXX 1.6.0 ??? Please use <code><tc:treeSelect></code>
*/
+ @Deprecated
@TagAttribute()
@UIComponentTagAttribute(type = "boolean", defaultValue = "false")
void setSelected(String selected);
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeSelectTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeSelectTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeSelectTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeSelectTagDeclaration.java Tue May 22 12:18:26 2012
@@ -22,12 +22,19 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
import org.apache.myfaces.tobago.component.RendererTypes;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasConverter;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasConverterMessage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentMarkup;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabel;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasMarkup;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasRequiredMessage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasValidatorMessage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasValue;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasValueChangeListener;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsDisabled;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsRequired;
/**
* Makes a tree node selectable.
@@ -39,7 +46,8 @@ import org.apache.myfaces.tobago.interna
rendererType = RendererTypes.TREE_SELECT,
allowedChildComponenents = "NONE")
public interface TreeSelectTagDeclaration
- extends HasIdBindingAndRendered, HasLabel, HasTip, HasMarkup, HasCurrentMarkup, HasValue {
+ extends HasIdBindingAndRendered, HasLabel, HasTip, HasMarkup, HasCurrentMarkup, HasValue, HasValueChangeListener,
+ IsDisabled, IsRequired, HasConverter, HasValidatorMessage, HasRequiredMessage, HasConverterMessage {
/**
* Show a checkbox to visualize the selection state.
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeTagDeclaration.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeTagDeclaration.java Tue May 22 12:18:26 2012
@@ -27,8 +27,11 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentMarkup;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasMarkup;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasValue;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasVar;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsGridLayoutComponent;
-import org.apache.myfaces.tobago.internal.taglib.declaration.IsRequired;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsShowRoot;
+import org.apache.myfaces.tobago.internal.taglib.declaration.IsShowRootJunction;
/**
* A tree with classical look.
@@ -45,7 +48,8 @@ import org.apache.myfaces.tobago.interna
"org.apache.myfaces.tobago.TreeData"
})
public interface TreeTagDeclaration
- extends HasIdBindingAndRendered, IsRequired, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup {
+ extends HasIdBindingAndRendered, HasValue, HasVar, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup,
+ IsShowRoot, IsShowRootJunction {
/**
* Flag indicating whether or not this component should be render selectable items.
@@ -65,21 +69,14 @@ public interface TreeTagDeclaration
allowedValues = {"multi", "single", "multiLeafOnly", "singleLeafOnly", "off"})
void setSelectable(String selectable);
- @TagAttribute
- @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
- void setShowRootJunction(String showRootJunction);
-
- @TagAttribute
- @UIComponentTagAttribute(type = "boolean", defaultValue = "false")
- void setShowRoot(String showRoot);
-
/**
*
* <strong>ValueBindingExpression</strong> pointing to a object to save the
* component's state.
- *
*/
@TagAttribute
- @UIComponentTagAttribute(type = "java.lang.Object", expression = DynamicExpression.VALUE_BINDING_REQUIRED)
+ @UIComponentTagAttribute(
+ type = "org.apache.myfaces.tobago.model.TreeState",
+ expression = DynamicExpression.VALUE_BINDING_REQUIRED)
void setState(String state);
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/DefaultMutableTreeNodeAnalyser.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/DefaultMutableTreeNodeAnalyser.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/DefaultMutableTreeNodeAnalyser.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/DefaultMutableTreeNodeAnalyser.java Tue May 22 12:18:26 2012
@@ -19,7 +19,10 @@ package org.apache.myfaces.tobago.model;
import javax.swing.tree.DefaultMutableTreeNode;
-
+/**
+ * @deprecated since XXX 1.6.0 version???
+ */
+@Deprecated
public class DefaultMutableTreeNodeAnalyser implements TreeAnalyser {
private DefaultMutableTreeNode node;
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MixedTreeModel.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MixedTreeModel.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MixedTreeModel.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/MixedTreeModel.java Tue May 22 12:18:26 2012
@@ -24,6 +24,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
+/**
+ * @deprecated since XXX 1.6.0 ???
+ */
+@Deprecated
public class MixedTreeModel {
private static final Logger LOG = LoggerFactory.getLogger(MixedTreeModel.class);
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/Node.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/Node.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/Node.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/Node.java Tue May 22 12:18:26 2012
@@ -21,7 +21,10 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-
+/**
+ * @deprecated since XXX 1.6.0 ???
+ */
+@Deprecated
public class Node {
private List<Node> children;
@@ -58,7 +61,7 @@ public class Node {
for (int i = 0; i < children.size(); i++) {
Node child = children.get(i);
if (child.equals(node)) {
- return i;
+ return i;
}
}
return -1;
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/SheetState.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/SheetState.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/SheetState.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/SheetState.java Tue May 22 12:18:26 2012
@@ -27,10 +27,12 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-// TODO find a better solution for this
public class SheetState implements Serializable {
+
private static final long serialVersionUID = 7765536344426661777L;
+
private static final Logger LOG = LoggerFactory.getLogger(SheetState.class);
+
public static final String SEPARATOR = ",";
private int first = -1;
@@ -39,6 +41,7 @@ public class SheetState implements Seria
private String columnWidths;
private List<Integer> selectedRows;
private Integer[] scrollPosition;
+ private ExpandedState expandedState;
public SheetState() {
resetSelected();
@@ -109,6 +112,17 @@ public class SheetState implements Seria
this.scrollPosition = scrollPosition;
}
+ public ExpandedState getExpandedState() {
+ if (expandedState == null) {
+ expandedState = new ExpandedState(2);
+ }
+ return expandedState;
+ }
+
+ public void setExpandedState(ExpandedState expandedState) {
+ this.expandedState = expandedState;
+ }
+
public static Integer[] parseScrollPosition(String value) {
Integer[] position = null;
if (!StringUtils.isBlank(value)) {
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeAnalyser.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeAnalyser.java?rev=1341439&r1=1341438&r2=1341439&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeAnalyser.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/model/TreeAnalyser.java Tue May 22 12:18:26 2012
@@ -18,8 +18,9 @@ package org.apache.myfaces.tobago.model;
*/
/**
- * Date: 04.12.2008
+ * @deprecated since XXX 1.6.0 version???
*/
+@Deprecated
public interface TreeAnalyser {
int computeDepth();