@Check public void checkDuplicateFeatureName(final MobaDto payload) { Map<String, MobaDtoFeature> _xifexpression = null; MobaDto _superType = payload.getSuperType(); boolean _notEquals = (!Objects.equal(_superType, null)); if (_notEquals) { Map<String, MobaDtoFeature> _xtrycatchfinallyexpression = null; try { MobaDto _superType_1 = payload.getSuperType(); List<MobaDtoFeature> _allFeatures = _superType_1.getAllFeatures(); final Function1<MobaDtoFeature, String> _function = (MobaDtoFeature it) -> { return it.getName(); }; _xtrycatchfinallyexpression = IterableExtensions.<String, MobaDtoFeature>toMap(_allFeatures, _function); } catch (final Throwable _t) { if (_t instanceof RecursionException) { final RecursionException ex = (RecursionException) _t; _xtrycatchfinallyexpression = Collections.<String, MobaDtoFeature>emptyMap(); } else { throw Exceptions.sneakyThrow(_t); } } _xifexpression = _xtrycatchfinallyexpression; } else { _xifexpression = Collections.<String, MobaDtoFeature>emptyMap(); } final Map<String, MobaDtoFeature> superFeatureMap = _xifexpression; final Set<String> currentFeatures = CollectionLiterals.<String>newHashSet(); int index = 0; EList<MobaDtoFeature> _features = payload.getFeatures(); for (final MobaDtoFeature feature : _features) { { String _name = feature.getName(); boolean _containsKey = superFeatureMap.containsKey(_name); if (_containsKey) { this.error( "Supertype contains same feature name", payload, MobaPackage.Literals.MOBA_DTO__FEATURES, index); } String _name_1 = feature.getName(); boolean _contains = currentFeatures.contains(_name_1); if (_contains) { this.error( "Feature name must be unique", payload, MobaPackage.Literals.MOBA_DTO__FEATURES, index); } String _name_2 = feature.getName(); currentFeatures.add(_name_2); index++; } } }
@Check public void checkSuperType(final MobaDto payload) { MobaDto _superType = payload.getSuperType(); boolean _equals = Objects.equal(_superType, null); if (_equals) { return; } try { payload.getAllSuperTypes(); } catch (final Throwable _t) { if (_t instanceof RecursionException) { final RecursionException ex = (RecursionException) _t; EObject _source = ex.getSource(); final MobaDto source = ((MobaDto) _source); EObject _superType_1 = ex.getSuperType(); final MobaDto superType = ((MobaDto) _superType_1); StringConcatenation _builder = new StringConcatenation(); _builder.append("Recursive supertypes for "); String _name = source.getName(); _builder.append(_name, ""); _builder.append(" --> "); String _name_1 = superType.getName(); _builder.append(_name_1, ""); this.error(_builder.toString(), payload, MobaPackage.Literals.MOBA_DTO__SUPER_TYPE); } else { throw Exceptions.sneakyThrow(_t); } } }