out.printf(" <name>%s</name>%n", list.escapeToXmlString(set.getName()));\r
out.printf(" <location>%s</location>%n", list.escapeToXmlString(set.getLocation()));\r
out.printf(" </target%d>%n", index);\r
-\r
}\r
\r
private void printPairElement(PrintWriter out, ComparisonPairElement e){\r
\r
private ExtractionResultSetFactory(){\r
map.put(BirthmarkStoreTarget.MEMORY.name(), MemoryExtractionResultSet.class);\r
- map.put(BirthmarkStoreTarget.XMLFILE.name(), XmlFileExtractionResultSet.class);\r
+ map.put(BirthmarkStoreTarget.XMLFILE.name(), XmlFileExtractionResultSet.class);\r
map.put(BirthmarkStoreTarget.MEMORY_SINGLE.name(), SingleExtractionResultSet.class);\r
}\r
\r
import jp.naist.se.stigmata.spi.BirthmarkSpi;
/**
+ * This class manages extracted birthmarks as xml file.
+ * This instance do not use {@link ExtractionTarget <code>ExtractionTarget</code>}.
*
* @author Haruaki Tamada
* @version $Revision$ $Date$
private void addClasspath(TargetSelectionPane target, String classpath){\r
if(classpath != null){\r
target.addValues(classpath.split(System.getProperty("path.separator")));\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
}\r
\r
);\r
}\r
};\r
+\r
+ classpath.addDataChangeListener(new DataChangeListener(){\r
+ public void valueChanged(Object source){\r
+ stigmata.setNeedToSaveSettings(true);\r
+ }\r
+ });\r
+\r
findButton.addActionListener(action);\r
text.addActionListener(action);\r
}\r
if(index >= 0){\r
model.removeRow(index);\r
}\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
\r
private void addOrUpdateProperty(String name, String value){\r
else{\r
model.addRow(new Object[] { name, value, });\r
}\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
\r
private int findIndex(String name){\r
name.getText().trim(),\r
value.getText()\r
});\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
}\r
\r
for(int i = indexes.length - 1; i >= 0; i--){\r
model.removeRow(indexes[i]);\r
}\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
\r
private void initLayouts(){\r
import java.awt.Image;\r
import java.awt.event.ActionEvent;\r
import java.awt.event.ActionListener;\r
+import java.awt.event.WindowAdapter;\r
+import java.awt.event.WindowEvent;\r
import java.io.BufferedReader;\r
import java.io.File;\r
import java.io.FileReader;\r
\r
private JTabbedPane tabPane;\r
private JMenuItem closeTabMenu;\r
+ private JMenuItem saveMenu;\r
private JCheckBoxMenuItem expertmodeMenu;\r
private Stigmata stigmata;\r
private BirthmarkEnvironment environment;\r
initLayouts();\r
}\r
\r
+ public boolean isNeedToSaveSettings(){\r
+ return saveMenu.isEnabled();\r
+ }\r
+\r
+ public void setNeedToSaveSettings(boolean flag){\r
+ saveMenu.setEnabled(flag);\r
+ }\r
+\r
public Stigmata getStigmata(){\r
return stigmata;\r
}\r
control.inititalize();\r
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);\r
\r
+ setNeedToSaveSettings(false);\r
setSize(900, 600);\r
}\r
\r
closeTabMenu.setEnabled(!title.equals(Messages.getString("control.tab.label")));\r
}\r
});\r
-\r
+ addWindowListener(new WindowAdapter(){\r
+ @Override\r
+ public void windowClosing(WindowEvent e){\r
+ boolean closeFlag = true;\r
+ if(isNeedToSaveSettings()){\r
+ int returnValue = JOptionPane.showConfirmDialog(\r
+ StigmataFrame.this,\r
+ Messages.getString("needtosave.settings.message"),\r
+ Messages.getString("needtosave.settings.title"),\r
+ JOptionPane.YES_NO_CANCEL_OPTION,\r
+ JOptionPane.WARNING_MESSAGE\r
+ );\r
+ closeFlag = returnValue != JOptionPane.CANCEL_OPTION;\r
+ if(returnValue == JOptionPane.YES_OPTION){\r
+ control.saveSettings(new File(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml"));\r
+ }\r
+ }\r
+ if(closeFlag){\r
+ setVisible(false);\r
+ dispose();\r
+ }\r
+ }\r
+ });\r
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);\r
}\r
\r
JMenuItem closeMenu = Utility.createJMenuItem("closeframe");\r
JMenuItem exitMenu = Utility.createJMenuItem("exit");\r
this.closeTabMenu = closeTabMenu;\r
+ this.saveMenu = saveMenu;\r
+ saveMenu.setEnabled(false);\r
\r
fileMenu.add(newFrameMenu);\r
fileMenu.add(new JSeparator());\r
saveMenu.addActionListener(new ActionListener(){\r
public void actionPerformed(ActionEvent e){\r
control.saveSettings(new File(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml"));\r
+ setNeedToSaveSettings(false);\r
}\r
});\r
\r
public void addRule(WellknownClassJudgeRule rule){\r
if(rule != null){\r
listmodel.addElement(rule);\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
}\r
\r
WellknownClassJudgeRule newrule = createOrUpdateRule(rule);\r
if(newrule != null){\r
listmodel.setElementAt(newrule, index);\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
}\r
\r
listmodel.removeElementAt(indeces[i]);\r
}\r
list.getSelectionModel().clearSelection();\r
+ stigmata.setNeedToSaveSettings(true);\r
}\r
});\r
\r
notdirectory.dialog.title=Directory Setting Error\r
notdirectory.dialog.message={0} is not directory.\r
\r
+needtosave.settings.title=Configuration is changed\r
+needtosave.settings.message=Configuration is changed. Do you save configuration?\r
+\r
################################################\r
# TargetSelectionPane\r
################################################\r
notdirectory.dialog.title=\83G\83\89\81[\r
notdirectory.dialog.message={0}\82Í\83f\83B\83\8c\83N\83g\83\8a\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81D\r
\r
+needtosave.settings.title=\90Ý\92è\82ª\95Ï\8dX\82³\82ê\82Ä\82¢\82Ü\82·\81D\r
+needtosave.settings.message=\90Ý\92è\82ª\95Ï\8dX\82³\82ê\82Ä\82¢\82Ü\82·\81D\95Û\91¶\82µ\82Ü\82·\82©\81D\r
+\r
################################################\r
# TargetSelectionPane\r
################################################\r