| /** |
| ******************************************************************************** |
| * Copyright (c) 2021 Robert Bosch GmbH. |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Robert Bosch GmbH - initial API and implementation |
| ******************************************************************************** |
| */ |
| |
| package org.eclipse.app4mc.slg.commons.m2t.transformers.sw; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| import java.util.Set; |
| |
| import org.eclipse.app4mc.amalthea.model.IDiscreteValueDeviation; |
| import org.eclipse.app4mc.amalthea.model.ProcessingUnitDefinition; |
| import org.eclipse.app4mc.amalthea.model.Ticks; |
| import org.eclipse.app4mc.slg.commons.m2t.generators.TicksTranslationUnit; |
| import org.eclipse.app4mc.slg.commons.m2t.generators.TicksUtilsTranslationUnit; |
| import org.eclipse.app4mc.slg.commons.m2t.transformers.SLGBaseTransformer; |
| import org.eclipse.app4mc.transformation.util.OutputBuffer; |
| import org.eclipse.emf.common.util.EMap; |
| |
| import com.google.inject.Inject; |
| import com.google.inject.Singleton; |
| |
| @Singleton |
| public class TicksTransformer extends SLGBaseTransformer { |
| |
| @Inject private OutputBuffer outputBuffer; |
| @Inject private TicksUtilsTransformer ticksUtilsTransformer; |
| |
| public TicksTranslationUnit transform(final Ticks ticks) { |
| if (ticks.getDefault() != null) { |
| final TicksUtilsTranslationUnit tuTicks = ticksUtilsTransformer.generate(ticks.getDefault()); |
| return new TicksTranslationUnit(outputBuffer, tuTicks, ticks, "default", ticks.getDefault()); |
| } |
| return null; |
| } |
| |
| public List<TicksTranslationUnit> transformAllItems(final Ticks ticks) { |
| final List<TicksTranslationUnit> result = new ArrayList<TicksTranslationUnit>(); |
| final IDiscreteValueDeviation defaultTicks = ticks.getDefault(); |
| if ((defaultTicks != null)) { |
| final TicksUtilsTranslationUnit tuTicks = this.ticksUtilsTransformer.generate(ticks.getDefault()); |
| result.add(new TicksTranslationUnit(this.outputBuffer, tuTicks, ticks, |
| "default", ticks.getDefault())); |
| } |
| EMap<ProcessingUnitDefinition, IDiscreteValueDeviation> _extended = null; |
| if (ticks != null) { |
| _extended = ticks.getExtended(); |
| } |
| final EMap<ProcessingUnitDefinition, IDiscreteValueDeviation> puExtendedMap = _extended; |
| Set<ProcessingUnitDefinition> _keySet = puExtendedMap.keySet(); |
| for (final ProcessingUnitDefinition puDefinition : _keySet) { |
| { |
| final IDiscreteValueDeviation ticksValue = puExtendedMap.get(puDefinition); |
| if (((puDefinition != null) && (ticksValue != null))) { |
| final TicksUtilsTranslationUnit tuTicks_1 = this.ticksUtilsTransformer.generate(ticksValue); |
| String _name = puDefinition.getName(); |
| TicksTranslationUnit _ticksTranslationUnit_1 = new TicksTranslationUnit(this.outputBuffer, |
| tuTicks_1, ticks, _name, ticksValue); |
| result.add(_ticksTranslationUnit_1); |
| } |
| } |
| } |
| return result; |
| } |
| |
| } |