Merge branch 'main' into features
This commit is contained in:
		| @@ -1,9 +1,5 @@ | ||||
| package ch.hevs.isi.core; | ||||
|  | ||||
| import ch.hevs.isi.db.DatabaseConnector; | ||||
| import ch.hevs.isi.field.FieldConnector; | ||||
| import ch.hevs.isi.web.WebConnector; | ||||
|  | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| @@ -22,16 +18,15 @@ public abstract class DataPoint{ | ||||
|         } else { | ||||
|             dataPointMap.replace(this.label, this); | ||||
|         } | ||||
|         DatabaseConnector.getMySelf().onNewValue(this); | ||||
|         WebConnector.getMySelf().onNewValue(this); | ||||
|         FieldConnector.getMySelf().onNewValue(this); | ||||
|  | ||||
|         // Update every connector | ||||
|         DataPointListener.listeners.forEach(listener -> listener.onNewValue(this)); | ||||
|     } | ||||
|     public static DataPoint getDataPointFromLabel(String label){ | ||||
|         if( !dataPointMap.containsKey(label) ){ | ||||
|             return null; | ||||
|         } else { | ||||
|             DataPoint dp = dataPointMap.get(label); | ||||
|             return dp; | ||||
|             return dataPointMap.get(label); | ||||
|         } | ||||
|  | ||||
|     } | ||||
|   | ||||
| @@ -1,6 +1,20 @@ | ||||
| package ch.hevs.isi.core; | ||||
|  | ||||
| import java.util.Vector; | ||||
|  | ||||
| public interface DataPointListener { | ||||
|  | ||||
|     // Vector of listeners | ||||
|     Vector<DataPointListener> listeners = new Vector<>(); | ||||
|  | ||||
|     void onNewValue(DataPoint dp); | ||||
|  | ||||
|     /** | ||||
|      * Subscribe to the update of the DataPoint | ||||
|      * @param listener the listener to subscribe | ||||
|      */ | ||||
|     static void subscribeUpdate(DataPointListener listener){ | ||||
|         // Call by final class for subscribe update | ||||
|         listeners.add(listener); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -19,12 +19,12 @@ import java.util.Properties; | ||||
|  | ||||
|  | ||||
| public class DatabaseConnector implements DataPointListener { | ||||
|     private Properties properties = new Properties();           // Properties of the config.properties file | ||||
|     private final Properties properties = new Properties();           // Properties of the config.properties file | ||||
|     private String fullURL = null;                              // Full URL of the InfluxDB server | ||||
|     private URL urlForWrite = null;                             // URL of the InfluxDB server | ||||
|     private HttpURLConnection con = null;                       // Connection to the InfluxDB server | ||||
|     private boolean initialized = false;                        // Boolean to know if the database connector is initialized | ||||
|     private TimeManager _timeManager = new TimeManager(3); // Time manager to manage the time of the data points | ||||
|     private final TimeManager _timeManager = new TimeManager(3); // Time manager to manage the time of the data points | ||||
|     private long _timestamp = 0;                                // Timestamp of the data points | ||||
|     String default_token = System.getenv("SECRET_TOKEN"); // Token to access the InfluxDB server | ||||
|     public static String url = null;                            // URL of the InfluxDB server | ||||
| @@ -56,6 +56,9 @@ public class DatabaseConnector implements DataPointListener { | ||||
|         if (bucket == null){ | ||||
|             bucket = properties.getProperty("BUCKET"); | ||||
|         } | ||||
|  | ||||
|         // Subscribe to the update of DataPoints | ||||
|         DataPointListener.subscribeUpdate(this); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -129,7 +132,7 @@ public class DatabaseConnector implements DataPointListener { | ||||
|      */ | ||||
|     private void pushToDatabase(DataPoint dp) { | ||||
|         // Initialize the database connector if not already done | ||||
|         if(initialized == false){ | ||||
|         if(!initialized){ | ||||
|             initialize(null); | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -2,7 +2,6 @@ package ch.hevs.isi.field; | ||||
|  | ||||
| import ch.hevs.isi.core.DataPoint; | ||||
| import ch.hevs.isi.core.DataPointListener; | ||||
| import ch.hevs.isi.core.FloatDataPoint; | ||||
|  | ||||
| import java.io.BufferedReader; | ||||
| import java.io.FileNotFoundException; | ||||
| @@ -13,7 +12,12 @@ import java.util.Timer; | ||||
| public class FieldConnector implements DataPointListener { | ||||
|     private static FieldConnector mySelf = null; | ||||
|     private FieldConnector(){ | ||||
|  | ||||
|         initialize("LocalHost",1502, "C:/Nils/Hesso/4_Semester/SIN/Minecraft_Electrical_Age_Project/ModbusMap.csv"); | ||||
|  | ||||
|         // Subscribe to the update of DataPoints | ||||
|         DataPointListener.subscribeUpdate(this); | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -15,6 +15,8 @@ public class WebConnector implements DataPointListener { | ||||
|  | ||||
|     private WebConnector (){ | ||||
|  | ||||
|         // Subscribe to the update of DataPoints | ||||
|         DataPointListener.subscribeUpdate(this); | ||||
|     } | ||||
|  | ||||
|     public static WebConnector  getMySelf(){ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user