blob: c71f92d3f24763215d29c2a99145f9241ebaa866 [file] [log] [blame]
/**
* <copyright>
*
* Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-v2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Thales Corporate Services S.A.S - initial API and implementation
*
* </copyright>
*/
package org.eclipse.egf.emf.docgen.html.util;
import org.eclipse.egf.model.domain.DomainFactory;
import org.eclipse.egf.model.domain.EMFDomain;
import org.eclipse.egf.model.domain.TypeDomain;
import org.eclipse.egf.model.fcore.Contract;
import org.eclipse.egf.model.fcore.FactoryComponent;
import org.eclipse.egf.model.fcore.FactoryComponentContract;
import org.eclipse.egf.model.fcore.FcoreFactory;
import org.eclipse.egf.model.fcore.InvocationContract;
import org.eclipse.egf.model.fcore.InvocationContractContainer;
import org.eclipse.egf.model.fprod.FprodFactory;
import org.eclipse.egf.model.fprod.ProductionPlan;
import org.eclipse.egf.model.fprod.ProductionPlanInvocation;
import org.eclipse.egf.model.ftask.Task;
import org.eclipse.egf.model.types.TypeString;
import org.eclipse.egf.model.types.TypesFactory;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.edit.domain.EditingDomain;
/**
* @author Matthieu Helleboid
*
*/
public class FcoreUtil {
public static void createEmfDocGenHtmlInvocation(EditingDomain editingDomain, ProductionPlan productionPlan, EMFDomain genModelEMFDomain) {
URI emfDocGenHtmlResourceURI = URI.createPlatformPluginURI("/org.eclipse.egf.emf.docgen.html/egf/EmfDocGenHtml.fcore", true); //$NON-NLS-1$
Resource emfDocGenHtmlResource = editingDomain.getResourceSet().getResource(emfDocGenHtmlResourceURI, true);
// Task EmfDocProductionContextFromGenModel
Task task = (Task) emfDocGenHtmlResource.getEObject("_yw92cBurEd-jaIqWGhF8eQ"); //$NON-NLS-1$
ProductionPlanInvocation taskProductionPlanInvocation = FprodFactory.eINSTANCE.createProductionPlanInvocation();
productionPlan.getInvocations().add(taskProductionPlanInvocation);
taskProductionPlanInvocation.setInvokedActivity(task);
InvocationContractContainer taskInvocationContractContainer = FcoreFactory.eINSTANCE.createInvocationContractContainer();
taskProductionPlanInvocation.setInvocationContractContainer(taskInvocationContractContainer);
Contract taskContract1 = (Contract) emfDocGenHtmlResource.getEObject("_A4ZrMBusEd-jaIqWGhF8eQ"); //$NON-NLS-1$
InvocationContract taskInvocationContract1 = FcoreFactory.eINSTANCE.createInvocationContract();
taskInvocationContractContainer.getInvocationContracts().add(taskInvocationContract1);
taskInvocationContract1.setInvokedContract(taskContract1);
TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();
typeEMFDomain.setDomain(genModelEMFDomain);
taskInvocationContract1.setType(typeEMFDomain);
Contract taskContract2 = (Contract) emfDocGenHtmlResource.getEObject("_Do1LcBusEd-jaIqWGhF8eQ"); //$NON-NLS-1$
InvocationContract taskInvocationContract2 = FcoreFactory.eINSTANCE.createInvocationContract();
taskInvocationContractContainer.getInvocationContracts().add(taskInvocationContract2);
taskInvocationContract2.setInvokedContract(taskContract2);
Contract taskContract3 = (Contract) emfDocGenHtmlResource.getEObject("_EAYIwBusEd-jaIqWGhF8eQ"); //$NON-NLS-1$
InvocationContract taskInvocationContract3 = FcoreFactory.eINSTANCE.createInvocationContract();
taskInvocationContractContainer.getInvocationContracts().add(taskInvocationContract3);
taskInvocationContract3.setInvokedContract(taskContract3);
// FC EmfDocGenHtml
FactoryComponent fc = (FactoryComponent) emfDocGenHtmlResource.getEObject("_BxjIkAG0Ed-7fNNmMjB2jQ"); //$NON-NLS-1$
ProductionPlanInvocation fcProductionPlanInvocation = FprodFactory.eINSTANCE.createProductionPlanInvocation();
productionPlan.getInvocations().add(fcProductionPlanInvocation);
fcProductionPlanInvocation.setInvokedActivity(fc);
InvocationContractContainer invocationContractContainer = FcoreFactory.eINSTANCE.createInvocationContractContainer();
fcProductionPlanInvocation.setInvocationContractContainer(invocationContractContainer);
FactoryComponentContract fcContract1 = (FactoryComponentContract) emfDocGenHtmlResource.getEObject("_Yp4VcAprEd-7fqY_JLtg2w"); //$NON-NLS-1$
InvocationContract fcInvocationContract1 = FcoreFactory.eINSTANCE.createInvocationContract();
invocationContractContainer.getInvocationContracts().add(fcInvocationContract1);
fcInvocationContract1.setInvokedContract(fcContract1);
FactoryComponentContract fcContract2 = (FactoryComponentContract) emfDocGenHtmlResource.getEObject("_7NKWkApbEd-pyqf4uNW3tw"); //$NON-NLS-1$
InvocationContract fcInvocationContract2 = FcoreFactory.eINSTANCE.createInvocationContract();
invocationContractContainer.getInvocationContracts().add(fcInvocationContract2);
fcInvocationContract2.setInvokedContract(fcContract2);
FactoryComponentContract fcContract3 = (FactoryComponentContract) emfDocGenHtmlResource.getEObject("_AvXa4ApcEd-pyqf4uNW3tw"); //$NON-NLS-1$
InvocationContract fcInvocationContract3 = FcoreFactory.eINSTANCE.createInvocationContract();
invocationContractContainer.getInvocationContracts().add(fcInvocationContract3);
fcInvocationContract3.setInvokedContract(fcContract3);
TypeString typeString = TypesFactory.eINSTANCE.createTypeString();
typeString.setValue("html"); //$NON-NLS-1$
fcInvocationContract3.setType(typeString);
// Assign source
fcInvocationContract1.setSourceInvocationContract(taskInvocationContract2);
fcInvocationContract2.setSourceInvocationContract(taskInvocationContract3);
}
}