All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.protege.editor.owl.ui.action.GatherOntologiesAction Maven / Gradle / Ivy

Go to download

OWL ontology editing infrastructure used by the Protege desktop application.

The newest version!
package org.protege.editor.owl.ui.action;

import org.protege.editor.owl.model.io.OntologySaver;
import org.protege.editor.owl.ui.GatherOntologiesPanel;
import org.semanticweb.owlapi.formats.RDFXMLDocumentFormat;
import org.semanticweb.owlapi.model.*;
import org.slf4j.LoggerFactory;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.io.File;
import java.net.URI;
import java.util.UUID;


/**
 * Author: Matthew Horridge
* The University Of Manchester
* Bio-Health Informatics Group
* Date: 22-May-2007

*/ public class GatherOntologiesAction extends ProtegeOWLAction { public void actionPerformed(ActionEvent e) { // Need to pop a dialog asking where to save GatherOntologiesPanel panel = GatherOntologiesPanel.showDialog(getOWLEditorKit()); if (panel == null) { return; } boolean errors = false; OWLDocumentFormat saveAsFormat = panel.getOntologyFormat(); File saveAsLocation = panel.getSaveLocation(); OntologySaver.Builder ontologySaverBuilder = OntologySaver.builder(); for (OWLOntology ont : panel.getOntologiesToSave()) { final OWLDocumentFormat format; OWLOntologyManager man = getOWLModelManager().getOWLOntologyManager(); if(saveAsFormat != null) { format = saveAsFormat; } else { OWLDocumentFormat documentFormat = man.getOntologyFormat(ont); if(documentFormat != null) { format = documentFormat; } else { format = new RDFXMLDocumentFormat(); } } URI originalPhysicalURI = man.getOntologyDocumentIRI(ont).toURI(); String originalPath = originalPhysicalURI.getPath(); if (originalPath == null) { originalPath = UUID.randomUUID().toString() + ".owl"; } File originalFile = new File(originalPath); String originalFileName = originalFile.getName(); File saveAsFile = new File(saveAsLocation, originalFileName); ontologySaverBuilder.addOntology(ont, format, IRI.create(saveAsFile)); } try { ontologySaverBuilder.build().saveOntologies(); } catch (OWLOntologyStorageException e1) { LoggerFactory.getLogger(GatherOntologiesAction.class) .error("An error occurred whilst saving a gathered ontology: {}", e1); errors = true; } if (errors) { JOptionPane.showMessageDialog(getWorkspace(), "There were errors when saving the ontologies. Please check the log for details.", "Error during save", JOptionPane.ERROR_MESSAGE); } } public void initialise() throws Exception { } public void dispose() throws Exception { } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy