| /******************************************************************************* |
| * Copyright (c) 2002, 2006 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 - Initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.core.tests.resources.saveparticipant; |
| |
| import org.eclipse.core.resources.*; |
| import org.eclipse.core.runtime.CoreException; |
| import org.eclipse.core.tests.resources.WorkspaceSessionTest; |
| |
| /** |
| * Runs all the SaveManager tests as a single session test. |
| */ |
| public class SaveManagerTest extends WorkspaceSessionTest { |
| |
| /** project names */ |
| static final String PROJECT_1 = "MyProject"; |
| static final String PROJECT_2 = "Project2"; |
| |
| /** activities */ |
| static final String COMMENT_1 = "COMMENT ONE"; |
| static final String COMMENT_2 = "COMMENT TWO"; |
| |
| /** plugin ids */ |
| static final String PI_SAVE_PARTICIPANT_1 = "org.eclipse.core.tests.resources.saveparticipant1"; |
| static final String PI_SAVE_PARTICIPANT_2 = "org.eclipse.core.tests.resources.saveparticipant2"; |
| static final String PI_SAVE_PARTICIPANT_3 = "org.eclipse.core.tests.resources.saveparticipant3"; |
| |
| public SaveManagerTest() { |
| } |
| |
| public SaveManagerTest(String name) { |
| super(name); |
| } |
| |
| protected String[] defineHierarchy(String project) { |
| if (project.equals(PROJECT_1)) |
| return defineHierarchy1(); |
| if (project.equals(PROJECT_2)) |
| return defineHierarchy2(); |
| return new String[0]; |
| } |
| |
| protected String[] defineHierarchy1() { |
| return new String[] {"/folder110/", "/folder110/folder120/", "/folder110/folder120/folder130/", "/folder110/folder120/folder130/folder140/", "/folder110/folder120/folder130/folder140/folder150/", "/folder110/folder120/folder130/folder140/folder150/file160", "/folder110/folder120/folder130/folder140/file150", "/folder110/folder121/", "/folder110/folder121/folder131/", "/folder110/folder120/folder130/folder141/"}; |
| } |
| |
| protected String[] defineHierarchy2() { |
| return new String[] {"/file110", "/folder110/", "/folder110/file120", "/folder111/", "/folder111/folder120/", "/folder111/file121"}; |
| } |
| |
| public void saveWorkspace() { |
| try { |
| getWorkspace().save(true, null); |
| } catch (CoreException e) { |
| fail("2.0", e); |
| } |
| } |
| |
| /** |
| * Sets the workspace autobuilding to the desired value. |
| */ |
| protected void setAutoBuilding(boolean value) throws CoreException { |
| IWorkspace workspace = getWorkspace(); |
| if (workspace.isAutoBuilding() == value) |
| return; |
| IWorkspaceDescription desc = workspace.getDescription(); |
| desc.setAutoBuilding(value); |
| workspace.setDescription(desc); |
| } |
| |
| public void test1() { |
| SaveManager1Test test = new SaveManager1Test(); |
| test.saveWorkspace(); |
| test.testCreateMyProject(); |
| test.testCreateProject2(); |
| test.testAddSaveParticipant(); |
| test.testBuilder(); |
| test.saveWorkspace(); |
| test.testPostSave(); |
| |
| } |
| |
| public void test2() { |
| SaveManager2Test test = new SaveManager2Test(); |
| test.testVerifyRestoredWorkspace(); |
| test.testBuilder(); |
| test.testSaveParticipant(); |
| test.testVerifyProject2(); |
| test.saveWorkspace(); |
| } |
| |
| public void test3() { |
| SaveManager3Test test = new SaveManager3Test(); |
| test.testSaveParticipant(); |
| test.testBuilder(); |
| test.cleanUp(); |
| } |
| |
| protected void touch(IProject project) throws CoreException { |
| project.accept(new IResourceVisitor() { |
| public boolean visit(IResource resource) throws CoreException { |
| if (resource.getType() == IResource.FILE) { |
| resource.touch(null); |
| return false; |
| } |
| return true; |
| } |
| }); |
| } |
| } |