Ignore:
Timestamp:
08/05/14 10:00:41 (10 years ago)
Author:
sherbold
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrossPare/src/de/ugoe/cs/cpdp/loader/AbstractFolderLoader.java

    r2 r4  
    99import de.ugoe.cs.cpdp.versions.SoftwareVersion; 
    1010 
    11  
     11/** 
     12 * Abstract class for loading data from a folder. The subfolders of a defined 
     13 * folder define the projects, the file contained in the subfolder are the 
     14 * versions of a project. 
     15 *  
     16 * @author Steffen Herbold 
     17 */ 
    1218public abstract class AbstractFolderLoader implements IVersionLoader { 
    13          
    14         // TODO 
    15         interface SingleVersionLoader { 
    16                 Instances load(File file); 
    17                 boolean filenameFilter(String filename); 
    18         } 
    1919 
    2020        /** 
     
    2222         */ 
    2323        private String path = ""; 
    24          
     24 
    2525        /** 
    2626         * @see de.ugoe.cs.cpdp.loader.IVersionLoader#setLocation(java.lang.String) 
     
    2828        @Override 
    2929        public void setLocation(String location) { 
    30                 path=location; 
     30                path = location; 
    3131        } 
    32          
     32 
    3333        /** 
    3434         * @see de.ugoe.cs.cpdp.loader.IVersionLoader#load() 
     
    3737        public List<SoftwareVersion> load() { 
    3838                final List<SoftwareVersion> versions = new LinkedList<SoftwareVersion>(); 
    39                  
     39 
    4040                final File dataDir = new File(path); 
    4141                final SingleVersionLoader instancesLoader = getSingleLoader(); 
    42                  
    43                 for( File projectDir : dataDir.listFiles() ) { 
    44                         if( projectDir.isDirectory() ) { 
     42 
     43                for (File projectDir : dataDir.listFiles()) { 
     44                        if (projectDir.isDirectory()) { 
    4545                                String projectName = projectDir.getName(); 
    46                                 for( File versionFile : projectDir.listFiles() ) { 
    47                                         if( versionFile.isFile() && instancesLoader.filenameFilter(versionFile.getName()) ) { 
     46                                for (File versionFile : projectDir.listFiles()) { 
     47                                        if (versionFile.isFile() 
     48                                                        && instancesLoader.filenameFilter(versionFile 
     49                                                                        .getName())) { 
    4850                                                String versionName = versionFile.getName(); 
    4951                                                Instances data = instancesLoader.load(versionFile); 
    50                                                 versions.add(new SoftwareVersion(projectName, versionName, data)); 
     52                                                versions.add(new SoftwareVersion(projectName, 
     53                                                                versionName, data)); 
    5154                                        } 
    5255                                } 
     
    5558                return versions; 
    5659        } 
    57          
     60 
     61        /** 
     62         * Returns the concrete {@link SingleVersionLoader} to be used with this 
     63         * folder loader. 
     64         *  
     65         * @return 
     66         */ 
    5867        abstract protected SingleVersionLoader getSingleLoader(); 
    5968} 
Note: See TracChangeset for help on using the changeset viewer.