Browse Source

feat: add measure property

Arnaud Vergnet 2 years ago
parent
commit
361464c94f

+ 9
- 4
src/main/java/semantic/controler/DoItYourselfControl.java View File

@@ -18,9 +18,14 @@ public class DoItYourselfControl implements IControlFunctions {
18 18
 	@Override
19 19
 	public void instantiateObservations(List<ObservationEntity> obsList,
20 20
 																			String paramURI) {
21
-		obsList.forEach(observationEntity -> customModel.createObs(
22
-				observationEntity.getValue().toString(),
23
-				paramURI,
24
-				customModel.createInstant(observationEntity.getTimestamp())));
21
+		obsList.forEach(observationEntity -> {
22
+			String instant = customModel.createInstant(observationEntity.getTimestamp());
23
+//			System.out.println("Adding new observation: " + observationEntity.getValue().toString() + " " + paramURI + " " + instant);
24
+			customModel.createObs(
25
+					observationEntity.getValue().toString(),
26
+					paramURI,
27
+					instant
28
+					);
29
+		});
25 30
 	}
26 31
 }

+ 5
- 1
src/main/java/semantic/model/DoItYourselfModel.java View File

@@ -53,10 +53,14 @@ public class DoItYourselfModel implements IModelFunctions {
53 53
 		String obsInstanceURI = model.createInstance(instantURI + "_" + paramURI + "_" + value, obsClassURI);
54 54
 		String dataValueURI = model.getEntityURI("a pour valeur").get(0);
55 55
 		String datePropertyURI = model.getEntityURI("a pour date").get(0);
56
+		String measurePropertyURI = model.getEntityURI("mesure").get(0);
56 57
 		String sensorURI = model.whichSensorDidIt(getInstantTimestamp(instantURI), paramURI);
58
+		model.addObjectPropertyToIndividual(obsInstanceURI, measurePropertyURI, paramURI);
57 59
 		model.addDataPropertyToIndividual(obsInstanceURI, dataValueURI, value);
58 60
 		model.addObjectPropertyToIndividual(obsInstanceURI, datePropertyURI, instantURI);
59
-		model.addObservationToSensor(obsInstanceURI, sensorURI);
61
+		if (sensorURI != null) {
62
+			model.addObservationToSensor(obsInstanceURI, sensorURI);
63
+		}
60 64
 		return obsInstanceURI;
61 65
 	}
62 66
 }

+ 2
- 0
src/test/java/semantic/TestModelFunctions.java View File

@@ -57,10 +57,12 @@ public class TestModelFunctions {
57 57
 		String obsClassURI = c.getModel().getEntityURI("Observation").get(0);
58 58
 		String hasDataValueURI = c.getModel().getEntityURI("a pour valeur").get(0);
59 59
 		String datePropertyURI = c.getModel().getEntityURI("a pour date").get(0);
60
+		String measurePropertyURI = c.getModel().getEntityURI("mesure").get(0);
60 61
 		String sensorURI = c.getModel().whichSensorDidIt("2014-02-13T06:20:00", paramURI);
61 62
 		Assert.assertTrue("L'observation n'est pas une instance de la bonne classe", c.getModel().isOfType(obsURI, obsClassURI));
62 63
 		Assert.assertTrue("L'observation n'a pas la bonne valeur", c.getModel().hasDataPropertyValue(obsURI, hasDataValueURI, value));
63 64
 		Assert.assertTrue("L'observation n'a pas la bonne date", c.getModel().hasObjectProperty(obsURI, datePropertyURI, instantURI));
65
+		Assert.assertTrue("L'observation n'est pas rattachée au bon paramètre", c.getModel().hasObjectProperty(obsURI, measurePropertyURI, paramURI));
64 66
 		Assert.assertTrue("L'observation n'est pas rattachée au bon capteur", c.getModel().hasSensorDoneIt(obsURI, sensorURI));
65 67
 	}
66 68
 }

Loading…
Cancel
Save