[Bprocessor-commit] sensobyg/src/net/sourceforge/bprocessor/sensobyg MoldEntry.java, NONE, 1.1 Hist
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2010-12-16 10:17:59
|
Update of /cvsroot/bprocessor/sensobyg/src/net/sourceforge/bprocessor/sensobyg In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv4589/src/net/sourceforge/bprocessor/sensobyg Added Files: MoldEntry.java History.java Producer.java Measurement.java Consumer.java Target.java Sensor.java Provider.java MoldTable.java Log Message: --- NEW FILE: Producer.java --- package net.sourceforge.bprocessor.sensobyg; import java.util.LinkedList; import java.util.List; public class Producer { private List<Consumer> consumers; public Producer() { consumers = new LinkedList<Consumer>(); } public void add(Consumer consumer) { consumers.add(consumer); } public void remove(Consumer consumer) { consumers.remove(consumer); } public void consume(Object value) { for (Consumer current : consumers) { current.consume(value); } } } --- NEW FILE: Measurement.java --- package net.sourceforge.bprocessor.sensobyg; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class Measurement { private long time; private String value; public Measurement() { } public Measurement(long time, String value) { this.time = time; this.value = value; } public void setTime(long value) { time = value; } public long getTime() { return time; } public void setValue(String string) { value = string; } public String getValue() { return value; } public String toString() { DateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); String str = format.format(new Date(time)); return "(" + str + " | " + value + ")"; } } --- NEW FILE: MoldEntry.java --- package net.sourceforge.bprocessor.sensobyg; public class MoldEntry { public double temperature; public double humidity; public MoldEntry(double t, double h) { temperature = t; humidity = h; } } --- NEW FILE: History.java --- package net.sourceforge.bprocessor.sensobyg; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; public abstract class History { public abstract List<Measurement> fetch(Target target, Sensor sensor, Date from); public abstract List<Measurement> fetch(Target target, Sensor sensor, Date from, Date to); public Map<Sensor, List<Measurement>> fetch(Target target, Date from) { Map<Sensor, List<Measurement>> result = new HashMap<Sensor, List<Measurement>>(); for (Sensor current : target.getSensors()) { result.put(current, fetch(target, current, from)); } return result; } public Map<Sensor, List<Measurement>> fetch(Target target, Date from, Date to) { Map<Sensor, List<Measurement>> result = new HashMap<Sensor, List<Measurement>>(); for (Sensor current : target.getSensors()) { result.put(current, fetch(target, current, from, to)); } return result; } } --- NEW FILE: Sensor.java --- package net.sourceforge.bprocessor.sensobyg; public class Sensor { private String id; private String type; public Sensor() { } public Sensor(String id, String type) { this.id = id; this.type = type; } public void setId(String value) { id = value; } public String getId() { return id; } public void setType(String value) { type = value; } public String getType() { return type; } } --- NEW FILE: Target.java --- package net.sourceforge.bprocessor.sensobyg; import java.util.LinkedList; import java.util.List; public class Target { private String id; List<Sensor> sensors; double temperature; double humidity; public double average; public double limit; public boolean temperatureAlarm; public boolean humidityAlarm; public boolean skimmelAlarm; public List<Measurement> temperatures; public List<Measurement> humidities; public Target() { } public Target(String id) { this.id = id; sensors = new LinkedList<Sensor>(); temperatures = new LinkedList<Measurement>(); humidities = new LinkedList<Measurement>(); temperature = 20; humidity = 50; } public void setId(String value) { id = value; } public String getId() { return id; } public void setSensors(List<Sensor> value) { sensors = value; } public List<Sensor> getSensors() { return sensors; } public void newTemperature(Measurement value) { temperatures.add(value); temperature = Double.valueOf(value.getValue()); } public void newHumidity(Measurement value) { humidities.add(value); humidity = Double.valueOf(value.getValue()); } public double getTemperature() { return temperature; } public double getHumidity() { return humidity; } public List<Measurement> getTemperatures() { return temperatures; } public List<Measurement> getHumdiities() { return humidities; } public void check() { System.out.println("check target"); double temperatureThreshold = 25.0; double humidityThreshold = 50.0; if (temperature > temperatureThreshold) { System.out.println("temperature alarm"); temperatureAlarm = true; } if (humidity > humidityThreshold) { humidityAlarm = true; } } public Sensor find(String string) { for (Sensor current : sensors) { if (current.getType().equals(string)) { return current; } } return null; } } --- NEW FILE: MoldTable.java --- package net.sourceforge.bprocessor.sensobyg; import java.io.BufferedReader; import java.io.FileReader; import java.util.LinkedList; import java.util.List; public class MoldTable { public List<MoldEntry> entries; public MoldTable(String name) { entries = new LinkedList<MoldEntry>(); try { BufferedReader reader = new BufferedReader(new FileReader(name)); String line = reader.readLine(); while (line != null) { String[] s = line.split(";"); double t = Double.valueOf(s[0]); double h = Double.valueOf(s[1]); entries.add(new MoldEntry(t, h)); line = reader.readLine(); } } catch(Exception error) { } } public double get(double t) { MoldEntry previous = null; for (MoldEntry current : entries) { if (previous != null) { if (t > previous.temperature && t <= current.temperature) { return previous.humidity; } } previous = current; } return 100.0; } } --- NEW FILE: Provider.java --- package net.sourceforge.bprocessor.sensobyg; public class Provider { } --- NEW FILE: Consumer.java --- package net.sourceforge.bprocessor.sensobyg; public abstract class Consumer { public abstract void consume(Object value); } |