/** | |
* <copyright> | |
* | |
* Copyright (c) 2011 See4sys 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: | |
* See4sys - Initial API and implementation | |
* | |
* </copyright> | |
*/ | |
package org.eclipse.sphinx.testutils.integration.referenceworkspace.xtendxpand; | |
import org.eclipse.core.resources.IProject; | |
import org.eclipse.core.resources.ResourcesPlugin; | |
import org.eclipse.core.runtime.Plugin; | |
import org.eclipse.emf.transaction.TransactionalEditingDomain; | |
import org.eclipse.sphinx.emf.util.WorkspaceEditingDomainUtil; | |
import org.eclipse.sphinx.examples.hummingbird20.Hummingbird20MMDescriptor; | |
import org.eclipse.sphinx.examples.uml2.ide.metamodel.UML2MMDescriptor; | |
import org.eclipse.sphinx.testutils.integration.AbstractReferenceWorkspace; | |
import org.eclipse.sphinx.testutils.integration.referenceworkspace.xtendxpand.internal.Activator; | |
@SuppressWarnings("nls") | |
public class XtendXpandTestReferenceWorkspace extends AbstractReferenceWorkspace { | |
protected static final String DEFAULT_TEST_REFERENCE_WORKSPACE_ARCHIVE_FILE_NAME = "referenceWorkspace.zip"; | |
// Xtend project. | |
// | |
public static final String HB_TRANSFORM_XTEND_PROJECT_NAME = "hummingbird20.transform.xtend"; | |
public IProject transformXtendProject; | |
public static final String HB_TRANSFORM_XTEND_PROJECT_UML_MODEL_PATH = "model/sample.uml"; | |
public static final String UML2_HB20_EXT_FILE_PATH = "extensions/UML2ToHummingbird20.ext"; | |
public static final String XTEND_EXTENSION_NAME = "extensions::UML2ToHummingbird20::transform"; | |
public static final String EXTENSION_FILE_NAME_TO_BE_LINK = "extensionFile.ext"; | |
public static final String LINKED_XTEND_EXTENSION_NAME = "extensionFile::transform"; | |
// Xpand project. | |
// | |
public static final String HB_CODEGEN_XPAND_PROJECT_NAME = "hummingbird20.codegen.xpand"; | |
public IProject codegenXpandProject; | |
public static final String HB_CODEGEN_XPAND_PROJECT_HB_INSTANCE_MODEL_PATH = "model/sample.instancemodel"; | |
public static final String HB_CODEGEN_XPAND_PROJECT_HB_TYPE_MODEL_PATH = "model/sampleType.typemodel"; | |
public static final String HB_CODEGEN_XPAND_PROJECT_GEN_FILE_PATH = "HOUTLET/Config.h"; | |
public static final String HB_CODEGEN_XPAND_PROJECT_HOUTLET_FOLDER_NAME = "HOUTLET"; | |
public static final String CONFIGH_FILE_NAME = "Config.h"; | |
public static final String CONFIGH_XPT_FILE_PATH = "templates/ConfigH.xpt"; | |
public static final String CONFIGH_TO_HOUTLET_XPT_FILE_PATH = "templates/ConfigHToHoutlet.xpt"; | |
public static final String CONFIGH_ASPECTS_XPT_FILE_PATH = "templates/ConfigHAspects.xpt"; | |
public static final String PARAMETER_COMMENT_XPT_FILE_PATH = "templates/ParameterComment.xpt"; | |
public static final String ROOT_XPT_FILE_PATH = "templates/Root.xpt"; | |
public static final String XPAND_CONFIGH_DEFINITION_NAME = "templates::ConfigH::main"; | |
public static final String XPAND_CONFIGH_TOHOUTLET_DEFINITION_NAME = "templates::ConfigHToHoutlet::main"; | |
// Check model. | |
// | |
public static final String HB_CODEGEN_XPAND_PROJECT_CHECK_FILE_PATH = "checks/hb20Check.chk"; | |
// Editing domains. | |
// | |
public TransactionalEditingDomain editingDomainUml2; | |
public TransactionalEditingDomain editingDomain20; | |
public XtendXpandTestReferenceWorkspace(String[] referenceProjectNames) { | |
super(referenceProjectNames); | |
} | |
public Plugin getReferenceWorkspacePlugin() { | |
return Activator.getPlugin(); | |
} | |
public String getReferenceWorkspaceArchiveFileName() { | |
return DEFAULT_TEST_REFERENCE_WORKSPACE_ARCHIVE_FILE_NAME; | |
} | |
@Override | |
public void initContentAccessors() { | |
initReferenceProjectAccessors(); | |
initReferenceEditingDomainAccessors(); | |
} | |
protected void initReferenceProjectAccessors() { | |
transformXtendProject = getReferenceProject(HB_TRANSFORM_XTEND_PROJECT_NAME); | |
codegenXpandProject = getReferenceProject(HB_CODEGEN_XPAND_PROJECT_NAME); | |
} | |
protected void initReferenceEditingDomainAccessors() { | |
editingDomainUml2 = WorkspaceEditingDomainUtil.getEditingDomain(ResourcesPlugin.getWorkspace().getRoot(), UML2MMDescriptor.INSTANCE); | |
editingDomain20 = WorkspaceEditingDomainUtil.getEditingDomain(ResourcesPlugin.getWorkspace().getRoot(), Hummingbird20MMDescriptor.INSTANCE); | |
} | |
@Override | |
protected void initReferenceFileDescriptors() { | |
addFileDescriptors(HB_TRANSFORM_XTEND_PROJECT_NAME, new String[] { HB_TRANSFORM_XTEND_PROJECT_UML_MODEL_PATH }, UML2MMDescriptor.INSTANCE); | |
addFileDescriptors(HB_CODEGEN_XPAND_PROJECT_NAME, new String[] { HB_CODEGEN_XPAND_PROJECT_HB_INSTANCE_MODEL_PATH, | |
HB_CODEGEN_XPAND_PROJECT_HB_TYPE_MODEL_PATH }, Hummingbird20MMDescriptor.INSTANCE); | |
} | |
@Override | |
protected String[] getReferenceProjectsNames() { | |
return new String[] { HB_TRANSFORM_XTEND_PROJECT_NAME, HB_CODEGEN_XPAND_PROJECT_NAME }; | |
} | |
} |