[richfaces-svn-commits] JBoss Rich Faces SVN: r13628 - in trunk/test-applications/seamApp/web/src/main: java/org/richfaces/helloworld/domain and 14 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Apr 17 07:44:55 EDT 2009
Author: adubovsky
Date: 2009-04-17 07:44:55 -0400 (Fri, 17 Apr 2009)
New Revision: 13628
Added:
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/PVisability.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTree.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeDND.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeNA.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeRNA.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/treeSwing/
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/treeSwing/TreeSwing.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/Car.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/CarProvider.java
trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/
trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/
trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/tTree/
trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/util/
trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/util/data/
trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/util/data/cars.xml
Removed:
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tree/
trunk/test-applications/seamApp/web/src/main/java/tTree/
trunk/test-applications/seamApp/web/src/main/resources/tTree/
Modified:
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/editor/Editor.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/skinning/Skinning.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Dir.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Package.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Project.java
trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/skins/Skins.java
trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/faces-config.xml
trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/web.xml
Log:
Make skinning workable
Modified: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/editor/Editor.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/editor/Editor.java 2009-04-17 11:20:24 UTC (rev 13627)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/editor/Editor.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -43,7 +43,7 @@
// value = "It's easy to make *emphasis*, |monospace|, ~deleted text~,
// super^scripts^ or _underlines_.";
// value = "This is a |<tag attribute=\"value\" />| example.";
- value = "Collaboration-oriented websites require a human-friendly markup language for easy entry of formatted text in forum posts, wiki pages, blogs, comments, etc. Seam provides the <s:formattedText/> control for display of formatted text that conforms to the Seam Text language. Seam Text is implemented using an ANTLR-based parser. You don't need to know anything about ANTLR to use it, however.";
+ value = "Collaboration-oriented websites require a human-friendly markup language for easy entry of formatted text in forum posts, wiki pages, blogs, comments, etc. Seam provides the s:formattedText control for display of formatted text that conforms to the Seam Text language. Seam Text is implemented using an ANTLR-based parser. You don't need to know anything about ANTLR to use it, however.";
width = "400";
height = "200";
theme = "simple";
Modified: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/skinning/Skinning.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/skinning/Skinning.java 2009-04-17 11:20:24 UTC (rev 13627)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/skinning/Skinning.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -3,9 +3,12 @@
import java.util.ArrayList;
import javax.faces.model.SelectItem;
+import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
@Name("skinning")
+ at Scope(ScopeType.SESSION)
public class Skinning {
private ArrayList<SelectItem> list = new ArrayList<SelectItem>();
private ArrayList<SelectItem> enableStyle = new ArrayList<SelectItem>();
Copied: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/PVisability.java (from rev 13519, trunk/test-applications/seamApp/web/src/main/java/tTree/PVisability.java)
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/PVisability.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/PVisability.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,54 @@
+package org.richfaces.helloworld.domain.tTree;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+ at Name("pVisability")
+ at Scope(ScopeType.SESSION)
+public class PVisability {
+ private boolean tTreeSubviewID;
+ private boolean tTreePropertySubviewID;
+ private boolean tTreeStraightforwardSubviewID;
+ private boolean tTreeDefaultSubviewID;
+
+ public PVisability() {
+ tTreeSubviewID = true;
+ tTreePropertySubviewID = false;
+ tTreeStraightforwardSubviewID = false;
+ tTreeDefaultSubviewID = false;
+ }
+
+ public boolean istTreeDefaultSubviewID() {
+ return tTreeDefaultSubviewID;
+ }
+
+ public void settTreeDefaultSubviewID(boolean treeDefaultSubviewID) {
+ tTreeDefaultSubviewID = treeDefaultSubviewID;
+ }
+
+ public boolean istTreeSubviewID() {
+ return tTreeSubviewID;
+ }
+
+ public void settTreeSubviewID(boolean treeSubviewID) {
+ tTreeSubviewID = treeSubviewID;
+ }
+
+ public boolean istTreePropertySubviewID() {
+ return tTreePropertySubviewID;
+ }
+
+ public void settTreePropertySubviewID(boolean treePropertySubviewID) {
+ tTreePropertySubviewID = treePropertySubviewID;
+ }
+
+ public boolean istTreeStraightforwardSubviewID() {
+ return tTreeStraightforwardSubviewID;
+ }
+
+ public void settTreeStraightforwardSubviewID(
+ boolean treeStraightforwardSubviewID) {
+ tTreeStraightforwardSubviewID = treeStraightforwardSubviewID;
+ }
+}
Copied: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTree.java (from rev 13519, trunk/test-applications/seamApp/web/src/main/java/tTree/TTree.java)
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTree.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTree.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,202 @@
+package org.richfaces.helloworld.domain.tTree;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.richfaces.component.UITree;
+import org.richfaces.component.xml.XmlTreeDataBuilder;
+import org.richfaces.event.NodeExpandedEvent;
+import org.richfaces.event.NodeSelectedEvent;
+import org.richfaces.model.TreeNode;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import org.richfaces.helloworld.domain.util.componentInfo.ComponentInfo;;
+
+ at Name("tTree")
+ at Scope(ScopeType.SESSION)
+public class TTree {
+ private String switchType = "server";
+ private TreeNode data;
+ private UITree tree;
+ private boolean immediate = false;
+ private boolean ajaxSubmitSelection = false;
+ private String anOpened = "null";
+ private String anSelected = "null";
+ private boolean rendered = true;
+ private boolean showConnectingLines = false;
+ private boolean toggleOnClick = false;
+ private boolean useCustomIcons = false;
+
+ private String reRenderCheck = "... waiting ...";
+
+ public TTree() {
+ try {
+ data = XmlTreeDataBuilder.build(new InputSource(getClass()
+ .getResourceAsStream("test.xml")));
+
+ TreeNode pomData = XmlTreeDataBuilder.build(new InputSource(
+ getClass().getResourceAsStream("pom_sample.xml")));
+
+ Iterator children = pomData.getChildren();
+ while (children.hasNext()) {
+ Map.Entry entry = (Map.Entry) children.next();
+ data.addChild(new Long(1), (TreeNode) entry.getValue());
+ }
+
+ } catch (SAXException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void addCustomIcons() {
+ if (useCustomIcons) {
+ tree.setIcon("/pics/1.gif");
+ tree.setIconCollapsed("/pics/3.gif");
+ tree.setIconExpanded("/pics/4.gif");
+ tree.setIconLeaf("/pics/2.gif");
+ } else {
+ tree.setIcon(null);
+ tree.setIconCollapsed(null);
+ tree.setIconExpanded(null);
+ tree.setIconLeaf(null);
+ }
+ }
+
+ public void add() {
+ ComponentInfo info = ComponentInfo.getInstance();
+ info.addField(tree);
+ }
+
+ public void resetReRenderCheck() {
+ reRenderCheck = "... waiting ...";
+ }
+
+ public Boolean adviseNodeOpened(UITree t) {
+ Boolean tAnOpened = null;
+ if (anOpened.equals("FALSE"))
+ tAnOpened = Boolean.FALSE;
+ else if (anOpened.equals("TRUE"))
+ tAnOpened = Boolean.TRUE;
+
+ return tAnOpened;
+ }
+
+ public Boolean adviseNodeSelected(UITree t) {
+ Boolean tAnSelected = null;
+ if (anSelected.equals("FALSE"))
+ tAnSelected = Boolean.FALSE;
+ else if (anSelected.equals("TRUE"))
+ tAnSelected = Boolean.TRUE;
+
+ return tAnSelected;
+ }
+
+ public void changeExpandListener(NodeExpandedEvent e) {
+ reRenderCheck = "!!! I am WORKing !!!";
+ System.out.println("!!! changeExpandListener !!!");
+ }
+
+ public void nodeSelectListener(NodeSelectedEvent e) {
+ reRenderCheck = "!!! I am WORKing !!!";
+ System.out.println("!!! nodeSelectListener !!!");
+ }
+
+ public String getReRenderCheck() {
+ return reRenderCheck;
+ }
+
+ public boolean isImmediate() {
+ return immediate;
+ }
+
+ public void setImmediate(boolean immediate) {
+ this.immediate = immediate;
+ }
+
+ public boolean isAjaxSubmitSelection() {
+ return ajaxSubmitSelection;
+ }
+
+ public void setAjaxSubmitSelection(boolean ajaxSubmitSelection) {
+ this.ajaxSubmitSelection = ajaxSubmitSelection;
+ }
+
+ public String getSwitchType() {
+ return switchType;
+ }
+
+ public void setSwitchType(String switchType) {
+ this.switchType = switchType;
+ }
+
+ public TreeNode getData() {
+ return data;
+ }
+
+ public void setData(TreeNode data) {
+ this.data = data;
+ }
+
+ public UITree getTree() {
+ return tree;
+ }
+
+ public void setTree(UITree tree) {
+ this.tree = tree;
+ }
+
+ public String getAnOpened() {
+ return anOpened;
+ }
+
+ public void setAnOpened(String anOpened) {
+ this.anOpened = anOpened;
+ }
+
+ public String getAnSelected() {
+ return anSelected;
+ }
+
+ public void setAnSelected(String anSelected) {
+ this.anSelected = anSelected;
+ }
+
+ public boolean isRendered() {
+ return rendered;
+ }
+
+ public void setRendered(boolean rendered) {
+ this.rendered = rendered;
+ }
+
+ public boolean isShowConnectingLines() {
+ return showConnectingLines;
+ }
+
+ public void setShowConnectingLines(boolean showConnectingLines) {
+ this.showConnectingLines = showConnectingLines;
+ }
+
+ public boolean isToggleOnClick() {
+ return toggleOnClick;
+ }
+
+ public void setToggleOnClick(boolean toggleOnClick) {
+ this.toggleOnClick = toggleOnClick;
+ }
+
+ public boolean isUseCustomIcons() {
+ return useCustomIcons;
+ }
+
+ public void setUseCustomIcons(boolean useCustomIcons) {
+ this.useCustomIcons = useCustomIcons;
+ }
+}
\ No newline at end of file
Copied: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeDND.java (from rev 13519, trunk/test-applications/seamApp/web/src/main/java/tTree/TTreeDND.java)
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeDND.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeDND.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,254 @@
+package org.richfaces.helloworld.domain.tTree;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.faces.FacesException;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.richfaces.component.UITree;
+import org.richfaces.component.UITreeNode;
+import org.richfaces.event.DragEvent;
+import org.richfaces.event.DropEvent;
+import org.richfaces.event.NodeExpandedEvent;
+import org.richfaces.event.NodeSelectedEvent;
+import org.richfaces.model.TreeNode;
+import org.richfaces.model.TreeNodeImpl;
+import org.richfaces.model.TreeRowKey;
+
+ at Name("tTreeDND")
+ at Scope(ScopeType.SESSION)
+public class TTreeDND {
+ private static final String DATA_PATH = "org/richfaces/simpleTreeData.properties";
+
+ private TreeNode<String> treeNodeLeft;
+ private UITree leftTree;
+ private String leftSelectedNodeTitle;
+ private String rightSelectedNodeTitle;
+ private TreeNode<String> treeNodeRight;
+ private UITree rightTree;
+
+ private void addNodes(String path, TreeNode<String> node,
+ Properties properties) {
+ boolean end = false;
+ int counter = 1;
+ while (!end) {
+ String key = path != null ? path + '.' + counter : String
+ .valueOf(counter);
+ String value = properties.getProperty(key);
+ if (value != null) {
+ TreeNodeImpl<String> nodeImpl = new TreeNodeImpl<String>();
+ nodeImpl.setData(value);
+ node.addChild(new Integer(counter), nodeImpl);
+ addNodes(key, nodeImpl, properties);
+ counter++;
+ } else {
+ end = true;
+ }
+ }
+ }
+
+ private TreeNode<String> initPaneTree() {
+ TreeNode<String> rootNode = null;
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ ExternalContext externalContext = facesContext.getExternalContext();
+
+ InputStream dataStream = this.getClass().getClassLoader()
+ .getResourceAsStream(DATA_PATH);
+
+ try {
+ Properties properties = new Properties();
+ properties.load(dataStream);
+ rootNode = new TreeNodeImpl<String>();
+ addNodes(null, rootNode, properties);
+ } catch (IOException e) {
+
+ throw new FacesException(e.getMessage(), e);
+
+ } finally {
+ if (dataStream != null) {
+ try {
+ dataStream.close();
+ } catch (IOException e) {
+ externalContext.log(e.getMessage(), e);
+ }
+ }
+ }
+ return rootNode;
+ }
+
+ private Object getNewId(TreeNode parentNode) {
+ Map<Object, TreeNode> childs = new HashMap<Object, TreeNode>();
+ Iterator<Map.Entry<Object, TreeNode>> iter = parentNode.getChildren();
+ while (iter != null && iter.hasNext()) {
+ Map.Entry<Object, TreeNode> entry = iter.next();
+ childs.put(entry.getKey(), entry.getValue());
+ }
+
+ Integer index = 1;
+ while (childs.containsKey(index)) {
+ index++;
+ }
+ return index;
+ }
+
+ public void onDrop(DropEvent dropEvent) {
+ System.out.println("onDrop occured.");
+ System.out.println("DragValue: " + dropEvent.getDragValue());
+ System.out.println("DropValue: " + dropEvent.getDropValue());
+
+ // resolve drag source attributes
+ UITreeNode srcNode = (dropEvent.getDraggableSource() instanceof UITreeNode) ? (UITreeNode) dropEvent
+ .getDraggableSource()
+ : null;
+ UITree srcTree = srcNode != null ? srcNode.getUITree() : null;
+ TreeRowKey dragNodeKey = (dropEvent.getDragValue() instanceof TreeRowKey) ? (TreeRowKey) dropEvent
+ .getDragValue()
+ : null;
+
+ // resolve drag destination attributes
+ UITreeNode destNode = (dropEvent.getSource() instanceof UITreeNode) ? (UITreeNode) dropEvent
+ .getSource()
+ : null;
+ UITree destTree = destNode != null ? destNode.getUITree()
+ : (UITree) dropEvent.getComponent();
+ TreeRowKey dropNodeKey = (dropEvent.getDropValue() instanceof TreeRowKey) ? (TreeRowKey) dropEvent
+ .getDropValue()
+ : null;
+
+ FacesContext context = FacesContext.getCurrentInstance();
+
+ if (dropNodeKey != null) {
+ // add destination node for rerender
+ destTree.addRequestKey(dropNodeKey);
+
+ Object state = null;
+ TreeNode draggedNode = null;
+ if (dragNodeKey != null) { // Drag from this or other tree
+ draggedNode = srcTree.getModelTreeNode(dragNodeKey);
+
+ TreeNode parentNode = draggedNode.getParent();
+ // 1. remove node from tree
+ state = srcTree.removeNode(dragNodeKey);
+ // 2. add parent for rerender
+ Object rowKey = srcTree.getTreeNodeRowKey(parentNode);
+ srcTree.addRequestKey(rowKey);
+ } else if (dropEvent.getDragValue() != null) { // Drag from some
+ // drag source
+ draggedNode = new TreeNodeImpl<String>();
+ draggedNode.setData(dropEvent.getDragValue().toString());
+ }
+
+ // generate new node id
+ Object id = getNewId(destTree.getTreeNode(dropNodeKey));
+ destTree.addNode(dropNodeKey, draggedNode, id, state);
+ }
+
+ AjaxContext ac = AjaxContext.getCurrentInstance();
+ // Add destination tree to reRender
+ try {
+ ac.addComponentToAjaxRender(destTree);
+ } catch (Exception e) {
+ System.err.print(e.getMessage());
+ }
+
+ // Add source tree to reRender
+ try {
+ ac.addComponentToAjaxRender(srcTree);
+ } catch (Exception e) {
+ System.err.print(e.getMessage());
+ }
+
+ System.out.println("+++++");
+ }
+
+ public void onExpand(NodeExpandedEvent event) {
+ UITree tree = (UITree) event.getComponent();
+ System.out.println("Tree ('" + tree.getId() + "') node "
+ + (tree.isExpanded() ? "expanded" : "collapsed") + " "
+ + tree.getRowKey());
+ }
+
+ public void onDrag(DragEvent dragEvent) {
+ System.out.println("onDrag occured.");
+ System.out.println("DragValue: " + dragEvent.getDragValue());
+ System.out.println("DropValue: " + dragEvent.getDropValue());
+ }
+
+ public void processLSelection(NodeSelectedEvent event) {
+ UITree tree = (UITree) event.getComponent();
+ if (tree != null) {
+ leftSelectedNodeTitle = (String) tree.getRowData();
+ }
+ }
+
+ public void processRSelection(NodeSelectedEvent event) {
+ UITree tree = (UITree) event.getComponent();
+ if (tree != null) {
+ rightSelectedNodeTitle = (String) tree.getRowData();
+ }
+ }
+
+ public TreeNode<String> getTreeNodeLeft() {
+ if (treeNodeLeft == null) {
+ treeNodeLeft = initPaneTree();
+ }
+ return treeNodeLeft;
+ }
+
+ public void setTreeNodeLeft(TreeNode<String> treeNodeLeft) {
+ this.treeNodeLeft = treeNodeLeft;
+ }
+
+ public UITree getLeftTree() {
+ return leftTree;
+ }
+
+ public void setLeftTree(UITree leftTree) {
+ this.leftTree = leftTree;
+ }
+
+ public String getRightSelectedNodeTitle() {
+ return rightSelectedNodeTitle;
+ }
+
+ public void setRightSelectedNodeTitle(String rightSelectedNodeTitle) {
+ this.rightSelectedNodeTitle = rightSelectedNodeTitle;
+ }
+
+ public String getLeftSelectedNodeTitle() {
+ return leftSelectedNodeTitle;
+ }
+
+ public void setLeftSelectedNodeTitle(String leftSelectedNodeTitle) {
+ this.leftSelectedNodeTitle = leftSelectedNodeTitle;
+ }
+
+ public UITree getRightTree() {
+ return rightTree;
+ }
+
+ public void setRightTree(UITree rightTree) {
+ this.rightTree = rightTree;
+ }
+
+ public TreeNode<String> getTreeNodeRight() {
+ if (treeNodeRight == null) {
+ treeNodeRight = initPaneTree();
+ }
+ return treeNodeRight;
+ }
+
+ public void setTreeNodeRight(TreeNode<String> treeNodeRight) {
+ this.treeNodeRight = treeNodeRight;
+ }
+}
Copied: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeNA.java (from rev 13519, trunk/test-applications/seamApp/web/src/main/java/tTree/TTreeNA.java)
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeNA.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeNA.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,44 @@
+package org.richfaces.helloworld.domain.tTree;
+
+import java.util.ArrayList;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.richfaces.helloworld.domain.tTree.data.Dir;
+import org.richfaces.helloworld.domain.tTree.data.Package;
+import org.richfaces.helloworld.domain.tTree.data.Project;
+
+
+ at Name("tTreeNA")
+ at Scope(ScopeType.SESSION)
+public class TTreeNA {
+ private ArrayList<Project> treeNA;
+
+ public TTreeNA() {
+ treeNA = new ArrayList<Project>();
+ ArrayList<Dir> dirsArr = new ArrayList<Dir>();
+ ArrayList<Package> packArr = new ArrayList<Package>();
+
+ treeNA.clear();
+ for (int i = 0; i < 3; i++) {
+ dirsArr.clear();
+ for (int j = 0; j < 4; j++) {
+ packArr.clear();
+ for (int k = 0; k < 5; k++) {
+ packArr.add(new Package("package #" + i + " " + j + " " + k));
+ }
+ dirsArr.add(new Dir("dir #" + i + " " + j, new ArrayList<Package>(packArr)));
+ }
+ treeNA.add(new Project("project #" + i, new ArrayList<Dir>(dirsArr)));
+ }
+ }
+
+ public ArrayList<Project> getTreeNA() {
+ return treeNA;
+ }
+
+ public void setTreeNA(ArrayList<Project> treeNA) {
+ this.treeNA = treeNA;
+ }
+}
Copied: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeRNA.java (from rev 13519, trunk/test-applications/seamApp/web/src/main/java/tTree/TTreeRNA.java)
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeRNA.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/TTreeRNA.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,54 @@
+package org.richfaces.helloworld.domain.tTree;
+
+import java.util.ArrayList;
+
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.richfaces.helloworld.domain.tTree.data.Dir;
+import org.richfaces.helloworld.domain.tTree.data.Package;
+
+
+ at Name("tTreeRNA")
+ at Scope(ScopeType.SESSION)
+public class TTreeRNA {
+ private ArrayList<Dir> treeRNAroots;
+
+ public TTreeRNA() {
+ treeRNAroots = new ArrayList<Dir>();
+ ArrayList<Dir> dirsArr = new ArrayList<Dir>();
+ ArrayList<Dir> subDirsArr = new ArrayList<Dir>();
+ ArrayList<Package> packArr = new ArrayList<Package>();
+ ArrayList<Package> subPackArr = new ArrayList<Package>();
+
+ treeRNAroots.clear();
+ dirsArr.clear();
+ for (int j = 0; j < 4; j++) {
+ packArr.clear();
+ subDirsArr.clear();
+ for (int k = 0; k < 5; k++) {
+ packArr.add(new Package("package #" + j + " " + k));
+ }
+ for (int f = 0; f < 4; f++) {
+ subPackArr.clear();
+ for (int l = 0; l < 5; l++) {
+ subPackArr.add(new Package("subPackage #" + j + " " + f
+ + " " + l));
+ }
+ subDirsArr.add(new Dir("subDir #" + j + " " + f,
+ new ArrayList<Package>(subPackArr)));
+ }
+ dirsArr.add(new Dir("dir #" + j, new ArrayList<Package>(packArr),
+ new ArrayList<Dir>(subDirsArr)));
+ }
+ treeRNAroots.add(new Dir("*** root ***", null, dirsArr));
+ }
+
+ public ArrayList<Dir> getTreeRNAroots() {
+ return treeRNAroots;
+ }
+
+ public void setTreeRNAroots(ArrayList<Dir> treeRNAroots) {
+ this.treeRNAroots = treeRNAroots;
+ }
+}
Copied: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data (from rev 13519, trunk/test-applications/seamApp/web/src/main/java/tTree/data)
Modified: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Dir.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/tTree/data/Dir.java 2009-04-13 10:26:15 UTC (rev 13519)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Dir.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -1,4 +1,4 @@
-package tTree.data;
+package org.richfaces.helloworld.domain.tTree.data;
import java.util.ArrayList;
Modified: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Package.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/tTree/data/Package.java 2009-04-13 10:26:15 UTC (rev 13519)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Package.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -1,4 +1,4 @@
-package tTree.data;
+package org.richfaces.helloworld.domain.tTree.data;
public class Package {
private String name;
Modified: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Project.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/tTree/data/Project.java 2009-04-13 10:26:15 UTC (rev 13519)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/tTree/data/Project.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -1,4 +1,4 @@
-package tTree.data;
+package org.richfaces.helloworld.domain.tTree.data;
import java.util.ArrayList;
Added: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/treeSwing/TreeSwing.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/treeSwing/TreeSwing.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/treeSwing/TreeSwing.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,155 @@
+package org.richfaces.helloworld.domain.treeSwing;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.MutableTreeNode;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.richfaces.component.UITree;
+import org.richfaces.event.NodeSelectedEvent;
+
+import org.richfaces.helloworld.domain.util.componentInfo.ComponentInfo;;
+
+public class TreeSwing {
+
+ MutableTreeNode top;
+
+ UITree tree;
+
+ private String switchType = "ajax";
+
+ private boolean rendered = true;
+
+ private boolean showConnectingLines = false;
+
+ private boolean useCustomIcons = false;
+
+ private boolean disableKeyboardNavigation = false;
+
+ public TreeSwing() {
+ top = new DefaultMutableTreeNode("The Java Series");
+ createNodes(top);
+ }
+
+ public void selectionListener(NodeSelectedEvent e) {
+ UITree uiTree = (UITree) e.getComponent();
+ Object rowKey = uiTree.getRowKey();
+ MutableTreeNode node = (MutableTreeNode) uiTree.getRowData();
+ if (node.isLeaf()) {
+ uiTree.removeNode(rowKey);
+ }
+
+ AjaxContext ac = AjaxContext.getCurrentInstance();
+ try {
+ ac.addComponentToAjaxRender(uiTree);
+ } catch (Exception exc) {
+ System.err.print(exc.getMessage());
+ }
+ }
+
+ private void createNodes(MutableTreeNode top) {
+ MutableTreeNode category = null;
+ MutableTreeNode book = null;
+
+ category = new DefaultMutableTreeNode("Books for Java Programmers");
+ top.insert(category, 0);
+
+ // original Tutorial
+ book = new DefaultMutableTreeNode(
+ "The Java Tutorial: A Short Course on the Basics");
+ category.insert(book, 0);
+
+ // Tutorial Continued
+ book = new DefaultMutableTreeNode(
+ "The Java Tutorial Continued: The Rest of the JDK");
+ category.insert(book, 1);
+
+ // JFC Swing Tutorial
+ book = new DefaultMutableTreeNode(
+ "The JFC Swing Tutorial: A Guide to Constructing GUIs");
+ category.insert(book, 2);
+
+ // ...add more books for programmers...
+ category = new DefaultMutableTreeNode("Books for Java Implementers");
+ top.insert(category, 1);
+
+ // VM
+ book = new DefaultMutableTreeNode(
+ "The Java Virtual Machine Specification");
+ category.insert(book, 0);
+
+ // Language Spec
+ book = new DefaultMutableTreeNode("The Java Language Specification");
+ category.insert(book, 1);
+ }
+
+ public void addCustomIcons() {
+ if (useCustomIcons) {
+ tree.setIcon("/pics/1.gif");
+ tree.setIconCollapsed("/pics/3.gif");
+ tree.setIconExpanded("/pics/4.gif");
+ tree.setIconLeaf("/pics/2.gif");
+ } else {
+ tree.setIcon(null);
+ tree.setIconCollapsed(null);
+ tree.setIconExpanded(null);
+ tree.setIconLeaf(null);
+ }
+ }
+
+ public void add() {
+ ComponentInfo info = ComponentInfo.getInstance();
+ info.addField(tree);
+ }
+
+ public MutableTreeNode getTop() {
+ return top;
+ }
+
+ public UITree getTree() {
+ return tree;
+ }
+
+ public void setTree(UITree tree) {
+ this.tree = tree;
+ }
+
+ public String getSwitchType() {
+ return switchType;
+ }
+
+ public void setSwitchType(String switchType) {
+ this.switchType = switchType;
+ }
+
+ public boolean isRendered() {
+ return rendered;
+ }
+
+ public void setRendered(boolean rendered) {
+ this.rendered = rendered;
+ }
+
+ public boolean isShowConnectingLines() {
+ return showConnectingLines;
+ }
+
+ public void setShowConnectingLines(boolean showConnectingLines) {
+ this.showConnectingLines = showConnectingLines;
+ }
+
+ public boolean isUseCustomIcons() {
+ return useCustomIcons;
+ }
+
+ public void setUseCustomIcons(boolean useCustomIcons) {
+ this.useCustomIcons = useCustomIcons;
+ }
+
+ public boolean isDisableKeyboardNavigation() {
+ return disableKeyboardNavigation;
+ }
+
+ public void setDisableKeyboardNavigation(boolean disableKeyboardNavigation) {
+ this.disableKeyboardNavigation = disableKeyboardNavigation;
+ }
+}
\ No newline at end of file
Added: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/Car.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/Car.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/Car.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,76 @@
+package org.richfaces.helloworld.domain.util.data;
+
+public class Car {
+
+ private String make;
+
+ private String model;
+
+ private Integer price;
+
+ public Car() {
+ this.make = "";
+ this.model = "";
+ this.price = 0;
+ }
+
+ public Car(String mak, String mod, Integer pr) {
+ this.make = mak;
+ this.model = mod;
+ this.price = pr;
+ }
+
+ public String getMake() {
+ return make;
+ }
+
+ public void setMake(String make) {
+ this.make = make;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public Integer getPrice() {
+ return price;
+ }
+
+ public void setPrice(Integer price) {
+ this.price = price;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((make == null) ? 0 : make.hashCode());
+ result = prime * result + ((model == null) ? 0 : model.hashCode());
+ result = prime * result + ((price == null) ? 0 : price.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof Car) {
+ Car car = (Car) obj;
+ if (this.make.equals(car.make) && (this.model.equals(car.model))
+ && (this.price.equals(car.price))) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return this.make + ":" + this.model + ":" + this.price;
+ }
+}
\ No newline at end of file
Added: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/CarProvider.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/CarProvider.java (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/data/CarProvider.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,111 @@
+package org.richfaces.helloworld.domain.util.data;
+
+import java.util.ArrayList;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
+public class CarProvider extends DefaultHandler {
+
+ private ArrayList<Car> allCars = null;
+
+ public CarProvider() {
+ if (allCars == null) {
+ allCars = new ArrayList<Car>();
+ try {
+ SAXParserFactory spf = SAXParserFactory.newInstance();
+ SAXParser sp = spf.newSAXParser();
+ sp.parse(new InputSource(getClass().getResourceAsStream(
+ "cars.xml")), this);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ public ArrayList<Car> getAllCars() {
+ return allCars;
+ }
+
+ private String element = "";
+ private String mak = "";
+ private String mod = "";
+ private Integer pr = 0;
+
+ public void startDocument() {
+ System.out.println("*** > Parser starts its work");
+ }
+
+ public void startElement(String namespaceURI, String localName,
+ String rawName, Attributes attrs) {
+ element = rawName;
+
+// System.out.print("<");
+// System.out.print(rawName);
+// if (attrs != null) {
+// int len = attrs.getLength();
+// for (int i = 0; i < len; i++) {
+// System.out.print(" ");
+// System.out.print(attrs.getQName(i));
+// System.out.print("=\"");
+// System.out.print(attrs.getValue(i));
+// System.out.print("\"");
+// }
+// }
+// System.out.print(">");
+ }
+
+ public void characters(char ch[], int start, int length) {
+ String text = new String(ch, start, length);
+// System.out.print(text);
+
+ if (element.equals("make")) {
+ element = "";
+ mak = text;
+ } else if (element.equals("model")) {
+ element = "";
+ mod = text;
+ } else if (element.equals("price")) {
+ try {
+ element = "";
+ Integer p = Integer.parseInt(text);
+ pr = p;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ public void endElement(String namespaceURI, String localName, String rawName) {
+// System.out.print("</");
+// System.out.print(rawName);
+// System.out.print(">");
+
+ if (rawName.equals("car")) {
+ allCars.add(new Car(mak, mod, pr));
+ }
+ }
+
+ public void endDocument() {
+ System.out.println("*** > Parser ends its work");
+ }
+
+ public void warning(SAXParseException ex) {
+ System.err.println("[Warning] : " + ex.getMessage());
+ }
+
+ public void error(SAXParseException ex) {
+ System.err.println("[Error] : " + ex.getMessage());
+ }
+
+ public void fatalError(SAXParseException ex) throws SAXException {
+ System.err.println("[Fatal Error] : " + ex.getMessage());
+ throw ex;
+ }
+}
Modified: trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/skins/Skins.java
===================================================================
--- trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/skins/Skins.java 2009-04-17 11:20:24 UTC (rev 13627)
+++ trunk/test-applications/seamApp/web/src/main/java/org/richfaces/helloworld/domain/util/skins/Skins.java 2009-04-17 11:44:55 UTC (rev 13628)
@@ -28,8 +28,6 @@
private String defaultSkin = "deepMarine";
private String skin = defaultSkin;
- @In(required=false)
- public UIComponent skinComponent = null;
private UISelectOne createComponent() {
UISelectOne selectOne = new HtmlSelectOneRadio();
@@ -52,7 +50,7 @@
public String getSkin() {
return skin;
}
-
+
public UIComponent getSkinComponent() {
FacesContext facesContext = FacesContext.getCurrentInstance();
Map requestMap = facesContext.getExternalContext().getRequestMap();
@@ -61,12 +59,12 @@
return (UISelectOne) object;
}
- skinComponent = createComponent();
- requestMap.put("SkinBean", skinComponent);
- return skinComponent;
+ UISelectOne selectOne = createComponent();
+ requestMap.put("SkinBean", selectOne);
+ return selectOne;
}
- public void setComponent(UIComponent component) {
+ public void setSkinComponent(UIComponent component) {
FacesContext facesContext = FacesContext.getCurrentInstance();
Map requestMap = facesContext.getExternalContext().getRequestMap();
requestMap.put("SkinBean", component);
@@ -77,8 +75,4 @@
skin = (String) selectOne.getValue();
return null;
}
-
- public void setSkinComponent(UIComponent skinComponent) {
- this.skinComponent = skinComponent;
- }
}
Copied: trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/tTree (from rev 13519, trunk/test-applications/seamApp/web/src/main/resources/tTree)
Added: trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/util/data/cars.xml
===================================================================
--- trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/util/data/cars.xml (rev 0)
+++ trunk/test-applications/seamApp/web/src/main/resources/org/richfaces/helloworld/domain/util/data/cars.xml 2009-04-17 11:44:55 UTC (rev 13628)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shop>
+ <car>
+ <make>Audi</make>
+ <model>A6</model>
+ <price>40000</price>
+ </car>
+ <car>
+ <make>Audi</make>
+ <model>Q7</model>
+ <price>48500</price>
+ </car>
+ <car>
+ <make>Audi</make>
+ <model>Q5</model>
+ <price>36500</price>
+ </car>
+ <car>
+ <make>Audi</make>
+ <model>Q8</model>
+ <price>102500</price>
+ </car>
+ <car>
+ <make>BMW</make>
+ <model>760Li</model>
+ <price>115400</price>
+ </car>
+ <car>
+ <make>BMW</make>
+ <model>330i</model>
+ <price>38400</price>
+ </car>
+ <car>
+ <make>BMW</make>
+ <model>X6</model>
+ <price>55900</price>
+ </car>
+ <car>
+ <make>Bentley</make>
+ <model>Arnage</model>
+ <price>240000</price>
+ </car>
+ <car>
+ <make>Bugatti</make>
+ <model>Veyron</model>
+ <price>1340000</price>
+ </car>
+ <car>
+ <make>Mercedes-Benz</make>
+ <model>S63 AMG</model>
+ <price>154200</price>
+ </car>
+ <car>
+ <make>Mercedes-Benz</make>
+ <model>SLR</model>
+ <price>854200</price>
+ </car>
+ <car>
+ <make>Mercedes-Benz</make>
+ <model>E63AMG</model>
+ <price>120200</price>
+ </car>
+ <car>
+ <make>Mercedes-Benz</make>
+ <model>R350</model>
+ <price>61200</price>
+ </car>
+ <car>
+ <make>Mercedes-Benz</make>
+ <model>E300D</model>
+ <price>9800</price>
+ </car>
+ <car>
+ <make>Mazda</make>
+ <model>3</model>
+ <price>17300</price>
+ </car>
+ <car>
+ <make>Mazda</make>
+ <model>6</model>
+ <price>21300</price>
+ </car>
+ <car>
+ <make>Mazda</make>
+ <model>CX7</model>
+ <price>24300</price>
+ </car>
+ <car>
+ <make>Fiat</make>
+ <model>Punto</model>
+ <price>8200</price>
+ </car>
+ <car>
+ <make>Fiat</make>
+ <model>Multipla</model>
+ <price>9100</price>
+ </car>
+ <car>
+ <make>Ford</make>
+ <model>GT-40</model>
+ <price>325100</price>
+ </car>
+ <car>
+ <make>Ford</make>
+ <model>Mondeo</model>
+ <price>23100</price>
+ </car>
+ <car>
+ <make>Ford</make>
+ <model>Fiesta</model>
+ <price>5100</price>
+ </car>
+ <car>
+ <make>Ford</make>
+ <model>Scorpio</model>
+ <price>4800</price>
+ </car>
+ <car>
+ <make>Ferrari</make>
+ <model>Enzo</model>
+ <price>950000</price>
+ </car>
+ <car>
+ <make>Jaguar</make>
+ <model>XJ</model>
+ <price>75400</price>
+ </car>
+</shop>
\ No newline at end of file
Modified: trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/faces-config.xml 2009-04-17 11:20:24 UTC (rev 13627)
+++ trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/faces-config.xml 2009-04-17 11:44:55 UTC (rev 13628)
@@ -38,20 +38,6 @@
org.richfaces.helloworld.domain.message.MessageValidator
</validator-class>
</validator>
- <managed-bean>
- <managed-bean-name>skinBean</managed-bean-name>
- <managed-bean-class>
- org.richfaces.helloworld.domain.util.skins.Skins
- </managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>skinning</managed-bean-name>
- <managed-bean-class>
- org.richfaces.helloworld.domain.skinning.Skinning
- </managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- </managed-bean>
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<locale-config>
Modified: trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/web.xml 2009-04-17 11:20:24 UTC (rev 13627)
+++ trunk/test-applications/seamApp/web/src/main/webapp/WEB-INF/web.xml 2009-04-17 11:44:55 UTC (rev 13628)
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
- <!-- Ajax4jsf -->
+ <!-- Ajax4jsf
<filter>
<display-name>Ajax4jsf Filter</display-name>
<filter-name>ajax4jsf</filter-name>
@@ -15,11 +15,26 @@
<filter-name>ajax4jsf</filter-name>
<url-pattern>*.seam</url-pattern>
</filter-mapping>
-
+ -->
<context-param>
<param-name>org.richfaces.SKIN</param-name>
- <param-value>blueSky</param-value>
- </context-param>
+ <param-value>#{skinBean.skin}</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
+ <param-value>#{skinning.skinningClass}</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING</param-name>
+ <param-value>#{skinning.skinning}</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING_LEVEL</param-name>
+ <param-value>extended</param-value>
+ </context-param>
<!-- Seam -->
More information about the richfaces-svn-commits
mailing list