package eu.play_project.dcep.distribution;
import static eu.play_project.play_commons.constants.Event.EVENT_ID_SUFFIX;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import org.event_processing.events.types.Event;
import org.event_processing.events.types.FacebookCepResult;
import org.event_processing.events.types.FacebookStatusFeedEvent;
import org.ontoware.rdf2go.model.node.impl.URIImpl;
import eu.play_project.play_commons.constants.Stream;
import eu.play_project.play_commons.eventtypes.EventHelpers;
public class FacebookStatusFeedSimulator {
public List<Event> simulateEvents(String type, int number) {
List<Event> events = new ArrayList<Event>();
if (type.equals("FacebookSimple")) {
for (int i = number; i > 0; i--) {
// Generate new event
events.add(this.generateFacebookStatusFeedEvent());
}
} else if (type.equals("FacebookCepResult")) {
for (int i = number; i > 0; i--) {
events.add(this.generateFacebookCepResult());
}
}
return events;
}
private FacebookStatusFeedEvent generateFacebookStatusFeedEvent() {
// Create an event ID used in RDF context and RDF subject
String eventId = EventHelpers.createRandomEventId();
FacebookStatusFeedEvent event = new FacebookStatusFeedEvent(
// set the RDF context part
EventHelpers.createEmptyModel(eventId),
// set the RDF subject
eventId + EVENT_ID_SUFFIX,
// automatically write the rdf:type statement
true);
// Run some setters of the event
event.setFacebookName("Roland Stühmer");
event.setFacebookId("100000058455726");
event.setFacebookLink(new URIImpl("http://graph.facebook.com/roland.stuehmer#"));
event.setStatus("I bought some JEANS this morning");
event.setFacebookLocation("Karlsruhe, Germany");
// Create a Calendar for the current date and time
event.setEndTime(Calendar.getInstance());
event.setStream(new URIImpl(Stream.FacebookStatusFeed.getUri()));
return event;
}
private FacebookCepResult generateFacebookCepResult() {
// Create an event ID used in RDF context and RDF subject
String eventId = EventHelpers.createRandomEventId();
FacebookCepResult event = new FacebookCepResult(
// set the RDF context part
EventHelpers.createEmptyModel(eventId),
// set the RDF subject
eventId + EVENT_ID_SUFFIX,
// automatically write the rdf:type statement
true);
// Run some setters of the event
event.addDiscussionTopic("I bought some JEANS this morning");
event.addDiscussionTopic("I never bought JEANS");
event.addDiscussionTopic("I plan to buy JEANS today...");
event.addFriend("Laurent Pellegrino");
event.addFriend("Stefan Obermeier");
event.addFriend("Roland St\u00FChmer");
// Create a Calendar for the current date and time
event.setEndTime(Calendar.getInstance());
event.setStream(new URIImpl(Stream.FacebookStatusFeed.getUri()));
return event;
}
}