tbennett    2004/04/20 22:38:07

  Modified:    composition/impl/src/java/org/apache/avalon/composition/model/impl
                        DefaultFilesetModel.java
  Log:
  Bug fixes found by unit test case
  
  Revision  Changes    Path
  1.4       +30 -4     
avalon/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultFilesetModel.java
  
  Index: DefaultFilesetModel.java
  ===================================================================
  RCS file: 
/home/cvs/avalon/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultFilesetModel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultFilesetModel.java  21 Apr 2004 03:21:04 -0000      1.3
  +++ DefaultFilesetModel.java  21 Apr 2004 05:38:07 -0000      1.4
  @@ -77,6 +77,18 @@
       private final Logger m_logger;
       
       /**
  +     * Constructs a new default fileset model.  Note this instance is
  +     * in an illegal state for performing fileset resolution.
  +     * 
  +     * @param logger <code>Logger</code> for the fileset model to use
  +     */
  +    public DefaultFilesetModel(Logger logger)
  +    {
  +        m_logger = logger;
  +        m_list = new ArrayList();
  +    }
  +    
  +    /**
        * Constructs a new default fileset model.
        * 
        * @param anchor base directory anchor from which to begin
  @@ -89,13 +101,13 @@
        * to use as a default set of fileset includes
        * @param defaultExcludes array of <code>String</code> objects
        * to use as a default set of fileset excludes
  +     * @param logger <code>Logger</code> for the fileset model to use
        */
       public DefaultFilesetModel(File anchor, IncludeDirective[] includes,
               ExcludeDirective[] excludes, String[] defaultIncludes,
               String[] defaultExcludes, Logger logger)
       {
  -        m_logger = logger;
  -        m_list = new ArrayList();
  +        this( logger );
           setBaseDirectory( anchor );
           setIncludeDirectives( includes );
           setExcludeDirectives( excludes );
  @@ -183,7 +195,21 @@
        * to include in the classpath.
        */
       public void resolveFileset() throws IOException, IllegalStateException {
  -
  +        // sanity check...
  +        if (m_anchor == null) {
  +            throw new IllegalStateException("No basedir set");
  +        }
  +        if (!m_anchor.exists()) {
  +            System.out.println("basedir=[" + m_anchor + "]");
  +            throw new IllegalStateException("basedir " + m_anchor
  +                                            + " does not exist");
  +        }
  +        
  +        if (!m_anchor.isDirectory()) {
  +            throw new IllegalStateException("basedir " + m_anchor
  +                                            + " is not a directory");
  +        }
  +        
           // New stuff...
           if ( m_includes.length == 0 && m_defaultIncludes.length == 0 ) {
               m_list.add( m_anchor );
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to