From: <lor...@us...> - 2009-12-02 08:56:46
|
Revision: 1928 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1928&view=rev Author: lorenz_b Date: 2009-12-02 08:56:36 +0000 (Wed, 02 Dec 2009) Log Message: ----------- Added 'save as' function for the modified ontologies. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/KnowledgeSourcePanel.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/ui/OverrideFileChooser.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java 2009-12-01 17:59:11 UTC (rev 1927) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREManager.java 2009-12-02 08:56:36 UTC (rev 1928) @@ -1,5 +1,6 @@ package org.dllearner.tools.ore; +import java.io.File; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -36,10 +37,13 @@ import org.dllearner.utilities.owl.OWLAPIConverter; import org.mindswap.pellet.exceptions.InconsistentOntologyException; import org.mindswap.pellet.utils.SetUtils; +import org.semanticweb.owl.io.OWLXMLOntologyFormat; import org.semanticweb.owl.model.OWLDataFactory; import org.semanticweb.owl.model.OWLDescription; import org.semanticweb.owl.model.OWLObjectProperty; import org.semanticweb.owl.model.OWLOntologyCreationException; +import org.semanticweb.owl.model.OWLOntologyStorageException; +import org.semanticweb.owl.model.UnknownOWLOntologyException; public class OREManager { @@ -169,6 +173,23 @@ reasoner.loadOntologies(); } + /** + * Save the ontology in OWL/XML format. + * @param file The file to save as. + * @throws OWLOntologyStorageException + * + */ + public void saveOntology(File file) throws OWLOntologyStorageException{ + + try { + reasoner.getOWLOntologyManager().saveOntology(reasoner.getOWLAPIOntologies(), new OWLXMLOntologyFormat(), file.toURI()); + } catch (UnknownOWLOntologyException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + public void makeOWAToCWA(){ reasoner.dematerialise(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java 2009-12-01 17:59:11 UTC (rev 1927) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java 2009-12-02 08:56:36 UTC (rev 1928) @@ -20,6 +20,7 @@ package org.dllearner.tools.ore; +import java.io.File; import java.net.URI; import java.util.ArrayList; import java.util.Collection; @@ -39,7 +40,7 @@ import org.dllearner.reasoning.PelletReasoner; import org.dllearner.utilities.owl.OWLAPIConverter; import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; -import org.semanticweb.owl.io.RDFXMLOntologyFormat; +import org.semanticweb.owl.io.OWLXMLOntologyFormat; import org.semanticweb.owl.model.AddAxiom; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; @@ -154,26 +155,7 @@ } - /** - * Saves the ontology as RDF-file. - */ - public void saveOntology(){ - - - URI physicalURI2 = URI.create("file:/tmp/MyOnt2.owl"); - - try { - manager.saveOntology(ontology, new RDFXMLOntologyFormat(), physicalURI2); - } catch (UnknownOWLOntologyException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (OWLOntologyStorageException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } /** * Deletes the complete individual from the ontology. * @param ind the individual to delete Added: trunk/src/dl-learner/org/dllearner/tools/ore/ui/OverrideFileChooser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/OverrideFileChooser.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/OverrideFileChooser.java 2009-12-02 08:56:36 UTC (rev 1928) @@ -0,0 +1,45 @@ +package org.dllearner.tools.ore.ui; + +import java.io.File; + +import javax.swing.JFileChooser; +import javax.swing.JOptionPane; + +import org.dllearner.tools.ore.OREManager; +import org.semanticweb.owl.model.OWLOntologyStorageException; + +public class OverrideFileChooser extends JFileChooser { + + /** + * + */ + private static final long serialVersionUID = 1L; + + @Override + public void approveSelection() { + File f = super.getSelectedFile(); + if (f.exists()) { + int ans = JOptionPane.showConfirmDialog(null, "" + f.getName() + " already exists. Overwrite?", "Confirm Overwrite", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); + if (ans == JOptionPane.OK_OPTION) { + try { + OREManager.getInstance().saveOntology(f); + super.approveSelection(); + } catch (OWLOntologyStorageException e) { + JOptionPane.showMessageDialog(this, "Could not save file: " + e.getCause(), "Error", JOptionPane.ERROR_MESSAGE); + } + + } + } else { + try { + OREManager.getInstance().saveOntology(f); + super.approveSelection(); + } catch (OWLOntologyStorageException e) { + JOptionPane.showMessageDialog(this, "Could not save file: " + e.getCause(), "Error", JOptionPane.ERROR_MESSAGE); + } + } + + } + + + +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2009-12-01 17:59:11 UTC (rev 1927) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2009-12-02 08:56:36 UTC (rev 1928) @@ -41,8 +41,10 @@ import org.dllearner.tools.ore.ui.wizard.panels.KnowledgeSourcePanel; import org.protege.editor.core.ui.OpenFromURIPanel; import org.protege.editor.core.ui.error.ErrorLogPanel; +import org.protege.editor.owl.model.OntologyFileFilter; import org.semanticweb.owl.io.UnparsableOntologyException; import org.semanticweb.owl.model.OWLOntologyCreationException; +import org.semanticweb.owl.model.OWLOntologyFormat; /** * Wizard panel descriptor where knowledge source is selected. @@ -180,7 +182,7 @@ } private void updateRecentList(){ - knowledgePanel.updateRecentList(); + knowledgePanel.updateRecentList(this); } public KnowledgeSourcePanel getPanel() { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java 2009-12-01 17:59:11 UTC (rev 1927) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java 2009-12-02 08:56:36 UTC (rev 1928) @@ -22,10 +22,14 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.io.File; +import javax.swing.JFileChooser; +import javax.swing.filechooser.FileFilter; + import org.dllearner.tools.ore.LearningManager; import org.dllearner.tools.ore.OREManager; -import org.dllearner.tools.ore.OntologyModifier; +import org.dllearner.tools.ore.ui.OverrideFileChooser; import org.dllearner.tools.ore.ui.wizard.WizardPanelDescriptor; import org.dllearner.tools.ore.ui.wizard.panels.SavePanel; @@ -40,6 +44,8 @@ "or 'Save and choose another class' button to save the changes and go back to class choose panel."; private SavePanel savePanel; + final JFileChooser fc = new OverrideFileChooser(); + public SavePanelDescriptor() { savePanel = new SavePanel(); @@ -48,6 +54,22 @@ setPanelDescriptorIdentifier(IDENTIFIER); setPanelComponent(savePanel); + fc.setFileFilter(new FileFilter() { + + @Override + public String getDescription() { + return "RDF/XML, OWL/XML"; + } + + @Override + public boolean accept(File f) { + if (f.isDirectory()) { + return true; + } + return f.getName().toLowerCase().endsWith(".owl") + || f.getName().toLowerCase().endsWith(".rdf"); + } + }); } @@ -77,21 +99,36 @@ @Override public void actionPerformed(ActionEvent e) { - OntologyModifier modifier = OREManager.getInstance().getModifier(); + if(e.getActionCommand().equals("Save and go to class choose panel")){ - modifier.saveOntology(); - if(LearningManager.getInstance().getLearningMode() == LearningManager.MANUAL_LEARN_MODE){ - getWizard().setCurrentPanel(ClassChoosePanelDescriptor.IDENTIFIER); - } else { - getWizard().setCurrentPanel(AutoLearnPanelDescriptor.IDENTIFIER); + if(saveOntology()){ + if(LearningManager.getInstance().getLearningMode() == LearningManager.MANUAL_LEARN_MODE){ + getWizard().setCurrentPanel(ClassChoosePanelDescriptor.IDENTIFIER); + } else { + getWizard().setCurrentPanel(AutoLearnPanelDescriptor.IDENTIFIER); + } } + }else if(e.getActionCommand().equals("Save and Exit")){ - modifier.saveOntology(); - getWizard().close(0); + if(saveOntology()){ + getWizard().close(0); + } + } } + + private boolean saveOntology(){ + int ret = fc.showSaveDialog(savePanel); + + if(ret == JFileChooser.APPROVE_OPTION){ + return true; + } else { + return false; + } + + } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/KnowledgeSourcePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/KnowledgeSourcePanel.java 2009-12-01 17:59:11 UTC (rev 1927) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/KnowledgeSourcePanel.java 2009-12-02 08:56:36 UTC (rev 1928) @@ -124,7 +124,7 @@ metricsPanel.setVisible(true); } - public void updateRecentList(){ + public void updateRecentList(ActionListener aL){ recentLinkBox.removeAll(); openFromRecentLinks.clear(); LinkLabel link; @@ -133,8 +133,9 @@ link.setName("recent"); openFromRecentLinks.add(link); recentLinkBox.add(link); - + link.addLinkListener(aL); } + } public void addListeners(ActionListener aL) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |