java -init

//获得根节点
public Node getParent(Node node) {

return (Node) node.parent.get(0);

}


public boolean updateChild(Node node, Node childnode) {

Map param = new HashMap();
param.put("id", node.getId());
Map parentMap = dao.queryForList("ds-list", param);
String parent_modify_date = parentMap.get("modify_date").toString();


Map paramChild = new HashMap();
paramChild.put("id", childnode.getId());
Map childMap = dao.queryForList("ds-list", paramChild);
String child_modify_date = childMap.get("modify_date").toString();


if (parent_modify_date.compareTo(child_modify_date) > 0) {

Date date = new Date();
childMap.putAll(parentMap);
childMap.remove("node_id");
childMap.put("modify_date", date.getTime());

dao.insert("cmeta-data-add", childMap);

if (childnode == this) {

return true;
} else {
for (int i = 0; i < childnode.child.size(); i++) {

updateChild(childnode, (Node) childnode.child.get(i));
}

}

}
return true;

}

//找根节点 不需要list,只找一条线的根节点


private boolean initVariableset() {


if (this.parent.size() == 0) {

return true;
}

//一、获取根节点
//定义根节点
Node node_source = new Node();

//根节点赋值
for (int i = 0; i < this.parent.size(); i++) {

node_source = (Node) parent.get(i);


if (getParent(node_source).parent.size() == 0) {

break;

} else {
for (int j = 0; j < node_source.parent.size(); j++) {
node_source = getParent(node_source);
if (getParent(node_source).parent.size() == 0) {
break;
}
}
}
}


// 二、获取根节点的 modify_date
//循环取子节点
for (int j = 0; j < node_source.child.size(); j++) {

updateChild(node_source, (Node) node_source.child.get(j));
}


return true;

}

posted @ 2012-12-02 20:43  木子非  阅读(1027)  评论(0编辑  收藏  举报