[jboss-jira] [JBoss JIRA] (DROOLS-5372) Implement PMML coexistence
Gabriele Cardosi (Jira)
issues at jboss.org
Fri Jun 5 11:32:01 EDT 2020
[ https://issues.redhat.com/browse/DROOLS-5372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14136707#comment-14136707 ]
Gabriele Cardosi edited comment on DROOLS-5372 at 6/5/20 11:31 AM:
-------------------------------------------------------------------
Most cost-effective solution could be:
-# create a new _Command_ with API tailored for new kie-pmml (see
{code:java}
ApplyPmmlModelCommand
{code}
as example)-
# verify the behavior when *both*
{code:java}
PMMLAssemblerService
{code}
s (from old and new kie-pmml) are present in the classpath ( "openshift/docker" images):
## only one is invoked; evaluate how this may be managed when both modules are expected to be present in the classpath
# different issue for the PMMLRuntime, since it is defined and used in the new kie-pmml but not in the old one
# Create a "NO_OP" resourcetype
# Define an _environmental_ variable used to choose the implementation *but only if both are presents* (this variable is ignored if only one implementation is present)
# Inside both PMMLRuntimes.getResourceType, add a verification snippet that *if both implementations are present*, consider the variable - return "NO_OP" resource type from the PMMLAssembler that has to be excluded
# inside DMN:
## inside
{code:java}
AbstractPMMLInvocationEvaluator.PMMLInvocationEvaluatorFactory.newInstance(...)
{code}
add an "if" to choose wich kie-pmml implementation (old or new) is to be used when the jpmml one is not in the classpath
# Code written for *old* kie-pmml will be incompatible for new one (and the other way around)
was (Author: gabriolo):
Most cost-effective solution could be:
# create a new _Command_ with API tailored for new kie-pmml (see
{code:java}
ApplyPmmlModelCommand
{code}
as example)
# verify the behavior when *both*
{code:java}
PMMLAssemblerService
{code}
s (from old and new kie-pmml) are present in the classpath ( "openshift/docker" images):
## only one is invoked; evaluate how this may be managed when both modules are expected to be present in the classpath
# different issue for the PMMLRuntime, since it is defined and used in the new kie-pmml but not in the old one
# Create a "NO_OP" resourcetype
# Define an _environmental_ variable used to choose the implementation *but only if both are presents* (this variable is ignored if only one implementation is present)
# Inside both PMMLRuntimes.getResourceType, add a verification snippet that *if both implementations are present*, consider the variable - return "NO_OP" resource type from the PMMLAssembler that has to be excluded
# inside DMN:
## inside
{code:java}
AbstractPMMLInvocationEvaluator.PMMLInvocationEvaluatorFactory.newInstance(...)
{code}
add an "if" to choose wich kie-pmml implementation (old or new) is to be used when the jpmml one is not in the classpath
# Code written for *old* kie-pmml will be incompatible for new one (and the other way around)
> Implement PMML coexistence
> ---------------------------
>
> Key: DROOLS-5372
> URL: https://issues.redhat.com/browse/DROOLS-5372
> Project: Drools
> Issue Type: Task
> Reporter: Gabriele Cardosi
> Assignee: Gabriele Cardosi
> Priority: Major
> Labels: TrustyAI
>
> New and old PMML implementations should live together for some time.
> See comment
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list