metasim 01/01/11 11:24:37
Modified: src/antidote/org/apache/tools/ant/gui/acs ACSFactory.java
ACSTreeNodeElement.java
Log:
Added initial support for creating a new, empty project.
Revision Changes Path
1.6 +36 -11
jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSFactory.java
Index: ACSFactory.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSFactory.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ACSFactory.java 2001/01/04 21:11:07 1.5
+++ ACSFactory.java 2001/01/11 19:24:30 1.6
@@ -70,7 +70,7 @@
/**
* Factory for loading Ant Construction set elements.
*
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.6 $
* @author Simeon Fitch
*/
public class ACSFactory {
@@ -114,6 +114,17 @@
}
+ /**
+ * Get an instance of the factory.
+ *
+ * @return Factory instance.
+ */
+ public static ACSFactory getInstance() {
+ if(_instance == null) {
+ _instance = new ACSFactory();
+ }
+ return _instance;
+ }
/**
* Load a project from the given XML file.
@@ -167,18 +178,32 @@
return (ACSProjectElement) doc.getDocumentElement();
}
- /**
- * Get an instance of the factory.
- *
- * @return Factory instance.
- */
- public static ACSFactory getInstance() {
- if(_instance == null) {
- _instance = new ACSFactory();
- }
- return _instance;
+ /**
+ * Create a new, empty project.
+ *
+ * @return Empty project.
+ */
+ public ACSProjectElement createProject() {
+ SimpleElementFactory fact = new SimpleElementFactory();
+ fact.addMapping(_elementMap, ACSFactory.class.getClassLoader());
+ XmlDocument doc = new XmlDocument();
+ doc.setElementFactory(fact);
+ return (ACSProjectElement) doc.createElement("project");
}
+
+ /**
+ * Create a new target.
+ *
+ * @param project Project the target is assigned to.
+ * @return New, unnamed target.
+ */
+ public ACSTargetElement createTarget(ACSProjectElement project) {
+ ACSTargetElement retval = (ACSTargetElement) project.
+ getOwnerDocument().createElement("target");
+ project.appendChild(retval);
+ return retval;
+ }
/**
* Test code
1.4 +3 -1
jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTreeNodeElement.java
Index: ACSTreeNodeElement.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/acs/ACSTreeNodeElement.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ACSTreeNodeElement.java 2001/01/03 14:18:17 1.3
+++ ACSTreeNodeElement.java 2001/01/11 19:24:32 1.4
@@ -63,7 +63,7 @@
/**
* Abstract base class for all ACSElement classes that are also tree node.
*
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
* @author Simeon Fitch
*/
public abstract class ACSTreeNodeElement extends ACSElement
@@ -123,6 +123,8 @@
* Returns the parent <code>TreeNode</code> of the receiver.
*/
public TreeNode getParent() {
+ // XXX this barfs becase a different "getParent()" is in Node
+ // interface. Need to fix...
return (TreeNode) getParent();
}