this.tableType = flag;\r
}\r
\r
- protected String generateId(){\r
+ protected static String generateId(){\r
SimpleDateFormat cdf = new SimpleDateFormat("yyyyMMdd-HHmmss.SSS");\r
return cdf.format(Calendar.getInstance().getTime());\r
}\r
}\r
\r
public ExtractionResultSet getResultSet(String id){\r
- return history.getExtractionResultSet(id);\r
+ return history.getResultSet(id);\r
}\r
\r
public BirthmarkStoreTarget getTarget(){\r
}\r
\r
public ExtractionResultSet createResultSet(BirthmarkContext context, File base){\r
- return new XmlFileExtractionResultSet(context, base);\r
+ return new XmlFileExtractionResultSet(\r
+ context, new File(base, AbstractExtractionResultSet.generateId())\r
+ );\r
}\r
\r
public ExtractedBirthmarkHistory getHistory(String parameter){\r
*/
public class XmlFileExtractionResultSet extends AbstractExtractionResultSet{
private boolean addmode = true;
- private File baseDirectory;
+ private File storeDirectory;
private Map<ExtractionTarget, XmlFile> files = new HashMap<ExtractionTarget, XmlFile>();
XmlFileExtractionResultSet(BirthmarkContext context){
super(context);
}
- XmlFileExtractionResultSet(BirthmarkContext context, File baseDirectory){
+ XmlFileExtractionResultSet(BirthmarkContext context, File storeDirectory){
super(context);
- this.baseDirectory = baseDirectory;
+ this.storeDirectory = storeDirectory;
}
public XmlFileExtractionResultSet(BirthmarkContext context, boolean tableType){
super(Stigmata.getInstance().createContext());
addmode = false;
- baseDirectory = directory;
+ storeDirectory = directory;
BirthmarkContext context = getContext();
context.setStoreTarget(BirthmarkStoreTarget.XMLFILE);
context.setComparisonMethod(ComparisonMethod.ROUND_ROBIN_SAME_PAIR);
}
- for(File file: baseDirectory.listFiles(new ExtensionFilter("xml"))){
+ for(File file: storeDirectory.listFiles(new ExtensionFilter("xml"))){
String fileName = file.getName();
String name = fileName.substring(0, fileName.lastIndexOf('.'));
ExtractionTarget et = ExtractionTarget.valueOf(name);
}
XmlFile xml = files.get(target);
if(xml == null){
- xml = new XmlFile(new File(getBaseDirectory(), target.name() + ".xml"), getContext());
+ xml = new XmlFile(new File(getStoreDirectory(), target.name() + ".xml"), getContext());
files.put(target, xml);
}
xml.addBirthmarkSet(set);
}
}
- private File getBaseDirectory(){
- if(baseDirectory == null){
- baseDirectory = new File(BirthmarkEnvironment.getStigmataHome(), "extracted_birthmarks/" + generateId());
- if(!baseDirectory.exists()){
- baseDirectory.mkdirs();
- }
+ private File getStoreDirectory(){
+ if(storeDirectory == null){
+ storeDirectory = new File(BirthmarkEnvironment.getStigmataHome(), "extracted_birthmarks/" + generateId());
+ }
+ if(!storeDirectory.exists()){
+ storeDirectory.mkdirs();
}
- return baseDirectory;
+ return storeDirectory;
}
private void closeAllStream(){
import jp.naist.se.stigmata.ExtractionResultSet;
/**
+ * This interface indicates extracted history management.
*
* @author Haruaki Tamada
* @version $Revision$ $Date$
/**
* returns an array of history ids.
*/
- public String[] getIds();
+ public String[] getResultSetIds();
/**
* returns an extraction result set corresponding id.
*/
- public ExtractionResultSet getExtractionResultSet(String id);
+ public ExtractionResultSet getResultSet(String id);
/**
* deletes all histories this instance is managed.
*/
- public void deleteAll();
+ public void deleteAllResultSets();
/**
* deletes an extraction result set corresponding id.
*/
- public void delete(String id);
+ public void deleteResultSet(String id);
/**
* refreshes histories.
map.put(mers.getId(), mers);\r
}\r
\r
- public void delete(String id){\r
+ public void deleteResultSet(String id){\r
map.remove(id);\r
}\r
\r
- public void deleteAll(){\r
+ public void deleteAllResultSets(){\r
map.clear();\r
}\r
\r
- public ExtractionResultSet getExtractionResultSet(String id){\r
+ public ExtractionResultSet getResultSet(String id){\r
return map.get(id);\r
}\r
\r
- public synchronized String[] getIds(){\r
+ public synchronized String[] getResultSetIds(){\r
return map.keySet().toArray(new String[map.size()]);\r
}\r
\r
this.source = source;
}
- public void delete(String id){
+ public void deleteResultSet(String id){
QueryRunner runner = new QueryRunner(source);
try{
}
}
- public void deleteAll(){
+ public void deleteAllResultSets(){
QueryRunner runner = new QueryRunner(source);
try{
runner.update("DELETE FROM EXTRACTED_BIRTHMARK_TYPES");
}
}
- public ExtractionResultSet getExtractionResultSet(String id){
+ public ExtractionResultSet getResultSet(String id){
return new RDBExtractionResultSet(source, id);
}
- public String[] getIds(){
+ public String[] getResultSetIds(){
QueryRunner runner = new QueryRunner(source);
try{
String[] ids = (String[])runner.query(
}
public Iterator<String> iterator(){
- return new ArrayIterator<String>(getIds());
+ return new ArrayIterator<String>(getResultSetIds());
}
public void refresh(){
}
}
- public void deleteAll(){
+ public void deleteAllResultSets(){
for(File file: parent.listFiles()){
if(isTarget(file)){
Utility.deleteDirectory(file);
}
}
- public void delete(String id){
+ public void deleteResultSet(String id){
File file = files.get(id);
if(file != null){
if(file.isDirectory()){
}
}
- public ExtractionResultSet getExtractionResultSet(String id){
+ public ExtractionResultSet getResultSet(String id){
File file = files.get(id);
if(file != null){
return new XmlFileExtractionResultSet(file);
return null;
}
- public synchronized String[] getIds(){
+ public synchronized String[] getResultSetIds(){
return files.keySet().toArray(new String[files.size()]);
}
currentHistory = historyManager.getHistory(historyId);
model.clear();
- System.out.println(historyId);
for(String id: currentHistory){
model.addElement(id);
}
}
private void showAction(String id){
- ExtractionResultSet ers = currentHistory.getExtractionResultSet(id);
+ ExtractionResultSet ers = currentHistory.getResultSet(id);
stigmata.showExtractionResult(ers);
}
int[] indeces = list.getSelectedIndices();
for(int i = indeces.length - 1; i >= 0; i--){
String id = (String)model.get(indeces[i]);
- currentHistory.delete(id);
+ currentHistory.deleteResultSet(id);
model.remove(indeces[i]);
}
list.clearSelection();
JButton refreshButton = GUIUtility.createButton("refreshhistory", refreshAction);
JButton deleteButton = GUIUtility.createButton("deletehistory", deleteAction);
deleteAction.setEnabled(false);
+ showAction.setEnabled(false);
list.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e){