You are viewing a plain text version of this content. The canonical link for it is here.
Posted to alexandria-dev@jakarta.apache.org by ru...@apache.org on 2002/01/02 00:45:05 UTC
cvs commit: jakarta-alexandria/proposal/gump/java Jenny.java Module.java Project.java
rubys 02/01/01 15:45:05
Modified: proposal/gump/java Jenny.java Module.java Project.java
Log:
CopyChildren actually moved the children. This resulted in a sublte bug.
In the process of correcting this bug, I renamed the method so as to
prevent further confusion.
Revision Changes Path
1.6 +6 -6 jakarta-alexandria/proposal/gump/java/Jenny.java
Index: Jenny.java
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/java/Jenny.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Jenny.java 10 Dec 2001 15:48:08 -0000 1.5
+++ Jenny.java 1 Jan 2002 23:45:05 -0000 1.6
@@ -59,11 +59,11 @@
}
/**
- * Copy child nodes (attributes, elements, text, etc).
- * @param source element to copy from
+ * Move child nodes (attributes, elements, text, etc).
+ * @param source element to move from
* @param target element to update
*/
- protected static void copyChildren(Element source, Element target) {
+ protected static void moveChildren(Element source, Element target) {
Node child=source.getFirstChild();
while (child != null) {
Node next=child.getNextSibling();
@@ -102,12 +102,12 @@
Document doc = node.getOwnerDocument();
Element copy=(Element)doc.importNode(sub.getFirstChild(), true);
- copyChildren(node, copy);
+ moveChildren(node, copy);
Element parent = (Element)node.getParentNode();
if (node.getNodeName().equals("profile")) {
copy.removeAttribute("defined-in");
- copyChildren(copy, parent);
+ moveChildren(copy, parent);
} else {
parent.replaceChild(copy,node);
}
@@ -148,7 +148,7 @@
if (!definedIn.equals(""))
element.setAttribute("defined-in",definedIn);
- copyChildren(priorDefinition, element);
+ moveChildren(priorDefinition, element);
parent.removeChild(priorDefinition);
}
list.put(name, element);
1.11 +1 -1 jakarta-alexandria/proposal/gump/java/Module.java
Index: Module.java
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/java/Module.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Module.java 27 Oct 2001 14:57:17 -0000 1.10
+++ Module.java 1 Jan 2002 23:45:05 -0000 1.11
@@ -178,7 +178,7 @@
if (cvs == null) {
cvs = (Element) child;
} else {
- Jenny.copyChildren((Element) child, cvs);
+ Jenny.moveChildren((Element) child, cvs);
}
}
1.21 +17 -20 jakarta-alexandria/proposal/gump/java/Project.java
Index: Project.java
===================================================================
RCS file: /home/cvs/jakarta-alexandria/proposal/gump/java/Project.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- Project.java 1 Jan 2002 18:25:36 -0000 1.20
+++ Project.java 1 Jan 2002 23:45:05 -0000 1.21
@@ -75,7 +75,7 @@
} else if (child.getNodeName().equals("ant")) {
if (ant != null) {
// multiple ant children? Merge them!
- Jenny.copyChildren(ant, (Element)child);
+ Jenny.moveChildren(ant, (Element)child);
element.removeChild(ant);
}
ant = (Element)child;
@@ -130,7 +130,7 @@
Element property = document.createElement("property");
property.setAttribute("reference", "jarpath");
property.setAttribute("classpath", "add");
- Jenny.copyChildren((Element)child, property);
+ Jenny.moveChildren((Element)child, property);
// change property attribute to name attribute
if (property.getAttributeNode("name")==null) {
@@ -321,12 +321,11 @@
if (dependsOn.get(name) == null) {
Element source = (Element) p.dependsOn.get(name);
String type = source.getNodeName();
- Element clone;
+ Element clone = (Element) source.cloneNode(true);
if (inherit.equals("hard") && type.equals("option")) {
- clone = document.createElement("depend");
- Jenny.copyChildren(source, clone);
- } else {
- clone = (Element) source.cloneNode(true);
+ Element renamed = document.createElement("depend");
+ Jenny.moveChildren(clone, renamed);
+ clone = renamed;
}
clone.setAttribute("inherited", "true");
dependsOn.put(name,clone);
@@ -340,20 +339,18 @@
String type = depend.getNodeName();
for (Enumeration d=p.dependsOn.keys(); d.hasMoreElements(); ) {
String name = (String) d.nextElement();
- if (dependsOn.get(name) == null) {
- Element source = (Element) p.dependsOn.get(name);
- if (source.getAttribute("runtime").equals("true")) {
- Element clone;
- if (type.equals("option")) {
- clone = document.createElement("option");
- Jenny.copyChildren(source, clone);
- } else {
- clone = (Element) source.cloneNode(true);
- }
- clone.setAttribute("inherited", "true");
- dependsOn.put(name,clone);
- element.appendChild(clone);
+ if (dependsOn.get(name) != null) continue;
+ Element source = (Element) p.dependsOn.get(name);
+ if (source.getAttribute("runtime").equals("true")) {
+ Element clone = (Element) source.cloneNode(true);
+ if (type.equals("option")) {
+ Element renamed = document.createElement("option");
+ Jenny.moveChildren(clone, renamed);
+ clone = renamed;
}
+ clone.setAttribute("inherited", "true");
+ dependsOn.put(name,clone);
+ element.appendChild(clone);
}
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>