View Javadoc
1   package com.github.searls.jasmine.io.scripts;
2   
3   import com.github.searls.jasmine.collections.CollectionHelper;
4   
5   import java.io.File;
6   import java.util.ArrayList;
7   import java.util.List;
8   
9   public class ResolvesLocationOfPreloadSources {
10  
11    private CollectionHelper collectionHelper = new CollectionHelper();
12    private ConvertsFileToUriString convertsFileToUriString = new ConvertsFileToUriString();
13  
14    public List<String> resolve(List<String> preloadSources, File sourceDir, File specDir) {
15      List<String> sources = new ArrayList<String>();
16      for (String source : collectionHelper.list(preloadSources)) {
17        if (fileCouldNotBeAdded(new File(sourceDir, source), sources)
18          && fileCouldNotBeAdded(new File(specDir, source), sources)
19          && fileCouldNotBeAdded(new File(source), sources)) {
20          sources.add(source);
21        }
22      }
23      return sources;
24    }
25  
26    private boolean fileCouldNotBeAdded(File file, List<String> sourcePaths) {
27      boolean canAdd = file.exists();
28      if (canAdd) {
29        sourcePaths.add(convertsFileToUriString.convert(file));
30      }
31      return !canAdd;
32    }
33  
34  }