1 37 package net.sourceforge.cruisecontrol; 38 39 import java.util.Date ; 40 41 44 public class MockProject extends Project { 45 46 private int buildCount = 0; 47 private Date lastBuild; 48 private static final long ONE_SECOND = 1000; 49 private boolean keepLooping = false; 50 private int loopCount = 0; 51 private ProjectState mockState; 52 53 public ProjectState getState() { 54 if (mockState == null) { 55 return super.getState(); 56 } 57 58 return mockState; 59 } 60 61 void setMockState(ProjectState newState) { 62 mockState = newState; 63 } 64 65 public void execute() { 66 buildCount++; 67 lastBuild = new Date (); 68 try { 69 Thread.sleep(ONE_SECOND); 70 } catch (InterruptedException e) { 71 String message = "MockProject.execute() interrupted"; 72 System.out.println(message); 73 throw new RuntimeException (message); 74 } 75 } 76 77 public int getBuildCount() { 78 return buildCount; 79 } 80 81 public Date getLastBuildDate() { 82 return lastBuild; 83 } 84 85 void loop() { 86 loopCount = 0; 87 keepLooping = true; 88 while (keepLooping) { 89 loopCount++; 90 try { 91 checkWait(); 92 Thread.sleep(50); 93 } catch (InterruptedException e) { 94 String message = "MockProject.loop() interrupted"; 95 throw new RuntimeException (message); 96 } 97 } 98 } 99 100 void checkWait() throws InterruptedException { 101 } 102 103 void stopLooping() { 104 keepLooping = false; 105 } 106 107 int getLoopCount() { 108 return loopCount; 109 } 110 111 116 protected void checkLogDirectory() throws CruiseControlException { 117 } 118 119 } | Popular Tags |