Search in sources :

Example 6 with ModuleDataModelOracleImpl

use of org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl in project kie-wb-common by kiegroup.

the class ClassFactBuilderTest method testSuperTypes.

@Test
public void testSuperTypes() throws Exception {
    final ModuleDataModelOracleBuilder builder = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator());
    final ModuleDataModelOracleImpl oracle = new ModuleDataModelOracleImpl();
    final ClassFactBuilder cb = new ClassFactBuilder(builder, PapaSmurf.class, false, type -> TypeSource.JAVA_PROJECT);
    cb.build(oracle);
    assertEquals(2, oracle.getModuleSuperTypes().get(PapaSmurf.class.getName()).size());
}
Also used : PapaSmurf(org.kie.workbench.common.services.datamodel.backend.server.testclasses.superclasses.PapaSmurf) RawMVELEvaluator(org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator) ModuleDataModelOracleImpl(org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl) Test(org.junit.Test)

Example 7 with ModuleDataModelOracleImpl

use of org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl in project kie-wb-common by kiegroup.

the class ModuleDataModelFactAnnotationsTest method testModuleDMOAnnotationAttributes2.

@Test
public void testModuleDMOAnnotationAttributes2() throws Exception {
    final ModuleDataModelOracleBuilder builder = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator());
    final ModuleDataModelOracleImpl oracle = new ModuleDataModelOracleImpl();
    final ClassFactBuilder cb = new ClassFactBuilder(builder, RoleSmurf.class, false, type -> TypeSource.JAVA_PROJECT);
    cb.build(oracle);
    assertEquals(1, oracle.getModuleModelFields().size());
    assertContains("org.kie.workbench.common.services.datamodel.backend.server.testclasses.annotations.RoleSmurf", oracle.getModuleModelFields().keySet());
    final Set<Annotation> annotations = oracle.getModuleTypeAnnotations().get("org.kie.workbench.common.services.datamodel.backend.server.testclasses.annotations.RoleSmurf");
    assertNotNull(annotations);
    assertEquals(1, annotations.size());
    final Annotation annotation = annotations.iterator().next();
    assertEquals("org.kie.api.definition.type.Role", annotation.getQualifiedTypeName());
    assertEquals("EVENT", annotation.getParameters().get("value"));
}
Also used : RawMVELEvaluator(org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator) ModuleDataModelOracleImpl(org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl) ClassFactBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ClassFactBuilder) Annotation(org.kie.soup.project.datamodel.oracle.Annotation) ModuleDataModelOracleBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ModuleDataModelOracleBuilder) Test(org.junit.Test)

Example 8 with ModuleDataModelOracleImpl

use of org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl in project kie-wb-common by kiegroup.

the class TestPackageNameDrlFileIndexer method getModuleDataModelOracle.

@Override
protected ModuleDataModelOracle getModuleDataModelOracle(Path path) {
    final ModuleDataModelOracle dmo = new ModuleDataModelOracleImpl();
    dmo.addModuleModelFields(new HashMap<String, ModelField[]>() {

        {
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Applicant", new ModelField[] { new ModelField("age", "java.lang.Integer", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, DataType.TYPE_NUMERIC_INTEGER) });
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage", new ModelField[] { new ModelField("amount", "java.lang.Integer", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, DataType.TYPE_NUMERIC_INTEGER) });
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage", new ModelField[] { new ModelField("applicant", "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Applicant", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Applicant") });
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Bank", new ModelField[] { new ModelField("mortgage", "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage") });
        }
    });
    return dmo;
}
Also used : ModelField(org.kie.soup.project.datamodel.oracle.ModelField) ModuleDataModelOracle(org.kie.soup.project.datamodel.oracle.ModuleDataModelOracle) ModuleDataModelOracleImpl(org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl)

Example 9 with ModuleDataModelOracleImpl

use of org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl in project kie-wb-common by kiegroup.

the class TestDrlFileIndexer method getModuleDataModelOracle.

@Override
protected ModuleDataModelOracle getModuleDataModelOracle(Path path) {
    final ModuleDataModelOracle dmo = new ModuleDataModelOracleImpl();
    dmo.addModuleModelFields(new HashMap<String, ModelField[]>() {

        {
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Applicant", new ModelField[] { new ModelField("age", "java.lang.Integer", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, DataType.TYPE_NUMERIC_INTEGER) });
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage", new ModelField[] { new ModelField("amount", "java.lang.Integer", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, DataType.TYPE_NUMERIC_INTEGER) });
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage", new ModelField[] { new ModelField("applicant", "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Applicant", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Applicant") });
            put("org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Bank", new ModelField[] { new ModelField("mortgage", "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, "org.kie.workbench.common.services.refactoring.backend.server.drl.classes.Mortgage") });
        }
    });
    return dmo;
}
Also used : ModelField(org.kie.soup.project.datamodel.oracle.ModelField) ModuleDataModelOracle(org.kie.soup.project.datamodel.oracle.ModuleDataModelOracle) ModuleDataModelOracleImpl(org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl)

