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

org.protege.editor.owl.ui.ontology.wizard.merge.MergeOntologiesWizard Maven / Gradle / Ivy

package org.protege.editor.owl.ui.ontology.wizard.merge;

import org.protege.editor.core.ui.wizard.Wizard;
import org.protege.editor.owl.OWLEditorKit;
import org.protege.editor.owl.model.OWLModelManager;
import org.protege.editor.owl.ui.action.OntologyFormatPage;
import org.protege.editor.owl.ui.ontology.wizard.create.OntologyIDPanel;
import org.protege.editor.owl.ui.ontology.wizard.create.PhysicalLocationPanel;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyID;
import org.semanticweb.owlapi.model.OWLRuntimeException;

import java.util.Set;


/**
 * Author: Matthew Horridge
* The University Of Manchester
* Medical Informatics Group
* Date: 02-Jul-2006

* [email protected]
* www.cs.man.ac.uk/~horridgm

*/ public class MergeOntologiesWizard extends Wizard { private SelectOntologiesPage selectOntologiesPage; private OntologyIDPanel IDPanel; private PhysicalLocationPanel physicalLocationPanel; private OWLModelManager owlModelManager; private SelectTargetOntologyPage selectTargetOntologyPage; private OntologyFormatPage ontologyFormatPage; public MergeOntologiesWizard(OWLEditorKit editorKit) { setTitle("Create ontology wizard"); this.owlModelManager = editorKit.getModelManager(); registerWizardPanel(SelectOntologiesPage.ID, selectOntologiesPage = new SelectOntologiesPage(editorKit, "Select ontologies to merge")); selectOntologiesPage.setInstructions("Please select the ontologies that you want to merge into another ontology."); registerWizardPanel(MergeTypePage.ID, new MergeTypePage(editorKit)); registerWizardPanel(OntologyIDPanel.ID, IDPanel = new OntologyIDPanel(editorKit)); registerWizardPanel(PhysicalLocationPanel.ID, physicalLocationPanel = new PhysicalLocationPanel(editorKit)); registerWizardPanel(OntologyFormatPage.ID, ontologyFormatPage = new OntologyFormatPage(editorKit)); registerWizardPanel(SelectTargetOntologyPage.ID, selectTargetOntologyPage = new SelectTargetOntologyPage(editorKit, "Select ontology to merge into")); selectTargetOntologyPage.setInstructions("Please select the target ontology to merge into"); setCurrentPanel(SelectOntologiesPage.ID); } public Set getOntologiesToMerge() { return selectOntologiesPage.getOntologies(); } public OWLOntology getOntologyToMergeInto() { OWLOntology ont = selectTargetOntologyPage.getOntology(); if (ont == null){ try { OWLOntologyID id = IDPanel.getOntologyID(); ont = owlModelManager.createNewOntology(id, physicalLocationPanel.getLocationURL()); owlModelManager.getOWLOntologyManager().setOntologyFormat(ont, ontologyFormatPage.getFormat()); } catch (OWLOntologyCreationException e) { throw new OWLRuntimeException(e); } } return ont; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy