Skip to content
Merged

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -361,49 +361,49 @@ attrNumber number (1..1)
Map<String, String> code = generatorTestHelper.generateCode(model);
String funcFoo = code.get("com.rosetta.test.model.functions.FuncFoo");
String expected = """
package com.rosetta.test.model.functions;

import com.google.inject.ImplementedBy;
import com.rosetta.model.lib.expression.CardinalityOperator;
import com.rosetta.model.lib.expression.ComparisonResult;
import com.rosetta.model.lib.functions.RosettaFunction;
import com.rosetta.model.lib.mapper.MapperS;
import com.rosetta.test.model.Foo;
import java.math.BigDecimal;

import static com.rosetta.model.lib.expression.ExpressionOperatorsNullSafe.*;

@ImplementedBy(FuncFoo.FuncFooDefault.class)
public abstract class FuncFoo implements RosettaFunction {

/**
* @param foo\s
* @return result\s
*/
public Boolean evaluate(Foo foo) {
Boolean result = doEvaluate(foo);
\t\t
return result;
}

protected abstract Boolean doEvaluate(Foo foo);

public static class FuncFooDefault extends FuncFoo {
@Override
protected Boolean doEvaluate(Foo foo) {
Boolean result = null;
return assignOutput(result, foo);
}
\t\t
protected Boolean assignOutput(Boolean result, Foo foo) {
result = ComparisonResult.ofNullSafe(MapperS.of(foo).<Boolean>map("getAttrBoolean", _foo -> _foo.getAttrBoolean())).orNullSafe(areEqual(MapperS.of(foo).<BigDecimal>map("getAttrNumber", _foo -> _foo.getAttrNumber()), MapperS.of(BigDecimal.valueOf(5)), CardinalityOperator.All)).get();
\t\t\t
return result;
}
}
}
""";
assertEquals(expected, funcFoo);
package com.rosetta.test.model.functions;

import com.google.inject.ImplementedBy;
import com.rosetta.model.lib.expression.CardinalityOperator;
import com.rosetta.model.lib.expression.ComparisonResult;
import com.rosetta.model.lib.functions.RosettaFunction;
import com.rosetta.model.lib.mapper.MapperS;
import com.rosetta.test.model.Foo;
import java.math.BigDecimal;

import static com.rosetta.model.lib.expression.ExpressionOperatorsNullSafe.*;

@ImplementedBy(FuncFoo.FuncFooDefault.class)
public abstract class FuncFoo implements RosettaFunction {

/**
* @param foo
* @return result
*/
public Boolean evaluate(Foo foo) {
Boolean result = doEvaluate(foo);
return result;
}

protected abstract Boolean doEvaluate(Foo foo);

public static class FuncFooDefault extends FuncFoo {
@Override
protected Boolean doEvaluate(Foo foo) {
Boolean result = null;
return assignOutput(result, foo);
}

protected Boolean assignOutput(Boolean result, Foo foo) {
result = ComparisonResult.ofNullSafe(MapperS.of(foo).<Boolean>map("getAttrBoolean", _foo -> _foo.getAttrBoolean())).orNullSafe(areEqual(MapperS.of(foo).<BigDecimal>map("getAttrNumber", _foo -> _foo.getAttrNumber()), MapperS.of(BigDecimal.valueOf(5)), CardinalityOperator.All)).get();
return result;
}
}
}
""";
// Normalize line endings so the comparison holds on Windows, where the generator
// emits '\r\n' but the expected value is built with '\n'.
assertEquals(expected, funcFoo.replace("\r\n", "\n"));
generatorTestHelper.compileToClasses(code);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.regnosys.rosetta.codegen.api.CodeRenderer;
import com.regnosys.rosetta.generator.java.scoping.JavaClassScope;
import com.regnosys.rosetta.generator.java.types.RGeneratedJavaClass;
import com.regnosys.rosetta.generator.java.util.ImportManagerExtension;
import com.regnosys.rosetta.generator.java.util.FluentImportManager;
import com.regnosys.rosetta.rosetta.RosettaModel;
import com.regnosys.rosetta.tests.util.CodeGeneratorTestHelper;
import com.regnosys.rosetta.tests.util.ModelHelper;
Expand All @@ -16,7 +17,6 @@
import com.rosetta.model.lib.functions.NoOpModelObjectValidator;
import com.rosetta.model.lib.functions.RosettaFunction;
import com.rosetta.util.DottedPath;
import org.eclipse.xtend2.lib.StringConcatenationClient;
import org.eclipse.xtext.xbase.testing.RegisteringFileSystemAccess;

import javax.inject.Inject;
Expand All @@ -35,13 +35,13 @@ public class FunctionGeneratorHelper {
@Inject
private FunctionGenerator generator;
@Inject
private FluentImportManager importManager;
@Inject
private ModelHelper modelHelper;
@Inject
private CodeGeneratorTestHelper codeGeneratorTestHelper;
@Inject
private RegisteringFileSystemAccess fsa;
@Inject
private ImportManagerExtension importManager;

private final Injector injector;

Expand Down Expand Up @@ -106,7 +106,7 @@ public void assertToGeneratedFunctionWithOperations(CharSequence actualModel, Ch
private void generate(RFunction func) {
RGeneratedJavaClass<? extends RosettaFunction> typeRepresentation = generator.createTypeRepresentation(func);
JavaClassScope classScope = JavaClassScope.createAndRegisterIdentifier(typeRepresentation);
StringConcatenationClient classCode = generator.generateClass(func, typeRepresentation, "test", classScope);
CodeRenderer classCode = generator.generateClass(func, typeRepresentation, "test", classScope);
String javaFileCode = importManager.buildClass(typeRepresentation.getPackageName(), classCode, classScope.getFileScope());
fsa.generateFile(typeRepresentation.getCanonicalName().withForwardSlashes() + ".java", javaFileCode);
}
Expand Down
Loading
Loading