Package edu.stanford.bmir.protege.web.client.ui.frame

Source Code of edu.stanford.bmir.protege.web.client.ui.frame.AbstractFrameEditor

package edu.stanford.bmir.protege.web.client.ui.frame;

import com.google.common.base.Optional;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.SimplePanel;
import edu.stanford.bmir.protege.web.client.rpc.GetRendering;
import edu.stanford.bmir.protege.web.client.rpc.GetRenderingResponse;
import edu.stanford.bmir.protege.web.client.rpc.RenderingServiceManager;
import edu.stanford.bmir.protege.web.client.ui.editor.ValueEditor;
import edu.stanford.bmir.protege.web.shared.HasEntityDataProvider;
import edu.stanford.bmir.protege.web.shared.HasSignature;
import edu.stanford.bmir.protege.web.shared.entity.OWLEntityData;
import edu.stanford.bmir.protege.web.shared.project.ProjectId;
import org.semanticweb.owlapi.model.OWLEntity;

/**
* Author: Matthew Horridge<br>
* Stanford University<br>
* Bio-Medical Informatics Research Group<br>
* Date: 31/01/2013
*/
public abstract class AbstractFrameEditor<O> extends SimplePanel implements ValueEditor<O> {

    private ProjectId projectId;

    /**
     * Creates an empty panel that uses a DIV for its contents.
     */
    protected AbstractFrameEditor(ProjectId projectId) {
        this.projectId = projectId;
    }

    @Override
    final public void setValue(final O object) {
        if (object instanceof HasSignature) {
            RenderingServiceManager renderingServiceManager = RenderingServiceManager.getManager();
            final HasSignature hasSignature = (HasSignature) object;
            renderingServiceManager.execute(new GetRendering(projectId, hasSignature), new AsyncCallback<GetRenderingResponse>() {
                @Override
                public void onFailure(Throwable caught) {
                }

                @Override
                public void onSuccess(GetRenderingResponse result) {
                    setValue(object, result);
                }
            });
        }
        else {
            setValue(object, new HasEntityDataProvider() {
                @Override
                public Optional<OWLEntityData> getEntityData(OWLEntity entity) {
                    return Optional.absent();
                }
            });
        }
    }

    public abstract void setValue(O object, HasEntityDataProvider entityDataProvider);
}
TOP

Related Classes of edu.stanford.bmir.protege.web.client.ui.frame.AbstractFrameEditor

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.