[Bprocessor-commit] model/src/net/sourceforge/bprocessor/model Project.java, 1.181, 1.182
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2009-09-14 16:23:04
|
Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv20821/src/net/sourceforge/bprocessor/model Modified Files: Project.java Log Message: Brunata Index: Project.java =================================================================== RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Project.java,v retrieving revision 1.181 retrieving revision 1.182 diff -C2 -d -r1.181 -r1.182 *** Project.java 28 Aug 2009 12:58:46 -0000 1.181 --- Project.java 14 Sep 2009 16:22:55 -0000 1.182 *************** *** 22,27 **** --- 22,29 ---- import java.net.Socket; import java.net.SocketAddress; + import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Collection; + import java.util.Date; import java.util.HashMap; import java.util.HashSet; *************** *** 47,50 **** --- 49,53 ---- import net.sourceforge.bprocessor.model.modellor.Modellor; import net.sourceforge.bprocessor.model.modellor.TileModellor; + import net.sourceforge.bprocessor.model.sense.SensorItem; import net.sourceforge.bprocessor.model.xml.Bmodel; *************** *** 81,84 **** --- 84,90 ---- private Tesselator tesselator; + private List<SensorItem> measures; + private int index; + /** The observers */ private List<Observer> observers; *************** *** 163,166 **** --- 169,290 ---- private List<Component> catalog; + + + /** + * + * @param data data + */ + public void setMeasures(List<SensorItem> data) { + measures = data; + index = 0; + } + + + private Space findIn(Item item, String name) { + if (item instanceof Space) { + Space space = (Space) item; + if (space.getName().equals(name)) { + return space; + } else { + for (Item current : space.getElements()) { + Space result = findIn(current, name); + if (result != null) { + return result; + } + } + } + } + return null; + } + + /** + * + * @param name String + * @return space + */ + public Space find(String name) { + return findIn(world, name); + } + + /** + * + * @param name name + * @return material + */ + public Material findMaterial(String name) { + for (Material current : getMaterials()) { + if (current.getName().equals(name)) { + return current; + } + } + return null; + } + + /** + * + */ + public void updateSensorData() { + if (measures != null) { + if (index < measures.size()) { + SensorItem data = measures.get(index); + if (data != null) { + String name = "Sensor - " + data.id(); + Space sensor = find(name); + if (sensor != null) { + DecimalFormat format = new DecimalFormat("0.000"); + String t = format.format(data.temperature()); + String h = format.format(data.humimdity()); + + String info = "Temperatur: " + t + " C\n" + "Relativ luftfugtighed: " + h + "ä\n"; + sensor.setDescription(info); + + if (data.temperature() < 18 && data.humimdity() > 70) { + sensor.setMaterial(findMaterial("Red")); + } else { + sensor.setMaterial(findMaterial("Green")); + } + changed(sensor); + } + } + } + } + } + + /** + * + */ + public void forward() { + if (measures != null) { + if ((index + 1) < measures.size()) { + index++; + updateSensorData(); + } + } + } + + /** + * + */ + public void backward() { + if (measures != null) { + if (index > 0) { + index--; + updateSensorData(); + } + } + } + + /** + * + * @return date + */ + public Date getDate() { + if (measures != null) { + SensorItem item = measures.get(index); + return item.date(); + } + return null; + } + /** * |