AddBugToFixListAction.java
01 /*
02  * Created on Aug 29, 2007
03  */
04 package com.x8ing.mc.bp.develop;
05 
06 import java.util.Iterator;
07 import java.util.List;
08 
09 import com.x8ing.lsm4j.Condition;
10 import com.x8ing.lsm4j.state.ProcessableState;
11 import com.x8ing.mc.bp.AbstractBusinessAction;
12 import com.x8ing.mc.bp.BalanceAccount;
13 import com.x8ing.mc.bp.Bug;
14 import com.x8ing.mc.bp.BusinessContext;
15 
16 /**
17  @author Patrick Heusser
18  */
19 public class AddBugToFixListAction extends AbstractBusinessAction {
20 
21   /**
22    @see com.x8ing.mc.bp.AbstractBusinessAction#execute(com.x8ing.lsm4j.state.ProcessableState,
23    *      com.x8ing.mc.bp.BusinessContext, com.x8ing.lsm4j.Condition, java.util.List)
24    */
25   public void execute(ProcessableState currentState, BusinessContext businessContext, Condition previousCondition,
26       List lastVisitedStatesHistory) {
27 
28     // our work finished
29     businessContext.setDevelopProcessBusy(false);
30 
31     for (Iterator bugIt = businessContext.getBugs().getBugsWithStateNew().iterator(); bugIt.hasNext();) {
32 
33       Bug bug = (BugbugIt.next();
34       bug.setBugState(Bug.BugState.STATE_BUG_FIX_LATER);
35 
36       addBalanceSheetTransaction("cost for add bug (id=" + bug.getBugID() ") to fix later list.", -businessContext
37           .getConfiguration().getCostActionAddBugToFixList(), BalanceAccount.DEVELOP);
38 
39       addLogBookEntry("Added bug (id=" + bug.getBugID()
40           ") to fix-later-list. It was not worth to fix it immediately. Current sum of bug caused loss:"
41           + businessContext.calculateTotalProcessLossOfAllBugsNotDeployedYet());
42 
43     }
44 
45   }
46 
47   protected void lazyInit() {
48     // empty
49 
50   }
51 }