2020-09-27 23:56发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
有人可以帮我用转换器创建像这样的流口水表达式吗。productCode == $ v4.productCode。 简而言之,这个流口水表情的翻译代码是什么。
我们遇到了同样的问题。 试试这个:
com.yourcompany.hybris.promotions.compiler.impl; 导入de.hybris.platform.droolsruleengineservices.compiler.DroolsRuleGeneratorContext; 导入de.hybris.platform.droolsruleengineservices.compiler.impl.DefaultDroolsRuleConditionsGenerator; 导入de.hybris.platform.ruleengineservices.compiler.AbstractRuleIrPatternCondition; 导入de.hybris.platform.ruleengineservices.compiler.RuleCompilerRuntimeException; 导入de.hybris.platform.ruleengineservices.compiler.RuleIrAttributeCondition; 导入de.hybris.platform.ruleengineservices.compiler.RuleIrAttributeRelCondition; 导入java.util.Objects; 导入org.apache.commons.lang.StringUtils; 公共类CustomDroolsRuleConditionsGenerator扩展DefaultDroolsRuleConditionsGenerator { @Override 受保护的String validatePatternConditionType(最终DroolsRuleGeneratorContext上下文, 最终的AbstractRuleIrPatternCondition patternCondition) { if(RuleIrAttributeCondition的patternCondition实例) { 最后的RuleIrAttributeCondition attributeRelCondition1 =(RuleIrAttributeCondition)patternCondition; 返回getDroolsRuleValueFormatter()。formatValue(context,attributeRelCondition1.getValue()); } 否则,如果(RuleIrAttributeRelCondition的patternCondition实例) { 最终RuleIrAttributeRelCondition attributeRelCondition =(RuleIrAttributeRelCondition)patternCondition; 最终字符串targetVariableName = attributeRelCondition.getTargetVariable(); //这是重要的部分,我们拆分" object.property",仅在变量范围内查找对象 最后的String [] splitTargetVariableName = StringUtils.split(targetVariableName,'。'); 如果(Objects.isNull(this.findVariable(context,splitTargetVariableName [0]))) { 抛出新的RuleCompilerRuntimeException("具有名称\'"的变量+ splitTargetVariableName [0] +"未找到\""); } 其他 { 返回context.getVariablePrefix()+ targetVariableName; } } 其他 { 抛出新的RuleCompilerRuntimeException("不支持RuleIrCondition"); } } }
请参阅代码中间的注释。
最多设置5个标签!
我们遇到了同样的问题。 试试这个:
请参阅代码中间的注释。
一周热门 更多>