Example 10 with ModuleDataModelOracleImpl

use of org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl in project kie-wb-common by kiegroup.

the class PackageDataModelOracleTest method testDirectRecursion.

@Test
public void testDirectRecursion() throws Exception {
    // Build ModuleDMO
    final ModuleDataModelOracleBuilder moduleBuilder = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator());
    final ModuleDataModelOracleImpl moduleLoader = new ModuleDataModelOracleImpl();
    final ClassFactBuilder cb = new ClassFactBuilder(moduleBuilder, new HashMap<String, FactBuilder>(), TestDirectRecursionClass.class, false, type -> TypeSource.JAVA_PROJECT);
    cb.build(moduleLoader);
    // Build PackageDMO
    final PackageDataModelOracleBuilder packageBuilder = PackageDataModelOracleBuilder.newPackageOracleBuilder(new RawMVELEvaluator(), "org.kie.workbench.common.widgets.client.datamodel.testclasses");
    packageBuilder.setModuleOracle(moduleLoader);
    final PackageDataModelOracle packageLoader = packageBuilder.build();
    // Emulate server-to-client conversions
    final Caller<IncrementalDataModelService> service = new MockIncrementalDataModelServiceCaller(packageLoader);
    final AsyncPackageDataModelOracle oracle = new AsyncPackageDataModelOracleImpl(service, validatorInstance);
    final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
    dataModel.setPackageName(packageLoader.getPackageName());
    dataModel.setModelFields(packageLoader.getModuleModelFields());
    dataModel.setTypeAnnotations(packageLoader.getModuleTypeAnnotations());
    dataModel.setTypeFieldsAnnotations(packageLoader.getModuleTypeFieldsAnnotations());
    PackageDataModelOracleTestUtils.populateDataModelOracle(mock(Path.class), new MockHasImports(), oracle, dataModel);
    assertEquals(1, oracle.getFactTypes().length);
    assertEquals("TestDirectRecursionClass", oracle.getFactTypes()[0]);
    oracle.getFieldCompletions("TestDirectRecursionClass", new Callback<ModelField[]>() {

        @Override
        public void callback(final ModelField[] result) {
            assertEquals(2, result.length);
            assertEquals("TestDirectRecursionClass", result[0].getClassName());
            assertEquals("recursiveField", result[0].getName());
            assertEquals("TestDirectRecursionClass", result[1].getClassName());
            assertEquals(DataType.TYPE_THIS, result[1].getName());
        }
    });
}
Also used : Path(org.uberfire.backend.vfs.Path) IncrementalDataModelService(org.kie.workbench.common.services.datamodel.service.IncrementalDataModelService) PackageDataModelOracleBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.packages.PackageDataModelOracleBuilder) ModuleDataModelOracleImpl(org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl) ModuleDataModelOracleBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ModuleDataModelOracleBuilder) ModelField(org.kie.soup.project.datamodel.oracle.ModelField) PackageDataModelOracleBaselinePayload(org.kie.workbench.common.services.datamodel.model.PackageDataModelOracleBaselinePayload) RawMVELEvaluator(org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator) ClassFactBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ClassFactBuilder) FactBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.projects.FactBuilder) PackageDataModelOracle(org.kie.soup.project.datamodel.oracle.PackageDataModelOracle) ClassFactBuilder(org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ClassFactBuilder) Test(org.junit.Test)

Aggregations

ModuleDataModelOracleImpl (org.kie.soup.project.datamodel.commons.oracle.ModuleDataModelOracleImpl)37 RawMVELEvaluator (org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator)22 Test (org.junit.Test)20 ClassFactBuilder (org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ClassFactBuilder)20 ModuleDataModelOracleBuilder (org.kie.workbench.common.services.datamodel.backend.server.builder.projects.ModuleDataModelOracleBuilder)20 ModelField (org.kie.soup.project.datamodel.oracle.ModelField)15 Annotation (org.kie.soup.project.datamodel.oracle.Annotation)14 ModuleDataModelOracle (org.kie.soup.project.datamodel.oracle.ModuleDataModelOracle)14 PackageDataModelOracleBaselinePayload (org.kie.workbench.common.services.datamodel.model.PackageDataModelOracleBaselinePayload)13 Set (java.util.Set)12 PackageDataModelOracle (org.kie.soup.project.datamodel.oracle.PackageDataModelOracle)12 PackageDataModelOracleBuilder (org.kie.workbench.common.services.datamodel.backend.server.builder.packages.PackageDataModelOracleBuilder)12 IncrementalDataModelService (org.kie.workbench.common.services.datamodel.service.IncrementalDataModelService)12 Path (org.uberfire.backend.vfs.Path)12 Map (java.util.Map)4 FactBuilder (org.kie.workbench.common.services.datamodel.backend.server.builder.projects.FactBuilder)2 Applicant (org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant)1 Before (org.junit.Before)1 APerson (org.kie.workbench.common.dmn.backend.editors.types.classes.APerson)1 Product (org.kie.workbench.common.services.datamodel.backend.server.testclasses.Product)1