refactoring objects in preparation for:

refactoring journal database to contain object ids for:
querying journal for objects
This commit is contained in:
2026-07-27 09:22:50 +02:00
parent c8ad603fca
commit e614880d71
11 changed files with 97 additions and 74 deletions
@@ -6,6 +6,7 @@ import static java.util.Optional.*;
import de.srsoftware.tools.Diff;
import de.srsoftware.tools.Mappable;
import de.srsoftware.umbrella.core.model.ObjectWithId;
import de.srsoftware.umbrella.core.model.Translatable;
import de.srsoftware.umbrella.core.model.UmbrellaUser;
import java.util.Collection;
@@ -14,15 +15,15 @@ import java.util.Map;
import java.util.Optional;
import org.json.JSONObject;
public abstract class Event<Payload extends Mappable> {
public abstract class Event<Payload extends ObjectWithId> {
public enum EventType {
CREATE,
MEMBER_ADDED,
UPDATE,
DELETE;
}
}
private final UmbrellaUser initiator;
private final String module;
private final Payload payload;
@@ -39,10 +40,10 @@ public abstract class Event<Payload extends Mappable> {
public Event(UmbrellaUser initiator, String module, Payload payload, Map<String, Object> oldData){
this.initiator = initiator;
this.module = module;
this.payload = payload;
this.module = module;
this.payload = payload;
this.eventType = EventType.UPDATE;
this.oldData = oldData;
this.oldData = oldData;
}
public abstract Collection<UmbrellaUser> audience();
@@ -98,6 +99,10 @@ public abstract class Event<Payload extends Mappable> {
return module;
}
public long objectId() {
return payload.id();
};
protected Map<String, Object> oldData() {
return oldData;
}
@@ -36,6 +36,10 @@ public class ItemEvent extends Event<Item>{
return t("{user} added \"{item}\" to \"{location}\"", USER,initiator().name(), ITEM, payload().name(), LOCATION, loc);
}
@Override
public long objectId() {
return payload().id();
}
@Override
public Translatable subject() {
@@ -78,6 +78,11 @@ public class ProjectEvent extends Event<Project>{
return t("You can view/edit this project at {base_url}/project/{id}/view",ID,payload().id());
}
@Override
public long objectId() {
return payload().id();
}
@Override
public Translatable subject() {
return switch (eventType()){
@@ -62,6 +62,11 @@ public class TransactionEvent extends Event<Transaction> {
return t("You can view/edit this transaction at {base_url}/account/{id}", ID, payload().accountId());
}
@Override
public long objectId() {
return payload().id();
}
@Override
public Translatable subject() {
var user = initiator().name();
@@ -68,6 +68,10 @@ public class WikiEvent extends Event<WikiPage>{
return t("You can view/edit this wiki page at {base_url}/wiki/{id}/view",ID,payload().id());
}
@Override
public long objectId() {
return payload().id();
}
@Override
public Translatable subject() {