Skip to content

Commit

Permalink
Merge pull request #123 from starwit/bugfix/ab#1292-Correct-fill-demo…
Browse files Browse the repository at this point in the history
…-data-shell-script

bugfix: fill demo data
  • Loading branch information
witchpou authored Nov 29, 2024
2 parents 6fa3467 + afd5495 commit ac43cec
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 4 deletions.
1 change: 1 addition & 0 deletions experiment-setup/fillDatabaseScript.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ function main {
echo "Param for interval exists " $3
INTERVAL=$3
fi
send_json
}

send_json() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ public void addToAction(ActionEntity action) {
this.action = new HashSet<>();
}
this.action.add(action);
this.action.forEach(a -> a.setDecision(this));
}

}
13 changes: 11 additions & 2 deletions service/src/main/java/de/starwit/service/impl/DecisionService.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import de.starwit.persistence.entity.DecisionState;
import de.starwit.persistence.entity.ActionEntity;
import de.starwit.persistence.entity.ActionTypeEntity;
import de.starwit.persistence.entity.DecisionEntity;
import de.starwit.persistence.entity.DecisionState;
import de.starwit.persistence.entity.DecisionTypeEntity;
import de.starwit.persistence.repository.ActionTypeRepository;
import de.starwit.persistence.repository.DecisionRepository;
Expand All @@ -31,6 +31,7 @@
import io.minio.errors.InvalidResponseException;
import io.minio.errors.ServerException;
import io.minio.errors.XmlParserException;
import jakarta.persistence.EntityManager;

/**
*
Expand All @@ -52,6 +53,8 @@ public class DecisionService implements ServiceInterface<DecisionEntity, Decisio
@Value("${minio.endpoint:http://localhost:9000}")
private String endpoint;

private final EntityManager entityManager;

@Autowired
private DecisionRepository decisionRepository;

Expand All @@ -66,6 +69,10 @@ public DecisionRepository getRepository() {
return decisionRepository;
}

public DecisionService(EntityManager entityManager) {
this.entityManager = entityManager;
}

public DecisionEntity createNewDecisionBasedOnIncidentMessage(IncidentMessage decisionMessage) {
DecisionEntity entity = new DecisionEntity();
entity.setMediaUrl(decisionMessage.getMediaUrl());
Expand All @@ -92,7 +99,9 @@ public DecisionEntity createDecisionEntitywithAction(DecisionEntity entity) {
}
}
}
return saveOrUpdate(entity);
entity = saveOrUpdate(entity);
entityManager.detach(entity);
return entity;
}

public byte[] getFileFromMinio(String bucketName, String objectName)
Expand Down
35 changes: 33 additions & 2 deletions service/src/test/java/de/starwit/service/DecisionServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,17 @@ void testCreateTypes() {
actionType.setExecutionPolicy(ExecutionPolicies.AUTOMATIC);
actionType = actionTypeRepository.save(actionType);

ActionTypeEntity actionType2 = new ActionTypeEntity();
actionType2.setDescription("Notify police");
actionType2.setName("notify police");
actionType2.setExecutionPolicy(ExecutionPolicies.WITHCHECK);
actionType2 = actionTypeRepository.save(actionType2);

Set<ActionTypeEntity> actionTypes = new HashSet<>();
defaultDecisionType.setActionType(actionTypes);
actionTypes.add(actionType);
actionTypes.add(actionType2);
defaultDecisionType = decisionTypeService.saveOrUpdate(defaultDecisionType);

}

@Test
Expand All @@ -85,7 +91,32 @@ void testCreateNewDecisionWithActionsMessage() {
.atZone(ZoneId.systemDefault());
assertTrue(expectedDateTime.isEqual(result.getAcquisitionTime()));
assertEquals(expectedDateTime, result.getAcquisitionTime());
assertEquals(1, result.getAction().size());
assertEquals(2, result.getAction().size());
ActionEntity action = result.getAction().iterator().next();
assertTrue(expectedDateTime.isEqual(action.getCreationTime()));
}

@Test
@Commit
@Order(3)
void testCreateNewDecisionWithActions() {

// prepare
long timestamp = 1633046400000L;
DecisionEntity decision = new DecisionEntity();
ZonedDateTime expectedDateTime = Instant.ofEpochMilli(timestamp)
.atZone(ZoneId.systemDefault());
decision.setMediaUrl("http://testurl.com/media");
decision.setAcquisitionTime(expectedDateTime);
decision.setDecisionType(decisionTypeService.findAll().iterator().next());

// Call Methode
DecisionEntity result = decisionService
.createDecisionEntitywithAction(decision);

// Assert
assertEquals("http://testurl.com/media", result.getMediaUrl());
assertEquals(2, result.getAction().size());
ActionEntity action = result.getAction().iterator().next();
assertTrue(expectedDateTime.isEqual(action.getCreationTime()));
}
Expand Down

0 comments on commit ac43cec

Please sign in to comment.