1 package jp.naist.se.stigmata.result.history;
8 import java.util.Iterator;
9 import java.util.LinkedHashMap;
12 import jp.naist.se.stigmata.BirthmarkEnvironment;
13 import jp.naist.se.stigmata.ExtractionResultSet;
14 import jp.naist.se.stigmata.result.XmlFileExtractionResultSet;
15 import jp.naist.se.stigmata.utils.Utility;
19 * @author Haruaki Tamada
20 * @version $Revision$ $Date$
22 public class XmlFileExtractedBirthmarkHistory implements ExtractedBirthmarkHistory{
24 private Map<String, File> files = new LinkedHashMap<String, File>();
26 public XmlFileExtractedBirthmarkHistory(){
27 this(new File(BirthmarkEnvironment.getStigmataHome(), "extracted_birthmarks"));
30 public XmlFileExtractedBirthmarkHistory(String path){
34 public XmlFileExtractedBirthmarkHistory(File parent){
40 public void refresh(){
44 for(File file: parent.listFiles()){
46 files.put(file.getName(), file);
52 public void deleteAllResultSets(){
53 for(File file: parent.listFiles()){
55 Utility.deleteDirectory(file);
60 public void deleteResultSet(String id){
61 File file = files.get(id);
63 if(file.isDirectory()){
64 Utility.deleteDirectory(file);
72 public ExtractionResultSet getResultSet(String id){
73 File file = files.get(id);
75 return new XmlFileExtractionResultSet(file);
80 public synchronized String[] getResultSetIds(){
81 return files.keySet().toArray(new String[files.size()]);
84 public Iterator<String> iterator(){
85 return files.keySet().iterator();
88 private boolean isTarget(File file){
89 return file.isDirectory()
90 && file.getName().matches("\\d\\d\\d\\d\\d\\d\\d\\d-\\d\\d\\d\\d\\d\\d.\\d\\d\\d");