81 lines
1.7 KiB
Java
81 lines
1.7 KiB
Java
package eu.dnetlib.broker.oa.controllers;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
|
|
import com.google.gson.Gson;
|
|
|
|
import eu.dnetlib.broker.common.elasticsearch.Notification;
|
|
import eu.dnetlib.broker.objects.OaBrokerEventPayload;
|
|
import eu.dnetlib.broker.objects.OaBrokerMainEntity;
|
|
|
|
public class NotificationMessage implements Serializable {
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 7302363775341307950L;
|
|
|
|
private String originalId;
|
|
|
|
private String topic;
|
|
|
|
private float trust;
|
|
|
|
private Map<String, String> message = new LinkedHashMap<>();
|
|
|
|
public static NotificationMessage fromNotification(final Notification n) {
|
|
final Gson gson = new Gson();
|
|
|
|
final OaBrokerEventPayload payload = gson.fromJson(n.getPayload(), OaBrokerEventPayload.class);
|
|
|
|
final NotificationMessage res = new NotificationMessage();
|
|
|
|
res.setOriginalId(payload.getResult().getOriginalId());
|
|
res.setTopic(n.getTopic());
|
|
res.setTrust(payload.getTrust());
|
|
res.setMessage(highlightAsMap(payload.getHighlight()));
|
|
|
|
return res;
|
|
}
|
|
|
|
private static Map<String, String> highlightAsMap(final OaBrokerMainEntity hl) {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public String getTopic() {
|
|
return topic;
|
|
}
|
|
|
|
public void setTopic(final String topic) {
|
|
this.topic = topic;
|
|
}
|
|
|
|
public float getTrust() {
|
|
return trust;
|
|
}
|
|
|
|
public void setTrust(final float trust) {
|
|
this.trust = trust;
|
|
}
|
|
|
|
public Map<String, String> getMessage() {
|
|
return message;
|
|
}
|
|
|
|
public void setMessage(final Map<String, String> message) {
|
|
this.message = message;
|
|
}
|
|
|
|
public String getOriginalId() {
|
|
return originalId;
|
|
}
|
|
|
|
public void setOriginalId(final String originalId) {
|
|
this.originalId = originalId;
|
|
}
|
|
|
|
}
|