Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java')
-rw-r--r--plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java444
1 files changed, 444 insertions, 0 deletions
diff --git a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
new file mode 100644
index 000000000..b0567c415
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
@@ -0,0 +1,444 @@
+/**
+ * Copyright (c) 2012 Juergen Haug
+ * 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:
+ * Juergen Haug
+ */
+package org.eclipse.etrice.generator.config;
+
+import com.google.common.base.Objects;
+import com.google.inject.Inject;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.function.Consumer;
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.etrice.core.ConfigStandaloneSetup;
+import org.eclipse.etrice.core.common.base.BooleanLiteral;
+import org.eclipse.etrice.core.common.base.IntLiteral;
+import org.eclipse.etrice.core.common.base.Literal;
+import org.eclipse.etrice.core.common.base.NumberLiteral;
+import org.eclipse.etrice.core.common.base.RealLiteral;
+import org.eclipse.etrice.core.common.base.StringLiteral;
+import org.eclipse.etrice.core.config.AttrClassConfig;
+import org.eclipse.etrice.core.config.AttrInstanceConfig;
+import org.eclipse.etrice.core.config.ConfigValue;
+import org.eclipse.etrice.core.config.ConfigValueArray;
+import org.eclipse.etrice.core.config.DynamicConfig;
+import org.eclipse.etrice.core.config.EnumConfigValue;
+import org.eclipse.etrice.core.config.LiteralConfigValue;
+import org.eclipse.etrice.core.config.SubSystemConfig;
+import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance;
+import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance;
+import org.eclipse.etrice.core.genmodel.fsm.ILogger;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.Attribute;
+import org.eclipse.etrice.core.room.ProtocolClass;
+import org.eclipse.etrice.generator.base.IDataConfiguration;
+import org.eclipse.etrice.generator.config.util.DataConfigurationHelper;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.scoping.impl.ImportUriResolver;
+import org.eclipse.xtext.xbase.lib.Extension;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+
+@SuppressWarnings("all")
+public class DataConfiguration implements IDataConfiguration {
+ @Inject
+ @Extension
+ protected DataConfigurationHelper _dataConfigurationHelper;
+
+ @Inject
+ protected ILogger logger;
+
+ @Inject
+ protected ImportUriResolver uriResolver;
+
+ @Override
+ public void doSetup() {
+ if ((!EMFPlugin.IS_ECLIPSE_RUNNING)) {
+ ConfigStandaloneSetup.doSetup();
+ }
+ }
+
+ @Override
+ public boolean setResources(final ResourceSet resource, final ILogger logger) {
+ return this._dataConfigurationHelper.setConfigModels(resource, logger);
+ }
+
+ @Override
+ public String getAttrClassConfigValue(final ActorClass actor, final List<Attribute> path) {
+ AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
+ ConfigValueArray _value = null;
+ if (_attrClassConfig!=null) {
+ _value=_attrClassConfig.getValue();
+ }
+ String _stringExpr = null;
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
+ return _stringExpr;
+ }
+
+ @Override
+ public String getAttrClassConfigMaxValue(final ActorClass actor, final List<Attribute> path) {
+ AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
+ NumberLiteral _max = null;
+ if (_attrClassConfig!=null) {
+ _max=_attrClassConfig.getMax();
+ }
+ String _stringExpr = null;
+ if (_max!=null) {
+ _stringExpr=this.toStringExpr(_max);
+ }
+ return _stringExpr;
+ }
+
+ @Override
+ public String getAttrClassConfigMinValue(final ActorClass actor, final List<Attribute> path) {
+ AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
+ NumberLiteral _min = null;
+ if (_attrClassConfig!=null) {
+ _min=_attrClassConfig.getMin();
+ }
+ String _stringExpr = null;
+ if (_min!=null) {
+ _stringExpr=this.toStringExpr(_min);
+ }
+ return _stringExpr;
+ }
+
+ private AttrClassConfig getAttrClassConfig(final ActorClass actor, final List<Attribute> path) {
+ AttrClassConfig _xblockexpression = null;
+ {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("/");
+ String _name = actor.getName();
+ _builder.append(_name);
+ _builder.append("/");
+ String _stringPath = this.toStringPath(path);
+ _builder.append(_stringPath);
+ String id = _builder.toString();
+ _xblockexpression = this._dataConfigurationHelper.actorClassAttrMap.get(id);
+ }
+ return _xblockexpression;
+ }
+
+ @Override
+ public String getAttrClassConfigValue(final ProtocolClass pc, final boolean regular, final List<Attribute> path) {
+ String _xblockexpression = null;
+ {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("/");
+ String _name = pc.getName();
+ _builder.append(_name);
+ _builder.append("/");
+ {
+ if (regular) {
+ _builder.append("regular");
+ } else {
+ _builder.append("conjugated");
+ }
+ }
+ _builder.append("/");
+ String _stringPath = this.toStringPath(path);
+ _builder.append(_stringPath);
+ String id = _builder.toString();
+ AttrClassConfig _get = this._dataConfigurationHelper.protocolClassAttrMap.get(id);
+ ConfigValueArray _value = null;
+ if (_get!=null) {
+ _value=_get.getValue();
+ }
+ String _stringExpr = null;
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
+ _xblockexpression = _stringExpr;
+ }
+ return _xblockexpression;
+ }
+
+ private String toStringPath(final List<Attribute> path) {
+ StringConcatenation _builder = new StringConcatenation();
+ {
+ boolean _hasElements = false;
+ for(final Attribute a : path) {
+ if (!_hasElements) {
+ _hasElements = true;
+ } else {
+ _builder.appendImmediate("/", "");
+ }
+ String _name = a.getName();
+ _builder.append(_name);
+ }
+ }
+ return _builder.toString();
+ }
+
+ @Override
+ public String getAttrInstanceConfigValue(final ActorInstance ai, final List<Attribute> path) {
+ String _xblockexpression = null;
+ {
+ String _path = ai.getPath();
+ String _plus = (_path + "/");
+ String _stringPath = this.toStringPath(path);
+ String id = (_plus + _stringPath);
+ AttrInstanceConfig _get = this._dataConfigurationHelper.actorInstanceAttrMap.get(id);
+ ConfigValueArray _value = null;
+ if (_get!=null) {
+ _value=_get.getValue();
+ }
+ String _stringExpr = null;
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
+ _xblockexpression = _stringExpr;
+ }
+ return _xblockexpression;
+ }
+
+ @Override
+ public String getAttrInstanceConfigValue(final InterfaceItemInstance item, final List<Attribute> path) {
+ String _path = item.getPath();
+ String _plus = (_path + "/");
+ String _stringPath = this.toStringPath(path);
+ String _plus_1 = (_plus + _stringPath);
+ AttrInstanceConfig _get = this._dataConfigurationHelper.actorInstanceAttrMap.get(_plus_1);
+ ConfigValueArray _value = null;
+ if (_get!=null) {
+ _value=_get.getValue();
+ }
+ String _stringExpr = null;
+ if (_value!=null) {
+ _stringExpr=this.toStringExpr(_value);
+ }
+ return _stringExpr;
+ }
+
+ @Override
+ public long getPollingTimerUser(final SubSystemInstance subsystem) {
+ long _xblockexpression = (long) 0;
+ {
+ SubSystemConfig _config = this.getConfig(subsystem);
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ final DynamicConfig dynConf = _dynConfig;
+ long _xifexpression = (long) 0;
+ boolean _equals = Objects.equal(dynConf, null);
+ if (_equals) {
+ _xifexpression = 0;
+ } else {
+ _xifexpression = dynConf.getPolling();
+ }
+ _xblockexpression = _xifexpression;
+ }
+ return _xblockexpression;
+ }
+
+ @Override
+ public String getUserCode1(final SubSystemInstance subsystem) {
+ SubSystemConfig _config = this.getConfig(subsystem);
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ DynamicConfig dynConfig = _dynConfig;
+ String _xifexpression = null;
+ String _filePath = null;
+ if (dynConfig!=null) {
+ _filePath=dynConfig.getFilePath();
+ }
+ boolean _notEquals = (!Objects.equal(_filePath, null));
+ if (_notEquals) {
+ _xifexpression = "import org.eclipse.etrice.runtime.java.config.ConfigSourceFile;";
+ } else {
+ String _userCode1 = null;
+ if (dynConfig!=null) {
+ _userCode1=dynConfig.getUserCode1();
+ }
+ _xifexpression = _userCode1;
+ }
+ return _xifexpression;
+ }
+
+ @Override
+ public String getUserCode2(final SubSystemInstance subsystem) {
+ SubSystemConfig _config = this.getConfig(subsystem);
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ DynamicConfig dynConfig = _dynConfig;
+ String _xifexpression = null;
+ String _filePath = null;
+ if (dynConfig!=null) {
+ _filePath=dynConfig.getFilePath();
+ }
+ boolean _notEquals = (!Objects.equal(_filePath, null));
+ if (_notEquals) {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("new ConfigSourceFile(\"");
+ String _filePath_1 = dynConfig.getFilePath();
+ _builder.append(_filePath_1);
+ _builder.append("\")");
+ _xifexpression = _builder.toString();
+ } else {
+ String _userCode2 = null;
+ if (dynConfig!=null) {
+ _userCode2=dynConfig.getUserCode2();
+ }
+ _xifexpression = _userCode2;
+ }
+ return _xifexpression;
+ }
+
+ @Override
+ public List<Attribute> getDynConfigReadAttributes(final ActorInstance ai) {
+ final ArrayList<Attribute> result = new ArrayList<Attribute>();
+ List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorInstanceAttrMap.get(ai.getPath());
+ if (configs!=null) {
+ final Consumer<AttrInstanceConfig> _function = (AttrInstanceConfig c) -> {
+ boolean _isReadOnly = c.isReadOnly();
+ if (_isReadOnly) {
+ result.add(c.getAttribute());
+ }
+ };
+ configs.forEach(_function);
+ }
+ return result;
+ }
+
+ @Override
+ public List<Attribute> getDynConfigWriteAttributes(final ActorInstance ai) {
+ final ArrayList<Attribute> result = new ArrayList<Attribute>();
+ List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorInstanceAttrMap.get(ai.getPath());
+ if (configs!=null) {
+ final Consumer<AttrInstanceConfig> _function = (AttrInstanceConfig c) -> {
+ boolean _isReadOnly = c.isReadOnly();
+ boolean _not = (!_isReadOnly);
+ if (_not) {
+ result.add(c.getAttribute());
+ }
+ };
+ configs.forEach(_function);
+ }
+ return result;
+ }
+
+ @Override
+ public boolean hasVariableService(final SubSystemInstance subsystem) {
+ SubSystemConfig _config = this.getConfig(subsystem);
+ DynamicConfig _dynConfig = null;
+ if (_config!=null) {
+ _dynConfig=_config.getDynConfig();
+ }
+ return (!Objects.equal(_dynConfig, null));
+ }
+
+ private String toStringExpr(final ConfigValueArray literal) {
+ StringConcatenation _builder = new StringConcatenation();
+ {
+ EList<ConfigValue> _values = literal.getValues();
+ boolean _hasElements = false;
+ for(final ConfigValue l : _values) {
+ if (!_hasElements) {
+ _hasElements = true;
+ } else {
+ _builder.appendImmediate(",", "");
+ }
+ String _stringExpr = this.toStringExpr(l);
+ _builder.append(_stringExpr);
+ }
+ }
+ return _builder.toString();
+ }
+
+ private String toStringExpr(final ConfigValue configValue) {
+ String _switchResult = null;
+ boolean _matched = false;
+ if (configValue instanceof LiteralConfigValue) {
+ _matched=true;
+ _switchResult = this.toStringExpr(((LiteralConfigValue)configValue).getValue());
+ }
+ if (!_matched) {
+ if (configValue instanceof EnumConfigValue) {
+ _matched=true;
+ _switchResult = ((EnumConfigValue)configValue).getValue().getFullName();
+ }
+ }
+ return _switchResult;
+ }
+
+ private String toStringExpr(final Literal literal) {
+ String _switchResult = null;
+ boolean _matched = false;
+ if (literal instanceof BooleanLiteral) {
+ _matched=true;
+ _switchResult = Boolean.valueOf(((BooleanLiteral)literal).isIsTrue()).toString();
+ }
+ if (!_matched) {
+ if (literal instanceof IntLiteral) {
+ _matched=true;
+ _switchResult = Long.valueOf(((IntLiteral)literal).getValue()).toString();
+ }
+ }
+ if (!_matched) {
+ if (literal instanceof RealLiteral) {
+ _matched=true;
+ _switchResult = Double.valueOf(((RealLiteral)literal).getValue()).toString();
+ }
+ }
+ if (!_matched) {
+ if (literal instanceof StringLiteral) {
+ _matched=true;
+ _switchResult = ((StringLiteral)literal).getValue().toString();
+ }
+ }
+ return _switchResult;
+ }
+
+ private SubSystemConfig getConfig(final SubSystemInstance cc) {
+ return this._dataConfigurationHelper.subSystemConfigMap.get(cc.getPath());
+ }
+
+ @Override
+ public List<Attribute> getDynConfigReadAttributes(final ActorClass actor) {
+ final HashSet<Attribute> result = new HashSet<Attribute>();
+ final List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorClassAttrMap.get(actor);
+ if (configs!=null) {
+ final Consumer<AttrInstanceConfig> _function = (AttrInstanceConfig c) -> {
+ boolean _isReadOnly = c.isReadOnly();
+ if (_isReadOnly) {
+ result.add(c.getAttribute());
+ }
+ };
+ configs.forEach(_function);
+ }
+ return IterableExtensions.<Attribute>toList(result);
+ }
+
+ @Override
+ public List<Attribute> getDynConfigWriteAttributes(final ActorClass actor) {
+ final HashSet<Attribute> result = new HashSet<Attribute>();
+ final List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorClassAttrMap.get(actor);
+ if (configs!=null) {
+ final Consumer<AttrInstanceConfig> _function = (AttrInstanceConfig c) -> {
+ boolean _isReadOnly = c.isReadOnly();
+ boolean _not = (!_isReadOnly);
+ if (_not) {
+ result.add(c.getAttribute());
+ }
+ };
+ configs.forEach(_function);
+ }
+ return IterableExtensions.<Attribute>toList(result);
+ }
+}

Back to the top