All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.regnosys.rosetta.tests.util.CustomConfigTestHelper Maven / Gradle / Ivy

There is a newer version: 9.29.0
Show newest version
package com.regnosys.rosetta.tests.util;

import com.google.inject.Injector;
import com.regnosys.rosetta.RosettaRuntimeModule;
import com.regnosys.rosetta.config.file.RosettaConfigurationFileProvider;
import com.regnosys.rosetta.tests.RosettaInjectorProvider;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Conversions;

@SuppressWarnings("all")
public class CustomConfigTestHelper {
  public static Map> compileToClassesForModel(final List> code, final Class configurationFileProvider) {
    Map> _xblockexpression = null;
    {
      final CodeGeneratorTestHelper codeGeneratorTestHelper = CustomConfigTestHelper.getCodeGeneratorTestHelper(configurationFileProvider);
      final HashMap generatedCode = CollectionLiterals.newHashMap();
      final Consumer> _function = (HashMap it) -> {
        final BiConsumer _function_1 = (String k, String v) -> {
          generatedCode.put(k, v);
        };
        it.forEach(_function_1);
      };
      code.forEach(_function);
      _xblockexpression = codeGeneratorTestHelper.compileToClasses(generatedCode);
    }
    return _xblockexpression;
  }

  public static HashMap generateCodeForModel(final CharSequence model, final Class configurationFileProvider) {
    HashMap _xblockexpression = null;
    {
      final CodeGeneratorTestHelper codeGeneratorTestHelper = CustomConfigTestHelper.getCodeGeneratorTestHelper(configurationFileProvider);
      _xblockexpression = codeGeneratorTestHelper.generateCode(model);
    }
    return _xblockexpression;
  }

  public static HashMap generateCodeForModel(final List models, final Class configurationFileProvider) {
    HashMap _xblockexpression = null;
    {
      final CodeGeneratorTestHelper codeGeneratorTestHelper = CustomConfigTestHelper.getCodeGeneratorTestHelper(configurationFileProvider);
      _xblockexpression = codeGeneratorTestHelper.generateCode(((CharSequence[])Conversions.unwrapArray(models, CharSequence.class)));
    }
    return _xblockexpression;
  }

  private static CodeGeneratorTestHelper getCodeGeneratorTestHelper(final Class configurationFileProvider) {
    CodeGeneratorTestHelper _xblockexpression = null;
    {
      final Injector injector = CustomConfigTestHelper.getInjector(configurationFileProvider);
      _xblockexpression = injector.getInstance(CodeGeneratorTestHelper.class);
    }
    return _xblockexpression;
  }

  private static Injector getInjector(final Class configurationFileProvider) {
    Injector _xblockexpression = null;
    {
      final RosettaCustomConfigInjectorProvider provider = CustomConfigTestHelper.createProvider(configurationFileProvider);
      _xblockexpression = provider.getInjector();
    }
    return _xblockexpression;
  }

  private static RosettaCustomConfigInjectorProvider createProvider(final Class configurationFileProvider) {
    return new RosettaCustomConfigInjectorProvider() {
      @Override
      public RosettaRuntimeModule createRuntimeModule() {
        abstract class ____CustomConfigTestHelper_1 extends RosettaRuntimeModule {
          public abstract Class bindRosettaConfigurationFileProvider();
        }

        return new ____CustomConfigTestHelper_1() {
          @Override
          public ClassLoader bindClassLoaderToInstance() {
            return RosettaInjectorProvider.class.getClassLoader();
          }

          public Class bindRosettaConfigurationFileProvider() {
            return configurationFileProvider;
          }
        };
      }
    };
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy