refactoring objects in preparation for:
refactoring journal database to contain object ids for: querying journal for objects
This commit is contained in:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user