/*
* Copyright 2016 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.workbench.screens.guided.dtable.client.widget.auditlog;
import static java.lang.String.format;
import static org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52.FIELD_CONSTRAINT_VALUE_TYPE;
import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwtmockito.GwtMockitoTestRunner;
import org.drools.workbench.models.datamodel.rule.ActionRetractFact;
import org.drools.workbench.models.datamodel.rule.BaseSingleFieldConstraint;
import org.drools.workbench.models.datamodel.rule.FactPattern;
import org.drools.workbench.models.datamodel.workitems.PortableStringParameterDefinition;
import org.drools.workbench.models.datamodel.workitems.PortableWorkDefinition;
import org.drools.workbench.models.guided.dtable.shared.auditlog.UpdateColumnAuditLogEntry;
import org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionRetractFactCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionWorkItemCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionWorkItemInsertFactCol52;
import org.drools.workbench.models.guided.dtable.shared.model.ActionWorkItemSetFieldCol52;
import org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52;
import org.drools.workbench.models.guided.dtable.shared.model.BRLActionColumn;
import org.drools.workbench.models.guided.dtable.shared.model.BRLConditionColumn;
import org.drools.workbench.models.guided.dtable.shared.model.BaseColumnFieldDiff;
import org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52;
import org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52;
import org.drools.workbench.models.guided.dtable.shared.model.DTColumnConfig52;
import org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryActionInsertFactCol52;
import org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryActionSetFieldCol52;
import org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryConditionCol52;
import org.drools.workbench.models.guided.dtable.shared.model.MetadataCol52;
import org.drools.workbench.models.guided.dtable.shared.model.Pattern52;
import org.drools.workbench.models.guided.dtable.shared.model.WorkItemColumnParameterValueDiffImpl;
import org.drools.workbench.screens.guided.dtable.client.resources.i18n.GuidedDecisionTableConstants;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@RunWith(GwtMockitoTestRunner.class)
public class AuditLogEntryCellHelperTest {
@Mock
private DateTimeFormat format;
private String labelClass = "mockCssClassForLabel";
private AuditLogEntryCellHelper helper;
@Before
public void setUp() throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
when(format.format(any(Date.class))).thenReturn("mockDateString");
// This also mock AuditLogEntryCellHelper.Template, which then for each method call returns "<method name>(<call arguments>)
// instead of the "templated" String. Calling SafeHtml.asString() then gives us something like:
// commentHeader(<new header>)updatedFields(updatedField(<field description>, <old value>, <new value>)...)
// From that we can assert that all diffs were properly used and displayed.
helper = new AuditLogEntryCellHelper(format, labelClass, "mockCssClassForValue");
}
@Test
public void convertValueToString() {
assertEquals(null, helper.convertValueToString(null));
assertEquals("true", helper.convertValueToString(true));
assertEquals("false", helper.convertValueToString(false));
Date date = new Date();
assertEquals(format.format(date), helper.convertValueToString(date));
assertEquals(BigDecimal.ONE.toPlainString(), helper.convertValueToString(BigDecimal.ONE));
assertEquals(BigInteger.ONE.toString(), helper.convertValueToString(BigInteger.ONE));
Byte b = Byte.MAX_VALUE;
assertEquals(b.toString(), helper.convertValueToString(b));
Double d = 123.456;
assertEquals(d.toString(), helper.convertValueToString(d));
Float f = new Float(123.456);
assertEquals(f.toString(), helper.convertValueToString(f));
Integer i = 123;
assertEquals(i.toString(), helper.convertValueToString(i));
Long l = new Long(123);
assertEquals(l.toString(), helper.convertValueToString(l));
Short s = 123;
assertEquals(s.toString(), helper.convertValueToString(s));
assertEquals("surprise!", helper.convertValueToString("surprise!"));
}
@Test
public void getSafeHtml_Metadata() {
MetadataCol52 originalColumn = new MetadataCol52();
originalColumn.setHideColumn(true);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
// header & metadata of a metadata column cannot be updated in the ui
originalColumn.setMetadata("meta");
originalColumn.setHeader("meta");
MetadataCol52 newColumn = new MetadataCol52();
newColumn.setHideColumn(false);
newColumn.setDefaultValue(new DTCellValue52("def2"));
// header & metadata of a metadata column cannot be updated in the ui
newColumn.setMetadata("meta");
newColumn.setHeader("meta");
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_Attribute() {
AttributeCol52 originalColumn = new AttributeCol52();
originalColumn.setReverseOrder(false);
originalColumn.setUseRowNumber(false);
originalColumn.setHideColumn(false);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
// header & attribute name of an attribute column cannot be updated in the ui
originalColumn.setAttribute("attr");
originalColumn.setHeader("attr");
AttributeCol52 newColumn = new AttributeCol52();
newColumn.setReverseOrder(true);
newColumn.setUseRowNumber(true);
newColumn.setHideColumn(true);
newColumn.setDefaultValue(new DTCellValue52("def2"));
// header & attribute name of an attribute column cannot be updated in the ui
newColumn.setAttribute("attr");
newColumn.setHeader("attr");
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getAttributeHeaderRepre(newColumn.getAttribute()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_Condition() {
ConditionCol52 originalColumn = new ConditionCol52();
originalColumn.setBinding("bind1");
originalColumn.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
originalColumn.setFactField("field1");
originalColumn.setFieldType("FieldType1");
originalColumn.setOperator("==");
originalColumn.setValueList("a,b,c");
originalColumn.setHeader("condition1");
originalColumn.setHideColumn(false);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
ConditionCol52 newColumn = new ConditionCol52();
newColumn.setBinding("bind2");
newColumn.setConstraintValueType(BaseSingleFieldConstraint.TYPE_PREDICATE);
newColumn.setFactField("field2");
newColumn.setFieldType("FieldType2");
newColumn.setOperator("!=");
newColumn.setValueList("x,y,z");
newColumn.setHeader("condition2");
newColumn.setHideColumn(true);
newColumn.setDefaultValue(new DTCellValue52("def2"));
Pattern52 originalPattern = new Pattern52();
originalPattern.setBoundName("patBind1");
originalPattern.setFactType("FactType1");
originalPattern.setEntryPointName("ep1");
Pattern52 newPattern = new Pattern52();
newPattern.setBoundName("patBind2");
newPattern.setFactType("FactType2");
newPattern.setEntryPointName("ep2");
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
diffs.addAll(originalPattern.diff(newPattern));
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getConditionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionInsert() {
//hide, insert, value list, default value, field, header
ActionInsertFactCol52 originalColumn = new ActionInsertFactCol52();
originalColumn.setFactField("field1");
originalColumn.setInsertLogical(false);
originalColumn.setValueList("q,w,e");
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
ActionInsertFactCol52 newColumn = new ActionInsertFactCol52();
newColumn.setFactField("field2");
newColumn.setInsertLogical(true);
newColumn.setValueList("a,s,d");
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
newColumn.setDefaultValue(new DTCellValue52("def2"));
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionSetField() {
ActionSetFieldCol52 originalColumn = new ActionSetFieldCol52();
originalColumn.setBoundName("bind1");
originalColumn.setFactField("field1");
originalColumn.setUpdate(false);
originalColumn.setValueList("q,w,e");
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
ActionSetFieldCol52 newColumn = new ActionSetFieldCol52();
newColumn.setBoundName("bind2");
newColumn.setFactField("field2");
newColumn.setUpdate(true);
newColumn.setValueList("a,s,d");
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
newColumn.setDefaultValue(new DTCellValue52("def2"));
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionRetract() {
ActionRetractFactCol52 originalColumn = new ActionRetractFactCol52();
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
ActionRetractFactCol52 newColumn = new ActionRetractFactCol52();
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
newColumn.setDefaultValue(new DTCellValue52("def2"));
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionWorkItemExecute_Simple() {
ActionWorkItemCol52 originalColumn = new ActionWorkItemCol52();
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
ActionWorkItemCol52 newColumn = new ActionWorkItemCol52();
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
PortableStringParameterDefinition param1 = new PortableStringParameterDefinition();
param1.setName("param1");
param1.setValue("value1");
PortableWorkDefinition def1 = new PortableWorkDefinition();
def1.setName("def1name");
def1.addParameter(param1);
PortableStringParameterDefinition param3 = new PortableStringParameterDefinition();
param3.setName("param3");
param3.setValue("value3");
PortableWorkDefinition def2 = new PortableWorkDefinition();
def2.setName("def2name");
def2.addParameter(param3);
originalColumn.setWorkItemDefinition(def1);
newColumn.setWorkItemDefinition(def2);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionWorkItemExecute_Complex() {
ActionWorkItemCol52 originalColumn = new ActionWorkItemCol52();
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
ActionWorkItemCol52 newColumn = new ActionWorkItemCol52();
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
PortableStringParameterDefinition param1 = new PortableStringParameterDefinition();
param1.setName("param1");
param1.setValue("value1");
PortableStringParameterDefinition param2 = new PortableStringParameterDefinition();
param2.setName("param2");
param2.setValue("value2");
PortableWorkDefinition def1 = new PortableWorkDefinition();
def1.setName("def1name");
def1.addParameter(param1);
def1.addParameter(param2);
PortableStringParameterDefinition param3 = new PortableStringParameterDefinition();
param3.setName("param3");
param3.setValue("value3");
PortableStringParameterDefinition param4 = new PortableStringParameterDefinition();
param4.setName("param1");
param4.setValue("value1");
PortableStringParameterDefinition param5 = new PortableStringParameterDefinition();
param5.setName("param5");
param5.setBinding("binding5");
PortableStringParameterDefinition param6 = new PortableStringParameterDefinition();
param6.setName("param2");
param6.setValue("value6");
PortableWorkDefinition def2 = new PortableWorkDefinition();
def2.setName("def2name");
def2.addParameter(param3);
def2.addParameter(param4);
def2.addParameter(param5);
def2.addParameter(param6);
originalColumn.setWorkItemDefinition(def1);
newColumn.setWorkItemDefinition(def2);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionWorkItemInsert() {
ActionWorkItemInsertFactCol52 originalColumn = new ActionWorkItemInsertFactCol52();
originalColumn.setParameterClassName("ParamClass1");
originalColumn.setWorkItemName("WI1");
originalColumn.setWorkItemResultParameterName("param1");
originalColumn.setBoundName("b1");
originalColumn.setFactField("field1");
originalColumn.setInsertLogical(false);
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
ActionWorkItemInsertFactCol52 newColumn = new ActionWorkItemInsertFactCol52();
newColumn.setParameterClassName("ParamClass2");
newColumn.setWorkItemName("WI2");
newColumn.setWorkItemResultParameterName("param2");
newColumn.setBoundName("b2");
newColumn.setFactField("field2");
newColumn.setInsertLogical(true);
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_ActionWorkItemSetField() {
ActionWorkItemSetFieldCol52 originalColumn = new ActionWorkItemSetFieldCol52();
originalColumn.setParameterClassName("ParamClass1");
originalColumn.setWorkItemName("WI1");
originalColumn.setWorkItemResultParameterName("param1");
originalColumn.setBoundName("bind1");
originalColumn.setFactField("field1");
originalColumn.setUpdate(false);
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
ActionWorkItemSetFieldCol52 newColumn = new ActionWorkItemSetFieldCol52();
newColumn.setParameterClassName("ParamClass2");
newColumn.setWorkItemName("WI2");
newColumn.setWorkItemResultParameterName("param2");
newColumn.setBoundName("bind2");
newColumn.setFactField("field2");
newColumn.setUpdate(true);
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_BrlCondition() {
// Definition diffs are currently not supported, maybe #soon?
BRLConditionColumn originalColumn = new BRLConditionColumn();
// originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType1")));
originalColumn.setHeader("condition1");
originalColumn.setHideColumn(false);
BRLConditionColumn newColumn = new BRLConditionColumn();
// originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType2"), new FactPattern("FactType3")));
newColumn.setHeader("condition2");
newColumn.setHideColumn(true);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_BrlCondition_DefinitionOnly() {
BRLConditionColumn originalColumn = new BRLConditionColumn();
originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType1")));
originalColumn.setHeader("condition");
originalColumn.setHideColumn(false);
BRLConditionColumn newColumn = new BRLConditionColumn();
originalColumn.setDefinition(Arrays.asList(new FactPattern("FactType2"), new FactPattern("FactType3")));
newColumn.setHeader("condition");
newColumn.setHideColumn(false);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
// Definition diffs are currently not supported, maybe #soon?
// assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(new ArrayList<>()), result.asString());
}
@Test
public void getSafeHtml_BrlAction() {
// Definition diffs are currently not supported, maybe #soon?
BRLActionColumn originalColumn = new BRLActionColumn();
// originalColumn.setDefinition(Arrays.asList(new ActionRetractFact("fact1")));
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
BRLActionColumn newColumn = new BRLActionColumn();
// newColumn.setDefinition(Arrays.asList(new ActionRetractFact("fact2"), new ActionRetractFact("fact3")));
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
@Test
public void getSafeHtml_BrlAction_DefinitionOnly() {
BRLActionColumn originalColumn = new BRLActionColumn();
originalColumn.setDefinition(Arrays.asList(new ActionRetractFact("fact1")));
originalColumn.setHeader("action");
originalColumn.setHideColumn(false);
BRLActionColumn newColumn = new BRLActionColumn();
newColumn.setDefinition(Arrays.asList(new ActionRetractFact("fact2"), new ActionRetractFact("fact3")));
newColumn.setHeader("action");
newColumn.setHideColumn(false);
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
// Definition diffs are currently not supported, maybe #soon?
// assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
assertEquals(getHeaderRepre(newColumn.getHeader()) + getDiffRepre(new ArrayList<>()), result.asString());
}
private String getHeaderRepre(String header) {
return format("commentHeader(DecisionTableAuditLogUpdateColumn(%s))", header);
}
private String getAttributeHeaderRepre(String header) {
return format("commentHeader(DecisionTableAuditLogUpdateAttribute(%s))", header);
}
private String getConditionHeaderRepre(String header) {
return format("commentHeader(DecisionTableAuditLogUpdateCondition(%s))", header);
}
private String getActionHeaderRepre(String header) {
return format("commentHeader(DecisionTableAuditLogUpdateAction(%s))", header);
}
private String getDiffRepre(List<BaseColumnFieldDiff> diffs) {
String diffsRepre = "";
for (BaseColumnFieldDiff diff : diffs) {
diffsRepre += getDiffRepre(diff);
}
return format("updatedFields(%s, %s)", diffsRepre, labelClass);
}
private String getDiffRepre(BaseColumnFieldDiff diff) {
boolean constraintValueType = diff.getFieldName().equals(FIELD_CONSTRAINT_VALUE_TYPE);
boolean WIParamValueOnly = diff instanceof WorkItemColumnParameterValueDiffImpl;
String paramName = WIParamValueOnly ? ((WorkItemColumnParameterValueDiffImpl) diff).getParameterName() : "";
return format("updatedField(%s, '%s', '%s')",
getDisplayableFieldValue(diff.getFieldName(), paramName, WIParamValueOnly), getNonNullValue(diff.getOldValue(), constraintValueType), getNonNullValue(diff.getValue(), constraintValueType));
}
private String getNonNullValue(Object diffValue, boolean constraintValueType) {
String value = "";
if (diffValue != null) {
if (constraintValueType) {
value = helper.getLiteralForCalculationType((Integer) diffValue);
} else {
value = diffValue.toString();
}
}
return value;
}
// this might be useful in the helper itself..?
private String getDisplayableFieldValue( String field, String optionalParameter, boolean WIParamValueOnly ) {
switch ( field ) {
case DTColumnConfig52.FIELD_HEADER: return GuidedDecisionTableConstants.INSTANCE.ColumnHeader();
case DTColumnConfig52.FIELD_HIDE_COLUMN : return GuidedDecisionTableConstants.INSTANCE.HideThisColumn();
case DTColumnConfig52.FIELD_DEFAULT_VALUE : return GuidedDecisionTableConstants.INSTANCE.DefaultValue();
case MetadataCol52.FIELD_METADATA : return GuidedDecisionTableConstants.INSTANCE.Metadata1();
case AttributeCol52.FIELD_REVERSE_ORDER : return GuidedDecisionTableConstants.INSTANCE.ReverseOrder();
case AttributeCol52.FIELD_USE_ROW_NUMBER : return GuidedDecisionTableConstants.INSTANCE.UseRowNumber();
case Pattern52.FIELD_ENTRY_POINT_NAME : return GuidedDecisionTableConstants.INSTANCE.DTLabelFromEntryPoint();
case ConditionCol52.FIELD_BINDING : return GuidedDecisionTableConstants.INSTANCE.Binding();
case ConditionCol52.FIELD_CONSTRAINT_VALUE_TYPE : return GuidedDecisionTableConstants.INSTANCE.CalculationType();
case ConditionCol52.FIELD_OPERATOR : return GuidedDecisionTableConstants.INSTANCE.Operator();
case ConditionCol52.FIELD_FIELD_TYPE :
case ActionSetFieldCol52.FIELD_TYPE : return GuidedDecisionTableConstants.INSTANCE.FieldType();
case ActionSetFieldCol52.FIELD_UPDATE : return GuidedDecisionTableConstants.INSTANCE.UpdateEngineWithChanges();
case ActionInsertFactCol52.FIELD_IS_INSERT_LOGICAL : return GuidedDecisionTableConstants.INSTANCE.LogicallyInsert();
case ActionWorkItemCol52.FIELD_WORKITEM_DEFINITION_NAME : return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemName();
case ActionWorkItemCol52.FIELD_WORKITEM_DEFINITION_PARAMETER_NAME : return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemParameterName();
case ActionWorkItemCol52.FIELD_WORKITEM_DEFINITION_PARAMETER_VALUE : {
if ( WIParamValueOnly ) {
return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemParameterValueOnly0( optionalParameter );
} else {
return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemParameterValue();
}
}
}
if ( Arrays.asList( Pattern52.FIELD_FACT_TYPE,
ActionInsertFactCol52.FIELD_FACT_TYPE ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.FactType();
}
if ( Arrays.asList( Pattern52.FIELD_BOUND_NAME,
ActionInsertFactCol52.FIELD_BOUND_NAME,
ActionSetFieldCol52.FIELD_BOUND_NAME ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.Binding();
}
if ( Arrays.asList( ConditionCol52.FIELD_FACT_FIELD,
ActionInsertFactCol52.FIELD_FACT_FIELD,
ActionSetFieldCol52.FIELD_FACT_FIELD ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.Field();
}
if ( Arrays.asList( ConditionCol52.FIELD_VALUE_LIST,
ActionInsertFactCol52.FIELD_VALUE_LIST,
ActionSetFieldCol52.FIELD_VALUE_LIST ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.ValueList();
}
if ( Arrays.asList( ActionWorkItemInsertFactCol52.FIELD_PARAMETER_CLASSNAME,
ActionWorkItemSetFieldCol52.FIELD_PARAMETER_CLASSNAME ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemParameterClassName();
}
if ( Arrays.asList( ActionWorkItemInsertFactCol52.FIELD_WORK_ITEM_NAME,
ActionWorkItemSetFieldCol52.FIELD_WORK_ITEM_NAME ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemName();
}
if ( Arrays.asList( ActionWorkItemInsertFactCol52.FIELD_WORK_ITEM_RESULT_PARAM_NAME,
ActionWorkItemSetFieldCol52.FIELD_WORK_ITEM_RESULT_PARAM_NAME ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.DecisionTableAuditLogWorkItemParameterName();
}
if ( Arrays.asList( LimitedEntryActionInsertFactCol52.FIELD_VALUE,
LimitedEntryActionSetFieldCol52.FIELD_VALUE,
LimitedEntryConditionCol52.FIELD_VALUE ).contains( field ) ) {
return GuidedDecisionTableConstants.INSTANCE.Value();
}
return "";
}
}