/*
* 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;
}
}