private String getFieldFullyQualifiedClassName(final String fullyQualifiedClassName, final String fieldName) { String className = ModuleDataModelOracleUtils.getFieldFullyQualifiedClassName(dmo, fullyQualifiedClassName, fieldName); if (className == null) { className = DataType.TYPE_OBJECT; } return className; } }
private void loadPackageElements() { packageOracle.addExtensions(extensions); }
private void loadModuleOracle() { packageOracle.setPackageName(packageName); }
@Override protected ModuleDataModelOracle getModuleDataModelOracle(final Path path) { return new ModuleDataModelOracleImpl(); } }
public PackageDataModelOracle build() { //Copy Module DMO into Package DMO final ModuleDataModelOracleImpl pd = (ModuleDataModelOracleImpl) moduleOracle; packageOracle.addModuleModelFields(pd.getModuleModelFields()); packageOracle.addModuleFieldParametersType(pd.getModuleFieldParametersType()); packageOracle.addModuleJavaEnumDefinitions(pd.getModuleJavaEnumDefinitions()); packageOracle.addModuleMethodInformation(pd.getModuleMethodInformation()); packageOracle.addModuleCollectionTypes(pd.getModuleCollectionTypes()); packageOracle.addModuleEventTypes(pd.getModuleEventTypes()); packageOracle.addModuleTypeSources(pd.getModuleTypeSources()); packageOracle.addModuleSuperTypes(pd.getModuleSuperTypes()); packageOracle.addModuleTypeAnnotations(pd.getModuleTypeAnnotations()); packageOracle.addModuleTypeFieldsAnnotations(pd.getModuleTypeFieldsAnnotations()); packageOracle.addModulePackageNames(pd.getModulePackageNames()); //Add Package DMO specifics loadEnums(); loadPackageElements(); loadGlobals(); loadModuleOracle(); return packageOracle; }
@Override public void build(final ModuleDataModelOracleImpl oracle) { super.build(oracle); oracle.addModuleMethodInformation(methodInformation); oracle.addModuleFieldParametersType(fieldParametersType); oracle.addModuleSuperTypes(buildSuperTypes()); oracle.addModuleTypeAnnotations(buildTypeAnnotations()); oracle.addModuleTypeFieldsAnnotations(buildTypeFieldsAnnotations()); }
@Override public void build(final ModuleDataModelOracleImpl oracle) { oracle.addModuleModelFields(buildModelFields()); oracle.addModuleCollectionTypes(buildCollectionTypes()); oracle.addModuleEventTypes(buildEventTypes()); oracle.addModuleTypeSources(buildTypeSources()); }
@Test public void testAddExtensionsMap() { oracle.addExtensions(new HashMap<ExtensionKind<?>, List<?>>() {{ put(kind, Collections.singletonList(ELEMENT)); }}); assertEquals(1, oracle.getExtensions(kind).size()); assertEquals(ELEMENT, oracle.getExtensions(kind).get(0)); } }
@Test public void testAddExtensionsList() { oracle.addExtensions(kind, Collections.singletonList(ELEMENT)); assertEquals(1, oracle.getExtensions(kind).size()); assertEquals(ELEMENT, oracle.getExtensions(kind).get(0)); }
@Before public void setup() { this.oracle = new PackageDataModelOracleImpl(); }
private void loadGlobals() { packageOracle.addPackageGlobals(packageGlobalTypes); }
private void loadPackageNames() { oracle.addModulePackageNames(packageNames); }
private void loadEnums() { final Map<String, String[]> loadableEnums = new HashMap<>(); for (Map.Entry<String, String[]> e : factFieldEnums.entrySet()) { final String qualifiedFactField = e.getKey(); loadableEnums.put(qualifiedFactField, e.getValue()); } packageOracle.addPackageWorkbenchEnumDefinitions(loadableEnums); }
private void loadEnums() { final Map<String, String[]> loadableEnums = new HashMap<>(); for (Map.Entry<String, String[]> e : factFieldEnums.entrySet()) { final String qualifiedFactField = e.getKey(); loadableEnums.put(qualifiedFactField, e.getValue()); } oracle.addModuleJavaEnumDefinitions(loadableEnums); }
@Override protected ModuleDataModelOracle getModuleDataModelOracle(final Path path) { return new ModuleDataModelOracleImpl(); } }
@Override public PackageDataModelOracle getDataModel(final Path resourcePath) { try { PortablePreconditions.checkNotNull("resourcePath", resourcePath); final KieModule module = resolveModule(resourcePath); final Package pkg = resolvePackage(resourcePath); //Resource was not within a Module structure if (module == null) { return new PackageDataModelOracleImpl(); } //Retrieve (or build) oracle final PackageDataModelOracle oracle = cachePackages.assertPackageDataModelOracle(module, pkg); return oracle; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override protected ModuleDataModelOracle getModuleDataModelOracle(final Path path) { final ModuleDataModelOracle dmo = new ModuleDataModelOracleImpl(); dmo.addModuleModelFields(new HashMap<String, ModelField[]>() {{ put("org.drools.workbench.screens.guided.scorecard.backend.server.indexing.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.drools.workbench.screens.guided.scorecard.backend.server.indexing.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)}); }}); return dmo; } }
@Override protected ModuleDataModelOracle getModuleDataModelOracle(final Path path) { final ModuleDataModelOracle dmo = new ModuleDataModelOracleImpl(); dmo.addModuleModelFields(new HashMap<String, ModelField[]>() {{ put("org.drools.workbench.screens.globals.backend.server.util.indexing.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.drools.workbench.screens.globals.backend.server.util.indexing.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), new ModelField("applicant", "org.drools.workbench.screens.globals.backend.server.util.indexing.classes.Applicant", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, "org.drools.workbench.screens.globals.backend.server.util.indexing.classes.Applicant")}); }}); return dmo; } }
@Override protected ModuleDataModelOracle getModuleDataModelOracle(final Path path) { final ModuleDataModelOracle dmo = new ModuleDataModelOracleImpl(); dmo.addModuleModelFields(new HashMap<String, ModelField[]>() {{ put("org.drools.workbench.screens.globals.backend.server.util.indexing.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.drools.workbench.screens.globals.backend.server.util.indexing.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), new ModelField("applicant", "org.drools.workbench.screens.globals.backend.server.util.indexing.classes.Applicant", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, "org.drools.workbench.screens.globals.backend.server.util.indexing.classes.Applicant")}); }}); return dmo; } }
@Override protected ModuleDataModelOracle getModuleDataModelOracle(final Path path) { final ModuleDataModelOracle dmo = new ModuleDataModelOracleImpl(); dmo.addModuleModelFields(new HashMap<String, ModelField[]>() {{ put("org.drools.workbench.screens.testscenario.backend.server.indexing.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.drools.workbench.screens.testscenario.backend.server.indexing.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("java.util.Date", new ModelField[]{new ModelField("minutes", "java.lang.Integer", ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.ACCESSOR, DataType.TYPE_NUMERIC_INTEGER)}); }}); return dmo; } }