|
1 | 1 | package de.dhbw.ravensburg.verteiltesysteme.server.persistence; |
2 | 2 |
|
3 | | -import de.dhbw.ravensburg.verteiltesysteme.server.persistence.exception.DatabaseSamplingMessageAlreadyExistsException; |
4 | | -import de.dhbw.ravensburg.verteiltesysteme.server.persistence.exception.DatabaseSamplingMessageNotFoundException; |
5 | 3 | import de.dhbw.ravensburg.verteiltesysteme.server.persistence.model.DatabaseSamplingMessage; |
6 | 4 | import lombok.NonNull; |
7 | 5 | import lombok.extern.slf4j.Slf4j; |
8 | 6 |
|
9 | 7 | import java.time.Instant; |
| 8 | +import java.util.Optional; |
10 | 9 |
|
11 | 10 | @Slf4j |
12 | 11 | public class DatabaseAccessObjectImpl implements DatabaseAccessObject { |
13 | 12 | private final FakePersistence<String, DatabaseSamplingMessage> fakePersistence; |
14 | 13 |
|
15 | 14 | public DatabaseAccessObjectImpl(final @NonNull FakePersistence<String, DatabaseSamplingMessage> fakePersistence) { |
| 15 | + log.debug("Constructing DatabaseAccessObjectImpl"); |
16 | 16 | this.fakePersistence = fakePersistence; |
17 | 17 | } |
18 | 18 |
|
19 | 19 | @Override |
20 | | - public DatabaseSamplingMessage getSamplingMessage(@NonNull final String messageName) throws DatabaseSamplingMessageNotFoundException { |
| 20 | + public Optional<DatabaseSamplingMessage> getSamplingMessage(@NonNull final String messageName) { |
21 | 21 | final DatabaseSamplingMessage databaseSamplingMessage = fakePersistence.get(messageName); |
22 | 22 | if (databaseSamplingMessage == null) { |
23 | | - throw new DatabaseSamplingMessageNotFoundException(String.format("DatabaseSamplingMessage with the messageName: %s not found.", messageName)); |
| 23 | + log.info(String.format("DatabaseSamplingMessage with the messageName: %s not found.", messageName)); |
24 | 24 | } |
25 | | - return databaseSamplingMessage; |
| 25 | + return Optional.of(databaseSamplingMessage); |
26 | 26 | } |
27 | 27 |
|
28 | 28 | @Override |
29 | | - public void createSamplingMessage(@NonNull final String messageName, @NonNull final DatabaseSamplingMessage databaseSamplingMessage) throws DatabaseSamplingMessageAlreadyExistsException { |
30 | | - if (fakePersistence.putIfAbsent(messageName, databaseSamplingMessage) != null) { |
31 | | - throw new DatabaseSamplingMessageAlreadyExistsException(String.format("DatabaseSamplingMessage with the messageName: %s already exists.", messageName)); |
| 29 | + public boolean createSamplingMessage(@NonNull final String messageName, @NonNull final DatabaseSamplingMessage databaseSamplingMessage) { |
| 30 | + if (fakePersistence.putIfAbsent(messageName, databaseSamplingMessage) == null) { |
| 31 | + return true; |
32 | 32 | } |
| 33 | + log.info(String.format("DatabaseSamplingMessage with the messageName: %s already exists.", messageName)); |
| 34 | + return false; |
33 | 35 | } |
34 | 36 |
|
35 | | - public void writeSamplingMessageContentAndTimestamp(@NonNull final String messageName, @NonNull final String messageContent, @NonNull final Instant updateTimestamp) throws DatabaseSamplingMessageNotFoundException { |
36 | | - if (fakePersistence.computeIfPresent(messageName, (key, value) -> value.setMessageContent(messageContent).setMessageUpdateTimestamp(updateTimestamp)) == null) { |
37 | | - throw new DatabaseSamplingMessageNotFoundException(String.format("DatabaseSamplingMessage with the messageName: %s not found.", messageName)); |
| 37 | + public boolean writeSamplingMessageContentAndTimestamp(@NonNull final String messageName, @NonNull final String messageContent, @NonNull final Instant updateTimestamp) { |
| 38 | + if (fakePersistence.computeIfPresent(messageName, (key, value) -> value.setMessageContent(messageContent).setMessageUpdateTimestamp(updateTimestamp)) != null) { |
| 39 | + return true; |
38 | 40 | } |
39 | | - log.info(fakePersistence.get(messageName).toString()); |
| 41 | + log.info(String.format("DatabaseSamplingMessage with the messageName: %s not found.", messageName)); |
| 42 | + return false; |
40 | 43 | } |
41 | 44 |
|
42 | 45 | @Override |
43 | | - public void deleteSamplingMessage(@NonNull final String messageName) throws DatabaseSamplingMessageNotFoundException { |
44 | | - if (fakePersistence.remove(messageName) == null) { |
45 | | - throw new DatabaseSamplingMessageNotFoundException(String.format("DatabaseSamplingMessage with the messageName: %s not found.", messageName)); |
| 46 | + public boolean deleteSamplingMessage(@NonNull final String messageName) { |
| 47 | + if (fakePersistence.remove(messageName) != null) { |
| 48 | + return true; |
46 | 49 | } |
| 50 | + log.info(String.format("DatabaseSamplingMessage with the messageName: %s not found.", messageName)); |
| 51 | + return false; |
47 | 52 | } |
48 | 53 |
|
49 | 54 | @Override |
|
0 commit comments