From 49b47e497e429ac378deca904cfeb961d024a562 Mon Sep 17 00:00:00 2001 From: Joram Barrez Date: Wed, 11 Sep 2024 10:19:30 +0200 Subject: [PATCH] Pass engine configuration to typeHandler and typeAlias to retrieve configuration settings if needed --- .../common/engine/impl/AbstractEngineConfiguration.java | 4 ++-- .../common/engine/impl/AbstractEngineConfigurator.java | 4 ++-- .../common/engine/impl/db/MybatisTypeAliasConfigurator.java | 3 ++- .../common/engine/impl/db/MybatisTypeHandlerConfigurator.java | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java index cc50a597431..2d437aa0eb1 100755 --- a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java +++ b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java @@ -960,12 +960,12 @@ protected void applyCustomMybatisCustomizations(Configuration configuration) { if (dependentEngineMybatisTypeAliasConfigs != null) { for (MybatisTypeAliasConfigurator typeAliasConfig : dependentEngineMybatisTypeAliasConfigs) { - typeAliasConfig.configure(configuration.getTypeAliasRegistry()); + typeAliasConfig.configure(this, configuration.getTypeAliasRegistry()); } } if (dependentEngineMybatisTypeHandlerConfigs != null) { for (MybatisTypeHandlerConfigurator typeHandlerConfig : dependentEngineMybatisTypeHandlerConfigs) { - typeHandlerConfig.configure(configuration.getTypeHandlerRegistry()); + typeHandlerConfig.configure(this, configuration.getTypeHandlerRegistry()); } } diff --git a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfigurator.java b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfigurator.java index a0ec4df84a8..66d36d239a9 100644 --- a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfigurator.java +++ b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfigurator.java @@ -113,7 +113,7 @@ protected void registerCustomMybatisMappings(AbstractEngineConfiguration engineC Node node = typeAliasList.item(i); MybatisTypeAliasConfigurator typeAlias = new MybatisTypeAliasConfigurator() { @Override - public void configure(TypeAliasRegistry typeAliasRegistry) { + public void configure(AbstractEngineConfiguration abstractEngineConfiguration, TypeAliasRegistry typeAliasRegistry) { try { typeAliasRegistry.registerAlias(node.getAttributes().getNamedItem("alias").getTextContent(), Class.forName(node.getAttributes().getNamedItem("type").getTextContent())); @@ -131,7 +131,7 @@ public void configure(TypeAliasRegistry typeAliasRegistry) { Node node = typeHandlerList.item(i); MybatisTypeHandlerConfigurator typeHandler = new MybatisTypeHandlerConfigurator() { @Override - public void configure(TypeHandlerRegistry typeHandlerRegistry) { + public void configure(AbstractEngineConfiguration abstractEngineConfiguration, TypeHandlerRegistry typeHandlerRegistry) { try { typeHandlerRegistry.register(node.getAttributes().getNamedItem("javaType").getTextContent(), node.getAttributes().getNamedItem("handler").getTextContent()); diff --git a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeAliasConfigurator.java b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeAliasConfigurator.java index 9e618b85663..96867688629 100644 --- a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeAliasConfigurator.java +++ b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeAliasConfigurator.java @@ -13,6 +13,7 @@ package org.flowable.common.engine.impl.db; import org.apache.ibatis.type.TypeAliasRegistry; +import org.flowable.common.engine.impl.AbstractEngineConfiguration; /** * This class configures typeAliases in {@link TypeAliasRegistry} @@ -21,5 +22,5 @@ */ public interface MybatisTypeAliasConfigurator { - void configure(TypeAliasRegistry typeAliasRegistry); + void configure(AbstractEngineConfiguration engineConfiguration, TypeAliasRegistry typeAliasRegistry); } diff --git a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeHandlerConfigurator.java b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeHandlerConfigurator.java index b4342b7b3e8..2b0f91b4f84 100644 --- a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeHandlerConfigurator.java +++ b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/db/MybatisTypeHandlerConfigurator.java @@ -14,6 +14,7 @@ import org.apache.ibatis.type.TypeHandler; import org.apache.ibatis.type.TypeHandlerRegistry; +import org.flowable.common.engine.impl.AbstractEngineConfiguration; /** * This class configures {@link TypeHandler} in {@link TypeHandlerRegistry} @@ -22,5 +23,5 @@ */ public interface MybatisTypeHandlerConfigurator { - void configure(TypeHandlerRegistry typeHandlerRegistry); + void configure(AbstractEngineConfiguration engineConfiguration, TypeHandlerRegistry typeHandlerRegistry); }