| /******************************************************************************* |
| * Copyright (c) 2003, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.wst.common.tests.ui.manager; |
| |
| import java.util.Vector; |
| |
| import org.eclipse.core.commands.ExecutionException; |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.core.runtime.IProgressMonitor; |
| import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.core.runtime.Status; |
| import org.eclipse.wst.common.environment.ILog; |
| import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation; |
| import org.eclipse.wst.common.frameworks.datamodel.IDataModel; |
| |
| public abstract class BaseOperation extends AbstractDataModelOperation { |
| public static Vector resultList; |
| public static Vector undoList; |
| private IStatus status; |
| private boolean checkModels; |
| private boolean modelsOK = false; |
| |
| public BaseOperation() { |
| super(); |
| } |
| |
| public void setStatus(IStatus status) { |
| this.status = status; |
| } |
| |
| public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { |
| resultList.add(getID()); |
| |
| getDataModel().setProperty("executedOps", resultList); |
| getDataModel().setProperty("executedUndoOps", undoList); |
| if (checkModels) |
| modelsOK = checkModels(); |
| |
| getEnvironment().getLog().log(ILog.OK, 1234, this, "BaseOperation", (Throwable) null); //$NON-NLS-1$ |
| |
| return status; |
| } |
| |
| public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { |
| return Status.OK_STATUS; |
| } |
| |
| public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { |
| resultList.remove(resultList.size() - 1); |
| undoList.add(getID()); |
| return Status.OK_STATUS; |
| } |
| |
| public void setCheckModels(boolean checkModels) { |
| this.checkModels = checkModels; |
| } |
| |
| public boolean getModelsOK() { |
| return modelsOK; |
| } |
| |
| private boolean checkModels() { |
| IDataModel model = getDataModel(); |
| |
| boolean containsModel1 = model.isNestedModel("testprovider1"); |
| boolean containsModel2 = model.isNestedModel("testprovider2"); |
| boolean prop1 = model.isPropertySet("provider1Prop1"); |
| boolean prop2 = model.isPropertySet("provider1Prop2"); |
| boolean prop3 = model.isPropertySet("provider1Prop3"); |
| boolean prop4 = model.isPropertySet("provider1Prop4"); |
| boolean prop5 = model.isPropertySet("provider2Prop1"); |
| boolean prop6 = model.isPropertySet("provider2Prop2"); |
| boolean prop7 = model.isPropertySet("provider2Prop3"); |
| boolean prop8 = model.isPropertySet("provider2Prop4"); |
| boolean value1 = model.getProperty("provider1Prop1").equals("11"); |
| boolean value2 = model.getProperty("provider1Prop2").equals("22"); |
| boolean value3 = model.getProperty("provider1Prop3").equals("33"); |
| boolean value4 = model.getProperty("provider1Prop4").equals("44"); |
| boolean value5 = model.getProperty("provider2Prop1").equals("1111"); |
| boolean value6 = model.getProperty("provider2Prop2").equals("2222"); |
| boolean value7 = model.getProperty("provider2Prop3").equals("3333"); |
| boolean value8 = model.getProperty("provider2Prop4").equals("4444"); |
| |
| return containsModel1 && containsModel2 && prop1 && prop2 && prop3 && prop4 && prop5 && prop6 && prop7 && prop8 && value1 && value2 && value3 && value4 && value5 && value6 && value7 && value8; |
| } |
| } |