package won.bot.impl; import won.bot.framework.eventbot.listener.baStateBots.BATestBotScript; import won.bot.framework.eventbot.listener.baStateBots.baPCMessagingBots.coordinationMessageAsTextBots.*; import won.bot.framework.eventbot.listener.baStateBots.baPCMessagingBots.coordinationMessageAsUriBots.*; import won.protocol.model.FacetType; import java.util.ArrayList; import java.util.List; /** * Created with IntelliJ IDEA. * User: Danijel * Date: 12.2.14. * Time: 20.45 * To change this template use File | Settings | File Templates. */ public class BAPCBot extends BABaseBot { @Override protected FacetType getParticipantFacetType() { return FacetType.BAPCParticipantFacet; } @Override protected FacetType getCoordinatorFacetType() { return FacetType.BAPCCoordinatorFacet; } @Override protected List<BATestBotScript> getScripts() { //add a listener that auto-responds to messages by a message //after NO_OF_MESSAGES messages, it unsubscribes from all events //subscribe it to: // * message events - so it responds // * open events - so it initiates the chain reaction of responses List<BATestBotScript> scripts = new ArrayList<BATestBotScript>(18); //Coordination message is sent as TEXT scripts.add(new BAPCStateExitBot()); scripts.add(new BAPCStateCompleteBot()); scripts.add(new BAPCStateCompensateBot()); scripts.add(new BAPCStateCompensateFailBot()); scripts.add(new BAPCStateActiveFailBot()); scripts.add(new BAPCStateActiveCancelBot()); scripts.add(new BAPCStateActiveCancelFailBot()); scripts.add(new BAPCStateActiveCannotCompleteBot()); //Coordination message is sent as MODEL scripts.add(new BAPCStateExitUriBot()); scripts.add(new BAPCStateCompleteUriBot()); scripts.add(new BAPCStateCompensateUriBot()); scripts.add(new BAPCStateCompensateFailUriBot()); scripts.add(new BAPCStateActiveFailUriBot()); scripts.add(new BAPCStateActiveCancelUriBot()); scripts.add(new BAPCStateActiveCancelFailUriBot()); scripts.add(new BAPCStateActiveCannotCompleteUriBot()); //with failures // scripts.add(new BAPCStateCompleteWithFailureUriBot()); // scripts.add(new BAPCStateCompleteWithFailureBot()); return scripts; } }