dnet-applications/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/oa/controllers/NotificationMessage.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;
}
}