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

Source Code of edu.stanford.bmir.protege.web.server.frame.GetManchesterSyntaxFrameActionHandler

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

import edu.stanford.bmir.protege.web.server.dispatch.AbstractHasProjectActionHandler;
import edu.stanford.bmir.protege.web.server.dispatch.ExecutionContext;
import edu.stanford.bmir.protege.web.server.dispatch.RequestContext;
import edu.stanford.bmir.protege.web.server.dispatch.RequestValidator;
import edu.stanford.bmir.protege.web.server.dispatch.validators.UserHasProjectReadPermissionValidator;
import edu.stanford.bmir.protege.web.server.owlapi.EscapingShortFormProvider;
import edu.stanford.bmir.protege.web.server.owlapi.OWLAPIProject;
import edu.stanford.bmir.protege.web.shared.frame.GetManchesterSyntaxFrameAction;
import edu.stanford.bmir.protege.web.shared.frame.GetManchesterSyntaxFrameResult;
import org.semanticweb.owlapi.model.OWLOntology;
import uk.ac.manchester.cs.owl.owlapi.mansyntaxrenderer.ManchesterOWLSyntaxFrameRenderer;

import java.io.StringWriter;

/**
* @author Matthew Horridge, Stanford University, Bio-Medical Informatics Research Group, Date: 18/03/2014
*/
public class GetManchesterSyntaxFrameActionHandler extends AbstractHasProjectActionHandler<GetManchesterSyntaxFrameAction, GetManchesterSyntaxFrameResult> {
    @Override
    protected RequestValidator<GetManchesterSyntaxFrameAction> getAdditionalRequestValidator(GetManchesterSyntaxFrameAction action, RequestContext requestContext) {
        return UserHasProjectReadPermissionValidator.get();
    }

    @Override
    protected GetManchesterSyntaxFrameResult execute(GetManchesterSyntaxFrameAction action, final OWLAPIProject project, ExecutionContext executionContext) {
        StringWriter writer = new StringWriter();
        final OWLOntology rootOntology = project.getRootOntology();
        EscapingShortFormProvider entityShortFormProvider = new EscapingShortFormProvider(project.getRenderingManager().getShortFormProvider());
        final ManchesterOWLSyntaxFrameRenderer frameRenderer = new ManchesterOWLSyntaxFrameRenderer(rootOntology.getImportsClosure(), writer, entityShortFormProvider);
        frameRenderer.setOntologyIRIShortFormProvider(project.getRenderingManager().getOntologyIRIShortFormProvider());
//        frameRenderer.setRenderExtensions(true);
        frameRenderer.setRenderOntologyLists(true);
        frameRenderer.setUseTabbing(true);
        frameRenderer.setUseWrapping(true);
        frameRenderer.writeFrame(action.getSubject());
        frameRenderer.writeEntityNaryAxioms(action.getSubject());
        frameRenderer.writeRulesContainingPredicate(action.getSubject());
        return new GetManchesterSyntaxFrameResult(writer.getBuffer().toString());
    }

    @Override
    public Class<GetManchesterSyntaxFrameAction> getActionClass() {
        return GetManchesterSyntaxFrameAction.class;
    }
}
TOP

Related Classes of edu.stanford.bmir.protege.web.server.frame.GetManchesterSyntaxFrameActionHandler

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.