/* * ACEBadConditionsImpl * * 07/07/2003 * * COPYRIGHT: * LICENSED MATERIALS - PROPERTY OF IBM * "RESTRICTED MATERIALS OF IBM" * 5724-AEF * (C) COPYRIGHT IBM CORP. 2003 * * %W% %E% */ package com.ibm.retail.AEF.util; import com.ibm.retail.AEF.automation.AndCondition; import com.ibm.retail.AEF.automation.AndThenCondition; import com.ibm.retail.AEF.automation.Condition; import com.ibm.retail.AEF.automation.OrCondition; import com.ibm.retail.AEF.automation.PropertyEqualsCondition; import com.ibm.retail.AEF.automation.PropertyNotEqualsCondition; import com.ibm.retail.AEF.automation.State; import com.ibm.retail.AEF.automation.Substate; import com.ibm.retail.AEF.data.POSDeviceProperties; /** * This class contains the conditions which are considered errors for ACE * */ public class ACEBadConditionsImpl extends BadConditionsImpl { static String copyright() { return com.ibm.retail.si.Copyright.IBM_COPYRIGHT_SHORT; } /** * Constructor. * */ public ACEBadConditionsImpl() { super(); } /** * Returns a general set of error conditions that are good for general use. These * conditions should be OR'd together. * * @return array of error conditions suitable for use in a performActionAndWait() */ public Condition[] getBadConditions() { Condition andThenConditions[] = { new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_STATE, State.getState("CLEAR")), new PropertyNotEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.ANPROMPT_LINE1, " "), // Blank line }; Condition dataRequiredConditions[] = { new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_DATE_OF_BIRTH")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_PRICE")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_VOID_REASON_CODE")) }; Condition andThenConditions2[] = { new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_STATE, State.getState("ENTER_DATA")), new OrCondition(dataRequiredConditions), }; Condition badConditions[] = { new AndThenCondition(andThenConditions), new AndThenCondition(andThenConditions2), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("CLOSE_CASH_DRAWER")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("INSERT_DOCUMENT_TO_BE_FRANKED")), }; return badConditions; } /** * Returns a set of error conditions optimized for EPS use. These conditions should * be OR'd together. * * @return array of error conditions suitable for use in a performActionAndWait() * during a tendering sequence. */ public Condition[] getExtendedBadConditions() { Condition andThenConditions1[] = { new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_STATE, State.getState("CLEAR")), new PropertyNotEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.ANPROMPT_LINE1, " "), // Blank line }; Condition dataRequiredConditions[] = { new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_EXPIRATION_DATE")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_AUTHORIZATION_CODE")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_VOUCHER_NUMBER")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("EXPECTING_CARD_VALIDATION_NUMBER")) }; Condition andThenConditions2[] = { new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_STATE, State.getState("ENTER_DATA")), new OrCondition(dataRequiredConditions), }; Condition badConditions[] = { new AndThenCondition(andThenConditions1), new AndThenCondition(andThenConditions2), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("CLOSE_CASH_DRAWER")), new PropertyEqualsCondition(POSDeviceProperties.CATEGORY, POSDeviceProperties.POS_SUB_STATE, Substate.getSubstate("INSERT_DOCUMENT_TO_BE_FRANKED")) }; return badConditions; } }