Project

General

Profile

« Previous | Next » 

Revision 35862

blackboard status update

View differences:

BlackboardAction.java
2 2

  
3 3
import org.springframework.beans.factory.annotation.Required;
4 4

  
5
import com.google.gson.Gson;
6

  
5 7
import eu.dnetlib.enabling.annotations.Blackboard;
6 8

  
7 9
public abstract class BlackboardAction<T> {
......
13 15
	final public T process(final Object message) {
14 16
		if (message == null) {
15 17
			throw new RuntimeException("Message is null");
16
		} else if (!messageClass.isInstance(message)) {
18
		} else if (message instanceof String) {
19
			return doProcess(new Gson().fromJson((String) message, messageClass));
20
		} else if (messageClass.isInstance(message)) {
21
			return doProcess(messageClass.cast(message));
22
		} else {
17 23
			throw new RuntimeException("Invalid message class, expected: " + getMessageClass() + ", found: " + message.getClass());
18
		} else {
19
			return doProcess(messageClass.cast(message));
20 24
		}
21 25
	}
22 26

  

Also available in: Unified diff