package eu.play_project.dcep.distributedetalis.test;
import java.io.FileWriter;
import java.io.Serializable;
import java.util.ArrayList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import eu.play_project.dcep.distributedetalis.api.SimplePublishApi;
import fr.inria.eventcloud.api.CompoundEvent;
public class PublishApiSubscriber implements SimplePublishApi, Serializable {
private static final long serialVersionUID = 100L;
private static final ArrayList<CompoundEvent> complexEvents = new ArrayList<CompoundEvent>();
private final Logger logger = LoggerFactory.getLogger(PublishApiSubscriber.class);
long counter = -1;
int numberOfExpectedComplexEvents = 0;
int givenRepetitions = 0;
boolean firstTime = true;
long timeTmp = 0;
static String filename;
public void setGivenRepetitions(int givenRepetitions) {
this.givenRepetitions = givenRepetitions;
}
public PublishApiSubscriber() {
}
public ArrayList<CompoundEvent> getComplexEvents() {
return complexEvents;
}
@Override
public void publish(CompoundEvent arg0) {
complexEvents.add(arg0);
logger.info("RECEIVED: ====================================\n" + arg0);
}
public void setNumberofExpectedComplexEvents(int number) {
numberOfExpectedComplexEvents = number;
System.out.println("NumberOfExpectedComplexEvents:" + number);
}
public void setOutputFile(String name){
filename = name;
}
public static void appendToFile(String text) {
try {
FileWriter writer = new FileWriter(
filename,/* append */true);
writer.write(text);
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}