You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
23. april - <strong>2012</strong> Robert Nogal<br />
24. maj - <strong>2012</strong> <strong>Carletti</strong> Projekt <strong>2012</strong> Emil Thygesen<br />
Mads Pedersen<br />
Så hvad er det lige der er blevet gjort for at systemet er kommet til at kunne automatisk opdatere systemet i<br />
real-time men samtidig at opdatere lidt oftere når systemet bliver testet?<br />
Det første problem der skulle overvindes var at lave en tråd som konstant kører, sideløbende med hovedsystemet.<br />
Så derfor var det nødvendigt at implementere en klasse til lige præcis dette formål, nemlig<br />
TimeThread-klassen.<br />
public class TimeThread extends Thread {<br />
…<br />
private final int DELAY = 10000;<br />
private final boolean TEST = true;<br />
…<br />
}<br />
Denne klasse extender som en selvfølge Thread superklassen for at det er muligt at kører den som en tråd<br />
sideløbende med resten. For at håndtere både hvor ofte tråden skal tjekke for om der er gået en ny dag<br />
(real-time) eller inkrementere test-systemets dato med en (test), samt håndtere om den skal gøre det ene<br />
eller andet er der i klassen blevet deffineret to konstanter. Nemlig DELAY som håndtere hvor ofte den skal<br />
gøre noget samt TEST som håndtere om det er det ene eller andet mode systemet skal kører efter.<br />
public class TimeThread extends Thread {<br />
…<br />
public void run() {<br />
Date date;<br />
try {<br />
if (TEST) {<br />
while (true) {<br />
Thread.sleep(DELAY);<br />
date = DateUtil.createDate(dato.getDato(), 1);<br />
dato.setDato(date);<br />
service.checkVareStatus();<br />
}<br />
} else {<br />
while (true) {<br />
Thread.sleep(DELAY);<br />
date = new Date();<br />
if (DateUtil.daysDiff(date, dato.getDato()) != 0) {<br />
dato.setDato(date);<br />
service.checkVareStatus();<br />
}<br />
}<br />
}<br />
} catch (InterruptedException e) {<br />
}<br />
}<br />
…<br />
}<br />
Så er det basale på plads, så er der faktisk kun en interessant metode tilbage, nemlig run-metoden. Denne<br />
metode bliver brugt når tråden, som noget af det første i programmet, bliver initialiceret hvilket gør at det<br />
der er deffineret i denne metode skal danne rammer for hele systemets levetid. For at håndtere det at<br />
Side 50 af 75