Package edu.stanford.bmir.protege.web.server.owlapi

Source Code of edu.stanford.bmir.protege.web.server.owlapi.RenameEntityChangeFactory

package edu.stanford.bmir.protege.web.server.owlapi;

import edu.stanford.bmir.protege.web.shared.user.UserId;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLEntity;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyChange;
import org.semanticweb.owlapi.util.OWLEntityRenamer;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
* Author: Matthew Horridge<br>
* Stanford University<br>
* Bio-Medical Informatics Research Group<br>
* Date: 02/04/2012
*/
public class RenameEntityChangeFactory extends OWLOntologyChangeFactory {

    private String oldName;
   
    private String newName;

    public RenameEntityChangeFactory(OWLAPIProject project, UserId userId, String changeDescription, String oldName, String newName) {
        super(project, userId, changeDescription);
        this.oldName = oldName;
        this.newName = newName;
    }

    @Override
    public void createChanges(List<OWLOntologyChange> changeListToFill) {
        Set<OWLOntology> importsClosure = getRootOntology().getImportsClosure();
        OWLEntityRenamer renamer = new OWLEntityRenamer(getRootOntologyManager(), importsClosure);
        Map<OWLEntity, IRI> renameMap = new HashMap<OWLEntity, IRI>();
        RenderingManager rm = getRenderingManager();
        for(OWLEntity oldEntity : rm.getEntities(oldName)) {
            IRI newNameIRI = rm.getIRI(newName);
            renameMap.put(oldEntity, newNameIRI);
        }
        List<OWLOntologyChange> changes = renamer.changeIRI(renameMap);
        changeListToFill.addAll(changes);
    }

}
TOP

Related Classes of edu.stanford.bmir.protege.web.server.owlapi.RenameEntityChangeFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.