public static DmnEngine getDmnEngine(String configurationResource) { DmnEngine dmnEngine = dmnEngines.get(configurationResource); if (dmnEngine == null) { LOGGER.debug("==== BUILDING DMN ENGINE ========================================================================"); dmnEngine = DmnEngineConfiguration.createDmnEngineConfigurationFromResource(configurationResource).setDatabaseSchemaUpdate(DmnEngineConfiguration.DB_SCHEMA_UPDATE_DROP_CREATE).buildDmnEngine(); LOGGER.debug("==== DMN ENGINE CREATED ========================================================================="); dmnEngines.put(configurationResource, dmnEngine); } return dmnEngine; }
protected static DmnEngine buildDmnEngine(URL resource) { try (InputStream inputStream = resource.openStream()) { DmnEngineConfiguration dmnEngineConfiguration = DmnEngineConfiguration.createDmnEngineConfigurationFromInputStream(inputStream); return dmnEngineConfiguration.buildDmnEngine(); } catch (IOException e) { throw new FlowableException("couldn't open resource stream: " + e.getMessage(), e); } }
@Override protected void initDbSqlSessionFactoryEntitySettings() { defaultInitDbSqlSessionFactoryEntitySettings(EntityDependencyOrder.INSERT_ORDER, EntityDependencyOrder.DELETE_ORDER); }
protected void configureExpressionManager() { if (dmnEngineConfiguration.getExpressionManager() == null && applicationContext != null) { dmnEngineConfiguration.setExpressionManager(new SpringDmnExpressionManager(applicationContext, dmnEngineConfiguration.getBeans())); } }
@Override protected void initializeDmnEngine() { DmnEngineConfiguration config = DmnEngineConfiguration.createDmnEngineConfigurationFromResource(flowableConfigurationResource); if (dmnEngineName != null) { LOGGER.info("Initializing DMN engine with name '{}'", dmnEngineName); config.setEngineName(dmnEngineName); } additionalConfiguration(config); dmnEngine = config.buildDmnEngine(); }
public DmnEngineImpl(DmnEngineConfiguration dmnEngineConfiguration) { this.dmnEngineConfiguration = dmnEngineConfiguration; this.name = dmnEngineConfiguration.getEngineName(); this.dmnManagementService = dmnEngineConfiguration.getDmnManagementService(); this.dmnRepositoryService = dmnEngineConfiguration.getDmnRepositoryService(); this.dmnRuleService = dmnEngineConfiguration.getDmnRuleService(); this.dmnHistoryService = dmnEngineConfiguration.getDmnHistoryService(); if (dmnEngineConfiguration.getSchemaManagementCmd() != null) { dmnEngineConfiguration.getCommandExecutor().execute(dmnEngineConfiguration.getSchemaCommandConfig(), dmnEngineConfiguration.getSchemaManagementCmd()); } if (name == null) { LOGGER.info("default flowable DmnEngine created"); } else { LOGGER.info("DmnEngine {} created", name); } DmnEngines.registerDmnEngine(this); }
@Override public DmnEngine getObject() throws Exception { configureExpressionManager(); configureExternallyManagedTransactions(); if (dmnEngineConfiguration.getBeans() == null) { dmnEngineConfiguration.setBeans(new SpringBeanFactoryProxyMap(applicationContext)); } this.dmnEngine = dmnEngineConfiguration.buildDmnEngine(); return this.dmnEngine; }
deployment.setDeploymentTime(CommandContextUtil.getDmnEngineConfiguration().getClock().getCurrentTime()); List<DmnDeployment> deploymentEntities = new DmnDeploymentQueryImpl(CommandContextUtil.getDmnEngineConfiguration().getCommandExecutor()).deploymentName(deployment.getName()).listPage(0, 1); if (!deploymentEntities.isEmpty()) { existingDeployments.add(deploymentEntities.get(0)); List<DmnDeployment> deploymentList = CommandContextUtil.getDmnEngineConfiguration().getDmnRepositoryService().createDeploymentQuery() .deploymentName(deployment.getName()) .deploymentTenantId(deployment.getTenantId()) CommandContextUtil.getDmnEngineConfiguration().getDeploymentManager().deploy(deployment, deploymentSettings);
@Override public void initDbSqlSessionFactory() { if (dbSqlSessionFactory == null) { dbSqlSessionFactory = createDbSqlSessionFactory(); dbSqlSessionFactory.setDatabaseType(databaseType); dbSqlSessionFactory.setSqlSessionFactory(sqlSessionFactory); dbSqlSessionFactory.setDatabaseTablePrefix(databaseTablePrefix); dbSqlSessionFactory.setTablePrefixIsSchema(tablePrefixIsSchema); dbSqlSessionFactory.setDatabaseCatalog(databaseCatalog); dbSqlSessionFactory.setDatabaseSchema(databaseSchema); addSessionFactory(dbSqlSessionFactory); } initDbSqlSessionFactoryEntitySettings(); }
@Override public DmnEngine buildDmnEngine() { DmnEngine dmnEngine = super.buildDmnEngine(); DmnEngines.setInitialized(true); enginesBuild.add(dmnEngine.getName()); return dmnEngine; }
StringBuilder outputMessage = new StringBuilder(); for (String tableName : tableCounts.keySet()) { String tableNameWithoutPrefix = tableName.replace(dmnEngineConfiguration.getDatabaseTablePrefix(), ""); if (!TABLENAMES_EXCLUDED_FROM_DB_CLEAN_CHECK.contains(tableNameWithoutPrefix)) { Long count = tableCounts.get(tableName); CommandExecutor commandExecutor = dmnEngine.getDmnEngineConfiguration().getCommandExecutor(); CommandConfig config = new CommandConfig().transactionNotSupported(); commandExecutor.execute(config, new Command<Object>() {
public void setCurrentTime(Instant instant) { dmnEngine.getDmnEngineConfiguration().getClock().setCurrentTime(instant == null ? null : Date.from(instant)); }
public static DmnEngineConfiguration createDmnEngineConfigurationFromResource(String resource) { return createDmnEngineConfigurationFromResource(resource, "dmnEngineConfiguration"); }
public static DmnEngineConfiguration createDmnEngineConfigurationFromInputStream(InputStream inputStream) { return createDmnEngineConfigurationFromInputStream(inputStream, "dmnEngineConfiguration"); }
@Override public void close() { DmnEngines.unregister(this); dmnEngineConfiguration.close(); }
public void setCurrentTime(Date date) { dmnEngine.getDmnEngineConfiguration().getClock().setCurrentTime(date); }
public static DmnEngineConfiguration createDmnEngineConfigurationFromResourceDefault() { return createDmnEngineConfigurationFromResource("flowable.dmn.cfg.xml", "dmnEngineConfiguration"); }
dmnEngineConfiguration.getClock().reset();
@Override public void afterEach(ExtensionContext context) { FlowableDmnTestHelper flowableTestHelper = getTestHelper(context); DmnEngine dmnEngine = flowableTestHelper.getDmnEngine(); String deploymentIdFromDeploymentAnnotation = flowableTestHelper.getDeploymentIdFromDeploymentAnnotation(); if (deploymentIdFromDeploymentAnnotation != null) { DmnTestHelper.annotationDeploymentTearDown(dmnEngine, deploymentIdFromDeploymentAnnotation, context.getRequiredTestClass(), context.getRequiredTestMethod().getName()); flowableTestHelper.setDeploymentIdFromDeploymentAnnotation(null); } dmnEngine.getDmnEngineConfiguration().getClock().reset(); }