Author: lfryc(a)redhat.com
Date: 2011-02-16 12:02:30 -0500 (Wed, 16 Feb 2011)
New Revision: 21707
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeBean.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeModelRecursiveAdaptorBean.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/CompactDisc.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Company.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Country.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/NamedNode.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingChecker.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingListener.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/ModelNode.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Node.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/RecursiveNode.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Reference.java
Log:
made model of trees serializable to work on MyFaces
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeBean.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeBean.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeBean.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -33,7 +33,6 @@
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ComponentSystemEvent;
-import javax.swing.tree.TreeNode;
import org.richfaces.component.UITree;
import org.richfaces.tests.metamer.Attributes;
@@ -41,6 +40,7 @@
import org.richfaces.tests.metamer.model.tree.CompactDiscXmlDescriptor;
import org.richfaces.tests.metamer.model.tree.Company;
import org.richfaces.tests.metamer.model.tree.Country;
+import org.richfaces.tests.metamer.model.tree.NamedNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,11 +52,12 @@
@ViewScoped
public class RichTreeBean implements Serializable {
- private static final long serialVersionUID = 4008175400649809L;
+ private static final long serialVersionUID = 1L;
+
private static Logger logger;
private Attributes attributes;
- private List<TreeNode> root = new ArrayList<TreeNode>();
- private Collection<Object> selection;
+ private List<NamedNode> root = new ArrayList<NamedNode>();
+ private transient Collection<Object> selection;
// FIXME: @ManagedProperty(value = "#{model}")
// private Model model;
@@ -67,7 +68,7 @@
private boolean testLoadingFacet = false;
private boolean delayedRender = false;
- private Map<TreeNode, Boolean> expanded = new HashMap<TreeNode,
Boolean>();
+ private Map<NamedNode, Boolean> expanded = new HashMap<NamedNode,
Boolean>();
/**
* Initializes the managed bean.
@@ -143,7 +144,7 @@
return country;
}
- public List<TreeNode> getRoot() {
+ public List<NamedNode> getRoot() {
return root;
}
@@ -182,18 +183,18 @@
}
}
- public Map<TreeNode, Boolean> getExpanded() {
+ public Map<NamedNode, Boolean> getExpanded() {
return expanded;
}
public void expandAll() {
- for (Entry<TreeNode, Boolean> entry : expanded.entrySet()) {
+ for (Entry<NamedNode, Boolean> entry : expanded.entrySet()) {
entry.setValue(true);
}
}
public void collapseAll() {
- for (Entry<TreeNode, Boolean> entry : expanded.entrySet()) {
+ for (Entry<NamedNode, Boolean> entry : expanded.entrySet()) {
entry.setValue(false);
}
}
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeModelRecursiveAdaptorBean.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeModelRecursiveAdaptorBean.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichTreeModelRecursiveAdaptorBean.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -64,6 +64,8 @@
private Set<Node> lazyInitializedNodes = new LinkedHashSet<Node>();
private LazyLoadingListener<Node> nodeLazyLoadingListener = new
LazyLoadingListener<Node>() {
+ private static final long serialVersionUID = 1L;
+
public void notify(Node node) {
lazyInitializedNodes.add(node);
};
@@ -98,6 +100,8 @@
if (rootNodes == null) {
rootNodes = RecursiveNode.createChildren(null, leafChildrenNullable,
new Reference<LazyLoadingListener<Node>>() {
+ private static final long serialVersionUID = 1L;
+
@Override
public LazyLoadingListener<Node> get() {
return nodeLazyLoadingListener;
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/CompactDisc.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/CompactDisc.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/CompactDisc.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -1,11 +1,10 @@
package org.richfaces.tests.metamer.model.tree;
-import java.io.Serializable;
import java.util.Enumeration;
import javax.swing.tree.TreeNode;
-public class CompactDisc extends NamedNode implements TreeNode, Serializable {
+public class CompactDisc extends NamedNode {
private static final long serialVersionUID = 1L;
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Company.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Company.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Company.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -1,6 +1,5 @@
package org.richfaces.tests.metamer.model.tree;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
@@ -9,7 +8,7 @@
import com.google.common.collect.Iterators;
-public class Company extends NamedNode implements TreeNode, Serializable {
+public class Company extends NamedNode {
private static final long serialVersionUID = 1L;
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Country.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Country.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/Country.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -1,6 +1,5 @@
package org.richfaces.tests.metamer.model.tree;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
@@ -9,7 +8,7 @@
import com.google.common.collect.Iterators;
-public class Country extends NamedNode implements TreeNode, Serializable {
+public class Country extends NamedNode {
private static final long serialVersionUID = 1L;
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/NamedNode.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/NamedNode.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/tree/NamedNode.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -1,6 +1,13 @@
package org.richfaces.tests.metamer.model.tree;
-public class NamedNode {
+import java.io.Serializable;
+
+import javax.swing.tree.TreeNode;
+
+public abstract class NamedNode implements TreeNode, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
private String type;
public String getType() {
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingChecker.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingChecker.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingChecker.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -2,6 +2,7 @@
import static java.lang.reflect.Modifier.isStatic;
+import java.io.Serializable;
import java.lang.reflect.Method;
import javassist.util.proxy.MethodHandler;
@@ -10,8 +11,9 @@
import org.apache.commons.lang.Validate;
-public final class LazyLoadingChecker<T> implements MethodHandler {
-
+public final class LazyLoadingChecker<T> implements MethodHandler, Serializable {
+ private static final long serialVersionUID = 1L;
+
T instance;
Reference<LazyLoadingListener<T>> listenerReference = null;
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingListener.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingListener.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/LazyLoadingListener.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -1,5 +1,7 @@
package org.richfaces.tests.metamer.model.treeAdaptor;
-public interface LazyLoadingListener<T> {
+import java.io.Serializable;
+
+public interface LazyLoadingListener<T> extends Serializable {
void notify(T instance);
}
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/ModelNode.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/ModelNode.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/ModelNode.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -21,6 +21,7 @@
*******************************************************************************/
package org.richfaces.tests.metamer.model.treeAdaptor;
+import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
@@ -32,6 +33,7 @@
* @version $Revision$
*/
public class ModelNode extends Node {
+ private static final long serialVersionUID = 1L;
private static final int BS = 3;
private static final int KS = 4;
@@ -54,7 +56,7 @@
}
public String getLabel() {
- return isRoot() ? "M" : parent.getLabel() + "-M";
+ return isRoot() ? "M" : getParent().getLabel() + "-M";
}
public A getValue() {
@@ -83,18 +85,22 @@
public List<RecursiveNode> getRecursive() {
if (rs == null) {
- rs = RecursiveNode.createChildren(this, nullable, null);
+ rs = RecursiveNode.createChildren(this, getNullable(), null);
}
return rs;
}
- public class A {
+ public class A implements Serializable {
+ private static final long serialVersionUID = 1L;
+
public String getLabel() {
return ModelNode.this.getLabel() + "-A";
}
}
- public class B {
+ public class B implements Serializable {
+ private static final long serialVersionUID = 1L;
+
int number;
public B(int number) {
@@ -106,7 +112,9 @@
}
}
- public class K {
+ public class K implements Serializable {
+ private static final long serialVersionUID = 1L;
+
int number;
public K(int number) {
@@ -118,7 +126,9 @@
}
}
- public class V {
+ public class V implements Serializable {
+ private static final long serialVersionUID = 1L;
+
int number;
public V(int number) {
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Node.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Node.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Node.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -21,6 +21,7 @@
*******************************************************************************/
package org.richfaces.tests.metamer.model.treeAdaptor;
+import java.io.Serializable;
import java.util.Deque;
import java.util.LinkedList;
import java.util.concurrent.atomic.AtomicReference;
@@ -29,12 +30,14 @@
* @author <a href="mailto:lfryc@redhat.com">Lukas Fryc</a>
* @version $Revision$
*/
-public abstract class Node {
- Node parent;
- AtomicReference<Boolean> nullable;
+public abstract class Node implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private Node parent;
+ private AtomicReference<Boolean> nullable;
+ private Reference<LazyLoadingListener<Node>> lazyLoadingListenerReference
= new NodeReference();
- Reference<LazyLoadingListener<Node>> lazyLoadingListenerReference = new
NodeReference();
-
protected Node(Node parent, AtomicReference<Boolean> nullable,
Reference<LazyLoadingListener<Node>> lazyLoadingListenerReference) {
this.parent = parent;
@@ -55,6 +58,10 @@
public boolean isRoot() {
return parent == null;
}
+
+ public AtomicReference<Boolean> getNullable() {
+ return nullable;
+ }
public int getLevel() {
return isRoot() ? 1 : parent.getLevel() + 1;
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/RecursiveNode.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/RecursiveNode.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/RecursiveNode.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -21,6 +21,7 @@
*******************************************************************************/
package org.richfaces.tests.metamer.model.treeAdaptor;
+import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -35,6 +36,8 @@
* @version $Revision$
*/
public class RecursiveNode extends Node {
+ private static final long serialVersionUID = 1L;
+
private static final int CHILDREN = 4;
private static final int LEVELS = 2;
private static final List<RecursiveNode> EMPTY_LIST = new
LinkedList<RecursiveNode>();
@@ -73,7 +76,7 @@
return getEmptyList();
}
if (children == null) {
- children = createChildren(this, nullable, null);
+ children = createChildren(this, getNullable(), null);
}
return children;
}
@@ -86,23 +89,23 @@
}
private List<RecursiveNode> getEmptyList() {
- return nullable.get() ? null : EMPTY_LIST;
+ return getNullable().get() ? null : EMPTY_LIST;
}
private Map<Integer, RecursiveNode> getEmptyMap() {
- return nullable.get() ? null : EMPTY_MAP;
+ return getNullable().get() ? null : EMPTY_MAP;
}
public String getLabel() {
- String parentLabel = (isRoot() ? "" : parent.getLabel() +
"-") + "R-";
- String recursionLabel = (isRecursionRoot() ? parentLabel : parent.getLabel() +
".") + number;
+ String parentLabel = (isRoot() ? "" : getParent().getLabel() +
"-") + "R-";
+ String recursionLabel = (isRecursionRoot() ? parentLabel : getParent().getLabel()
+ ".") + number;
return recursionLabel;
}
public ModelNode getModel() {
if (isLeaf() && !isPreceededByModel()) {
if (model == null) {
- model = ModelNode.getInstance(this, nullable, null);
+ model = ModelNode.getInstance(this, getNullable(), null);
}
return model;
}
@@ -117,7 +120,7 @@
if (isRoot()) {
return true;
} else {
- return !(parent instanceof RecursiveNode);
+ return !(getParent() instanceof RecursiveNode);
}
}
@@ -154,7 +157,9 @@
return getLabel();
}
- public class NodeMap implements Map<Integer, RecursiveNode> {
+ public class NodeMap implements Map<Integer, RecursiveNode>, Serializable {
+
+ private static final long serialVersionUID = 1L;
@Override
public int size() {
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Reference.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Reference.java 2011-02-16
16:02:11 UTC (rev 21706)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor/Reference.java 2011-02-16
17:02:30 UTC (rev 21707)
@@ -1,6 +1,8 @@
package org.richfaces.tests.metamer.model.treeAdaptor;
-public interface Reference<T> {
+import java.io.Serializable;
+
+public interface Reference<T> extends Serializable {
public T get();
}