package org.eclipse.emf.emfstore.server.core.operation; import java.io.IOException; import org.eclipse.emf.emfstore.common.model.util.ModelUtil; import org.eclipse.emf.emfstore.server.accesscontrol.AuthorizationControl; import org.eclipse.emf.emfstore.server.core.AbstractEmfstoreInterface; import org.eclipse.emf.emfstore.server.core.helper.Util; import org.eclipse.emf.emfstore.server.exceptions.FatalEmfStoreException; import org.eclipse.emf.emfstore.server.model.ProjectId; import org.eclipse.emf.emfstore.server.model.ServerSpace; /** * parent class for operation executors * * @author boehlke * */ public abstract class OperationExecutor extends AbstractEmfstoreInterface { public OperationExecutor(ServerSpace serverSpace, AuthorizationControl authorizationControl) throws FatalEmfStoreException { super(serverSpace, authorizationControl); } @Override protected void initSubInterfaces() throws FatalEmfStoreException { } protected ProjectId getProjectId(String projectId) { return Util.getProjectHistoryOrNull(projectId, getServerSpace()).getProjectId(); } protected void save() { try { getServerSpace().save(); } catch (IOException e) { ModelUtil.logWarning("server space could not be saved", e); throw new RuntimeException(e); } } }