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();
       }
   
  
  
  

Reply via email to