ActionInfo.java

package org.linkedopenactors.rdfpub.store.rdf4j;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;

import org.apache.commons.rdf.api.IRI;
import org.linkedopenactors.rdfpub.domain.commonsrdf.Activity;
import org.linkedopenactors.rdfpub.domain.commonsrdf.Actor;

import lombok.Data;

@Data
public class ActionInfo {

	private String uuid;
	private List<String> msg = new ArrayList<>();
//	private final Actor storeOwner;
	private final Actor activityOwner;
	private final Activity activity;

//	public ActionInfo(Actor activityOwner, Actor storeOwner, Activity activity) {
//		this.activityOwner = activityOwner;
//		this.uuid = UUID.randomUUID().toString();
//		this.storeOwner = storeOwner;
//		this.activity = activity;
//	}

	public ActionInfo(String msg, Actor activityOwner, Activity activity) {
		this.activityOwner = activityOwner;
		this.uuid = UUID.randomUUID().toString();
		addMessage(msg);
		this.activity = activity;
	}

	public void addMessage(String msg)  {
		this.msg.add(msg);
	}
	
	public IRI getActivitySubject() {
		return activity.getSubject();
	}

	@Override
	public String toString() {
		List<String> msgs = new ArrayList<>();
		msgs.add("\nActionInfo ("+uuid+")");
		msgs.addAll(msg);
		String messages = msgs.stream().collect(Collectors.joining("\n\tmsg: "));
		
		return messages + "\n"
				+ "\tactivity: " + getActivitySubject() + "\n"
				+ "\tobjects: " + activity.getObject();
	}
}