null
* @param jar
* not null
+ * @param pluginClassLoader
+ * not null
* @param serverBaseUrl
* not null
* @param variablesFactory
* not null
*/
- public PluginMdcImpl(int apiVersion, String name, String version, String jar, String serverBaseUrl,
- Functionnull
* @param jar
* not null
+ * @param pluginClassLoader
+ * not null
* @param serverBaseUrl
* not null
* @param variablesFactory
* not null
*/
- public PluginMdcImpl(int apiVersion, String name, String version, String jar, String serverBaseUrl,
- Functionnull
* @param objectMapper
* not null
- * @param client
+ * @param dsfClientProvider
* not null
*/
- public VariablesImpl(DelegateExecution execution, ObjectMapper objectMapper, DsfClient client)
+ public VariablesImpl(DelegateExecution execution, ObjectMapper objectMapper, DsfClientProvider dsfClientProvider)
{
this.execution = Objects.requireNonNull(execution, "execution");
this.objectMapper = Objects.requireNonNull(objectMapper, "objectMapper");
- startTaskUpdater = new StartTaskUpdaterImpl(client, this::getStartTask, this::updateTask);
+ startTaskUpdater = new StartTaskUpdaterImpl(dsfClientProvider, this::getStartTask, this::updateTask);
}
private JsonHolder toJsonHolder(Object json)
diff --git a/dsf-bpe/dsf-bpe-process-api-v2/pom.xml b/dsf-bpe/dsf-bpe-process-api-v2/pom.xml
index 0fc973937..bc4a8dfff 100644
--- a/dsf-bpe/dsf-bpe-process-api-v2/pom.xml
+++ b/dsf-bpe/dsf-bpe-process-api-v2/pom.xml
@@ -37,6 +37,16 @@
null
* @param jar
* not null
+ * @param pluginClassLoader
+ * not null
*/
- public AbstractPluginMdc(int apiVersion, String name, String version, String jar)
+ public AbstractPluginContext(int apiVersion, String name, String version, String jar, ClassLoader pluginClassLoader)
{
this.apiVersion = apiVersion;
this.name = Objects.requireNonNull(name, "name");
this.version = Objects.requireNonNull(version, "version");
this.jar = Objects.requireNonNull(jar, "jar");
+ this.pluginClassLoader = Objects.requireNonNull(pluginClassLoader, "pluginClassLoader");
}
private void putPluginMdc()
@@ -115,44 +119,81 @@ public static final record ProcessValues(String processUrl, String startTaskUrl,
protected abstract ProcessValues getProcessValues(DelegateExecution delegateExecution);
@Override
- public void executeWithProcessMdc(DelegateTask delegateTask, Consumer EnumSet.of(ProcessState.ACTIVE, ProcessState.DRAFT).contains(c.getNewProcessState()))
.map(ProcessStateChangeOutcome::getProcessKeyAndVersion).collect(Collectors.toSet());
- plugins.stream().forEach(p -> p.getPluginMdc().executeWithPluginMdc(
+ plugins.stream().forEach(p -> p.getPluginContext().executeWithPluginContext(
() -> p.getProcessPluginDeploymentListener().onProcessesDeployed(activeProcesses)));
}
diff --git a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/webservice/ProcessService.java b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/webservice/ProcessService.java
index 940826777..099c08bce 100755
--- a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/webservice/ProcessService.java
+++ b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/webservice/ProcessService.java
@@ -48,7 +48,6 @@
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status;
import jakarta.ws.rs.core.StreamingOutput;
-import net.sf.saxon.lib.FeatureKeys;
@RolesAllowed("ADMIN")
@Path(ProcessService.PATH)
@@ -72,7 +71,6 @@ public ProcessService(ThymeleafTemplateService templateService, RepositoryServic
try
{
transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- transformerFactory.setFeature(FeatureKeys.ALLOW_EXTERNAL_FUNCTIONS, false);
}
catch (TransformerConfigurationException e)
{
diff --git a/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v1/allowed-bpe-classes.list b/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v1/allowed-bpe-classes.list
index 7424a123d..1e09ee1ee 100644
--- a/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v1/allowed-bpe-classes.list
+++ b/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v1/allowed-bpe-classes.list
@@ -14,15 +14,15 @@
# limitations under the License.
#
-com.fasterxml.jackson.annotation
-com.fasterxml.jackson.core
-com.fasterxml.jackson.databind
+com.fasterxml.jackson
com.google.common
dev.dsf.bpe.api
-jakarta.ws.rs
+jakarta.activation
+jakarta.inject
org.apache.commons.codec
org.apache.commons.io
org.apache.commons.lang3
+org.apache.commons.logging
org.apache.commons.text
org.apache.http
org.bouncycastle
diff --git a/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v2/allowed-bpe-classes.list b/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v2/allowed-bpe-classes.list
index c60656fbb..b3616eafb 100644
--- a/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v2/allowed-bpe-classes.list
+++ b/dsf-bpe/dsf-bpe-server/src/main/resources/bpe/api/v2/allowed-bpe-classes.list
@@ -14,19 +14,19 @@
# limitations under the License.
#
-com.fasterxml.jackson.annotation
-com.fasterxml.jackson.core
-com.fasterxml.jackson.databind
-com.fasterxml.jackson.datatype
+com.fasterxml.jackson
com.google.common
com.ctc.wstx.stax.WstxInputFactory
dev.dsf.bpe.api
+jakarta.activation
jakarta.annotation.Nonnull
jakarta.annotation.Nullable
+jakarta.inject
jakarta.ws.rs
org.apache.commons.codec
org.apache.commons.io
org.apache.commons.lang3
+org.apache.commons.logging
org.apache.commons.text
org.apache.http
org.bouncycastle
diff --git a/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/DsfClientTest.java b/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/DsfClientTest.java
index afd92168e..72dad72f6 100644
--- a/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/DsfClientTest.java
+++ b/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/DsfClientTest.java
@@ -172,7 +172,7 @@ public void searchAsyncUrl(ProcessPluginApi api) throws Exception
Optional