/* * (c) Copyright 2010-2011 AgileBirds * * This file is part of OpenFlexo. * * OpenFlexo is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * OpenFlexo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with OpenFlexo. If not, see <http://www.gnu.org/licenses/>. * */ package org.openflexo.foundation.ontology; import java.util.logging.Logger; import org.openflexo.foundation.FlexoEditor; import org.openflexo.foundation.FlexoTestCase; import org.openflexo.foundation.dkv.TestPopulateDKV; import org.openflexo.foundation.rm.FlexoProject; import org.openflexo.foundation.rm.SaveResourceException; import org.openflexo.foundation.view.ViewFolder; import org.openflexo.foundation.view.action.AddView; import org.openflexo.foundation.view.action.AddViewFolder; import org.openflexo.toolbox.FileUtils; public class TestShemas extends FlexoTestCase { protected static final Logger logger = Logger.getLogger(TestPopulateDKV.class.getPackage().getName()); private static FlexoEditor _editor; private static FlexoProject _project; public TestShemas(String name) { super(name); } /** * Creates a new empty project in a temp directory */ public void test0CreateProject() { log("test0CreateProject()"); _editor = createProject("TestShema"); _project = _editor.getProject(); } /** * Creates a new empty project in a temp directory, create shema library, and reload */ public void test1CreateOntology() { log("test1CreateOntology()"); logger.info("Hop" + _project.getShemaLibrary()); saveProject(_project); logger.info("Reload project"); _editor = reloadProject(_project.getProjectDirectory()); if (_project != null) { _project.close(); } _project = _editor.getProject(); } /** * Creates some shema folders */ public void test2CreateFolders() { log("test2CreateFolders()"); logger.info("Hop " + _project.getShemaLibrary()); AddViewFolder addFolder1 = AddViewFolder.actionType.makeNewAction(_project.getShemaLibrary(), null, _editor); addFolder1.setNewFolderName("Folder1"); addFolder1.doAction(); AddViewFolder addFolder2 = AddViewFolder.actionType.makeNewAction(_project.getShemaLibrary(), null, _editor); addFolder2.setNewFolderName("Folder2"); addFolder2.doAction(); AddViewFolder addFolder3 = AddViewFolder.actionType.makeNewAction(addFolder2.getNewFolder(), null, _editor); addFolder3.setNewFolderName("Folder3"); addFolder3.doAction(); saveProject(_project); logger.info("Reload project"); _editor = reloadProject(_project.getProjectDirectory()); if (_project != null) { _project.close(); } _project = _editor.getProject(); } /** * Creates a shema */ public void test3CreateShema() { log("test3CreateShema()"); ViewFolder folder3 = _project.getShemaLibrary().getFolderWithName("Folder3"); logger.info("Hop " + folder3); AddView addShema = AddView.actionType.makeNewAction(folder3, null, _editor); addShema.newViewName = "TestShema"; addShema.doAction(); try { addShema.getNewDiagram().getShemaResource().saveResourceData(); } catch (SaveResourceException e) { // TODO Auto-generated catch block e.printStackTrace(); } saveProject(_project); logger.info("Reload project"); _editor = reloadProject(_project.getProjectDirectory()); if (_project != null) { _project.close(); } _project = _editor.getProject(); FileUtils.deleteDir(_project.getProjectDirectory()); _project = null; _editor = null; } }