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;
+ }
+
/**
*
|