![JAR search and dependency download from the Maven repository](/logo.png)
com.regnosys.rosetta.tests.util.ModelHelper Maven / Gradle / Ivy
package com.regnosys.rosetta.tests.util;
import com.google.common.base.Objects;
import com.regnosys.rosetta.builtin.RosettaBuiltinsService;
import com.regnosys.rosetta.generator.java.RosettaJavaPackages;
import com.regnosys.rosetta.rosetta.RosettaModel;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import javax.inject.Inject;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.testing.util.ParseHelper;
import org.eclipse.xtext.testing.validation.ValidationTestHelper;
import org.eclipse.xtext.xbase.lib.Conversions;
import org.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function0;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.ListExtensions;
@SuppressWarnings("all")
public class ModelHelper {
@Inject
@Extension
private ParseHelper _parseHelper;
@Inject
@Extension
private ValidationTestHelper _validationTestHelper;
@Inject
private RosettaBuiltinsService builtins;
public static final String commonTestTypes = new Function0() {
@Override
public String apply() {
StringConcatenation _builder = new StringConcatenation();
CharSequence _versionInfo = ModelHelper.getVersionInfo();
_builder.append(_versionInfo);
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("type ReportableEvent:");
_builder.newLine();
_builder.newLine();
_builder.append("metaType scheme string");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("body Authority ESMA");
_builder.newLine();
_builder.append("body Authority CFTC");
_builder.newLine();
_builder.append("\t\t");
_builder.newLine();
_builder.append("corpus Regulation MiFIR");
_builder.newLine();
_builder.append("corpus Regulation EMIR");
_builder.newLine();
_builder.newLine();
_builder.append("corpus CommissionDelegatedRegulation RTS_22");
_builder.newLine();
_builder.newLine();
_builder.append("segment article");
_builder.newLine();
_builder.append("segment whereas");
_builder.newLine();
_builder.append("segment annex");
_builder.newLine();
_builder.append("segment section");
_builder.newLine();
_builder.append("segment field");
_builder.newLine();
_builder.newLine();
_builder.append("stereotype entityReferenceData");
_builder.newLine();
_builder.append("stereotype productReferenceData");
_builder.newLine();
_builder.append("stereotype commondReferenceData");
_builder.newLine();
_builder.append("stereotype preExecutionActivity");
_builder.newLine();
_builder.append("stereotype executionActivity");
_builder.newLine();
_builder.append("stereotype postExecutionActivity");
_builder.newLine();
_builder.append("stereotype contractualProduct");
_builder.newLine();
_builder.append("stereotype regulatoryEligibility");
_builder.newLine();
_builder.append("stereotype regulatoryReporting");
_builder.newLine();
_builder.newLine();
_builder.append("synonym source FIX");
_builder.newLine();
_builder.append("synonym source FpML");
_builder.newLine();
_builder.append("synonym source DTCC");
_builder.newLine();
_builder.append("synonym source ISO");
_builder.newLine();
_builder.append("synonym source ISO_20022");
_builder.newLine();
_builder.append("synonym source Bank_A");
_builder.newLine();
_builder.append("synonym source Venue_B");
_builder.newLine();
return _builder.toString();
}
}.apply();
private static CharSequence getVersionInfo() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("namespace \"com.rosetta.test.model\"");
_builder.newLine();
_builder.append("version \"test\"");
_builder.newLine();
return _builder;
}
private final RosettaJavaPackages.RootPackage rootpack = new RosettaJavaPackages.RootPackage("com.rosetta.test.model");
public final RosettaJavaPackages.RootPackage rootPackage() {
return this.rootpack;
}
public RosettaModel parseRosetta(final CharSequence model) {
try {
CharSequence m = model;
CharSequence _subSequence = model.subSequence(0, 9);
boolean _notEquals = (!Objects.equal(_subSequence, "namespace"));
if (_notEquals) {
CharSequence _versionInfo = ModelHelper.getVersionInfo();
String _plus = (_versionInfo + "\n");
String _plus_1 = (_plus + m);
m = _plus_1;
}
final ResourceSet resourceSet = this.testResourceSet();
final RosettaModel parsed = this._parseHelper.parse(m, resourceSet);
EcoreUtil2.resolveAll(parsed);
return parsed;
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
public ArrayList parseRosetta(final CharSequence... models) {
final ResourceSet resourceSet = this.testResourceSet();
final Function1 _function = (CharSequence it) -> {
CharSequence _xifexpression = null;
CharSequence _subSequence = it.subSequence(0, 9);
boolean _notEquals = (!Objects.equal(_subSequence, "namespace"));
if (_notEquals) {
CharSequence _versionInfo = ModelHelper.getVersionInfo();
String _plus = (_versionInfo + "\n");
_xifexpression = (_plus + it);
} else {
_xifexpression = it;
}
return _xifexpression;
};
final Function1 _function_1 = (CharSequence it) -> {
try {
return this._parseHelper.parse(it, resourceSet);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
};
List _map = ListExtensions.map(ListExtensions.map(((List)Conversions.doWrapArray(models)), _function), _function_1);
return new ArrayList(_map);
}
public RosettaModel parseRosettaWithNoErrors(final CharSequence model) {
final RosettaModel parsed = this.parseRosetta(model);
this._validationTestHelper.assertNoErrors(parsed);
return parsed;
}
public ArrayList parseRosettaWithNoErrors(final CharSequence... models) {
final ArrayList parsed = this.parseRosetta(models);
final Consumer _function = (RosettaModel it) -> {
this._validationTestHelper.assertNoErrors(it);
};
parsed.forEach(_function);
return parsed;
}
public RosettaModel parseRosettaWithNoIssues(final CharSequence model) {
final RosettaModel parsed = this.parseRosetta(model);
this._validationTestHelper.assertNoIssues(parsed);
return parsed;
}
public ArrayList parseRosettaWithNoIssues(final CharSequence... models) {
final ArrayList parsed = this.parseRosetta(models);
final Consumer _function = (RosettaModel it) -> {
this._validationTestHelper.assertNoIssues(it);
};
parsed.forEach(_function);
return parsed;
}
public RosettaModel combineAndParseRosetta(final CharSequence... models) {
try {
String m = ModelHelper.getVersionInfo().toString();
for (final CharSequence model : models) {
String _m = m;
m = (_m + ("\n" + model));
}
final ResourceSet resourceSet = this.testResourceSet();
final RosettaModel parsed = this._parseHelper.parse(m, resourceSet);
this._validationTestHelper.assertNoErrors(parsed);
return parsed;
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
public ResourceSet testResourceSet() {
try {
final ResourceSet resourceSet = this._parseHelper.parse(ModelHelper.commonTestTypes).eResource().getResourceSet();
resourceSet.getResource(this.builtins.basicTypesURI, true);
resourceSet.getResource(this.builtins.annotationsURI, true);
return resourceSet;
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy