summaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/EventWriter.cpp9
-rw-r--r--src/server/events/Delta.cpp12
2 files changed, 5 insertions, 16 deletions
diff --git a/src/server/EventWriter.cpp b/src/server/EventWriter.cpp
index 1f225d6e..9732f04c 100644
--- a/src/server/EventWriter.cpp
+++ b/src/server/EventWriter.cpp
@@ -126,15 +126,10 @@ EventWriter::set_property(const Raul::URI& uri,
const Raul::URI& predicate,
const Atom& value)
{
- Resource::Properties remove{
- { predicate, _engine.world()->uris().patch_wildcard.urid }};
-
- Resource::Properties add{{ predicate, value }};
-
_engine.enqueue_event(
new Events::Delta(_engine, _respondee, _request_id, now(),
- Events::Delta::Type::SET, Resource::Graph::DEFAULT,
- uri, add, remove));
+ Events::Delta::Type::PUT, Resource::Graph::DEFAULT,
+ uri, {{predicate, value}}, {}));
}
void
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp
index 0ef63d64..641525e1 100644
--- a/src/server/events/Delta.cpp
+++ b/src/server/events/Delta.cpp
@@ -298,15 +298,9 @@ Delta::pre_process()
}
// Remove all added properties if this is a put or set
- if (_object) {
- if (_type == Type::PUT) {
- for (const auto& p : _properties) {
- _object->remove_property(p.first, p.second);
- }
- } else if (_type == Type::SET) {
- for (const auto& p : _properties) {
- _object->remove_property(p.first, uris.patch_wildcard);
- }
+ if (_object && (_type == Type::PUT || _type == Type::SET)) {
+ for (const auto& p : _properties) {
+ _object->remove_property(p.first, uris.patch_wildcard);
}
}