blob: 64d8f18f1ace026629900db11076b973ce5747d1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 Robert Bosch GmbH.
* 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:
* Robert Bosch GmbH - initial API and implementation
*******************************************************************************/
package templates
import SampleModel.Model
import SampleModel.SampleModelFactory
import org.eclipse.app4mc.amalthea.model.AmaltheaFactory
import org.eclipse.app4mc.amalthea.model.HWModel
import org.eclipse.app4mc.amalthea.model.Memory
import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore
import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
import org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer
import org.osgi.service.component.annotations.Component
import org.osgi.service.component.annotations.Reference
import org.osgi.service.component.annotations.ServiceScope
@Component(scope=ServiceScope.PROTOTYPE, service =HWTransformer)
public class HWTransformer extends AbstractTransformer implements ISubTransformer{
@Reference
ICustomObjectsStore customObjsStore
def OSTransformer getOS() {
return customObjsStore.getInstance(OSTransformer)
}
/*- Factory initialization */
val outputModelFactory = SampleModelFactory.eINSTANCE
val amaltheaFactory = AmaltheaFactory.eINSTANCE
public def transfromHWModel(HWModel amaltheaModel, Model simulationModel) {
// for(amaltheaEcu:amaltheaModel?.system?.ecus){
//
// for(amaltheaMicroController: amaltheaEcu?.microcontrollers){
//
// for(memory: amaltheaMicroController?.memories){
//
// val simulationModelMemory = createMemory(memory);
//
// simulationModel.memories.add(simulationModelMemory)
//
// }
//
// }
// }
}
public def create outputModelFactory.createMemory createMemory(Memory amltMemory) {
name = amltMemory.name
}
}