/*******************************************************************************
* Copyright (c) 2006-2012
* Software Technology Group, Dresden University of Technology
* DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026
*
* 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:
* Software Technology Group - TU Dresden, Germany;
* DevBoost GmbH - Berlin, Germany
* - initial API and implementation
******************************************************************************/
package org.reuseware.sokan.test.util;
import java.io.File;
import java.io.IOException;
import org.reuseware.sokan.index.util.IndexUtil;
public class TestDataBuilder {
public static final TestDataBuilder INSTANCE = new TestDataBuilder();
private static final TestData data = TestData.INSTANCE;
private static boolean dataIsBuild;
private static File testDataProject;
private TestDataBuilder() {
dataIsBuild = false;
}
public void build() throws IOException {
if (dataIsBuild)
return;
buildWorkspace();
createOthers();
dataIsBuild = true;
}
private void buildWorkspace() throws IOException {
// create the main project
testDataProject = TestUtil.createProject("TestDataProject");
// create some parent folders
File single = TestUtil.createFolder("single", testDataProject, null);
File dual = TestUtil.createFolder("dual", testDataProject, null);
// create some store folders
File trivial = TestUtil.createFolder("trivial", single, data);
File list = TestUtil.createFolder("list", single, data);
File binaryList = TestUtil.createFolder("binaryList", single, data);
File binaryTree = TestUtil.createFolder("binaryTree", single, data);
File complexPos = TestUtil.createFolder("complexPos", single, data);
File complexNeg = TestUtil.createFolder("complexNeg", single, data);
File dualTrivial = TestUtil.createFolder("dualTrivial", dual, data);
File dualNormal = TestUtil.createFolder("dualNormal", dual, data);
File dualComplex = TestUtil.createFolder("dualComplex", dual, data);
File multi = TestUtil.createFolder("multi", testDataProject, data);
// mark folders as store
File[] stores = { trivial, list, binaryList, binaryTree, complexPos,
complexNeg, dualTrivial, dualNormal, dualComplex, multi };
TestUtil.mark(stores);
// create the artifact files
TestUtil.createArtifactFile(data.getCase(1), trivial, data);
TestUtil.createArtifactFile(data.getCase(2), trivial, data);
TestUtil.createArtifactFile(data.getCase(3), list, data);
TestUtil.createArtifactFile(data.getCase(4), list, data);
TestUtil.createArtifactFile(data.getCase(5), list, data);
TestUtil.createArtifactFile(data.getCase(6), list, data);
TestUtil.createArtifactFile(data.getCase(7), list, data);
TestUtil.createArtifactFile(data.getCase(8), list, data);
TestUtil.createArtifactFile(data.getCase(9), list, data);
TestUtil.createArtifactFile(data.getCase(10), binaryList, data);
TestUtil.createArtifactFile(data.getCase(11), binaryList, data);
TestUtil.createArtifactFile(data.getCase(12), binaryList, data);
TestUtil.createArtifactFile(data.getCase(13), binaryList, data);
TestUtil.createArtifactFile(data.getCase(14), binaryList, data);
TestUtil.createArtifactFile(data.getCase(15), binaryList, data);
TestUtil.createArtifactFile(data.getCase(16), binaryList, data);
TestUtil.createArtifactFile(data.getCase(17), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(18), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(19), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(20), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(21), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(22), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(23), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(24), binaryTree, data);
TestUtil.createArtifactFile(data.getCase(25), complexPos, data);
TestUtil.createArtifactFile(data.getCase(26), complexPos, data);
TestUtil.createArtifactFile(data.getCase(27), complexPos, data);
TestUtil.createArtifactFile(data.getCase(28), complexPos, data);
TestUtil.createArtifactFile(data.getCase(29), complexPos, data);
TestUtil.createArtifactFile(data.getCase(30), complexPos, data);
TestUtil.createArtifactFile(data.getCase(31), complexPos, data);
TestUtil.createArtifactFile(data.getCase(32), complexNeg, data);
TestUtil.createArtifactFile(data.getCase(33), complexNeg, data);
TestUtil.createArtifactFile(data.getCase(34), complexNeg, data);
TestUtil.createArtifactFile(data.getCase(35), complexNeg, data);
TestUtil.createArtifactFile(data.getCase(36), dualTrivial, data);
TestUtil.createArtifactFile(data.getCase(37), dualTrivial, data);
TestUtil.createArtifactFile(data.getCase(38), dualTrivial, data);
TestUtil.createArtifactFile(data.getCase(39), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(40), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(41), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(42), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(43), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(44), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(45), dualNormal, data);
TestUtil.createArtifactFile(data.getCase(46), dualComplex, data);
TestUtil.createArtifactFile(data.getCase(47), dualComplex, data);
TestUtil.createArtifactFile(data.getCase(48), dualComplex, data);
TestUtil.createArtifactFile(data.getCase(49), multi, data);
TestUtil.createArtifactFile(data.getCase(50), multi, data);
IndexUtil.INSTANCE.commitIndex();
}
private void createOthers() throws IOException {
data.noStore = TestUtil.createFolder("noStore", testDataProject, null);
data.notExistFile = new File(data.noStore + "/notExistFile");
TestUtil.createArtifactFile("notInStoreFile", data.noStore, data);
IndexUtil.INSTANCE.commitIndex();
data.updateFlag = false;
}
}