ActivityChecker.java
package org.linkedopenactors.rdfpub.domain.commonsrdf;
import java.util.Set;
import java.util.stream.Collectors;
import org.springframework.stereotype.Component;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
public class ActivityChecker {
/////////////////////////
// TODO !!!!!!!
// mus wieder in das aPObject !!!!
private Set<String> supportedActivities;
public ActivityChecker() {
supportedActivities = Set.of("https://www.w3.org/ns/activitystreams#Follow", "https://www.w3.org/ns/activitystreams#Undo",
"https://www.w3.org/ns/activitystreams#Create", "https://www.w3.org/ns/activitystreams#Update");
}
public boolean isActivity(Set<org.apache.commons.rdf.api.IRI> types) {
return types.stream()
.map(org.apache.commons.rdf.api.IRI::toString)
.anyMatch(supportedActivities::contains);
}
// public boolean isActivity(RdfObject rdfObject) {
// boolean subclass = rdfObject.isSubClassOf(AS.Create()) ||
// rdfObject.isSubClassOf(AS.Update());
//
// // TODO check, why isSubClassOf is not working!
// if(!subclass) {
// Set<String> types = rdfObject.getTypes().stream().map(Object::toString).collect(Collectors.toSet());
// log.debug("This is of type(s): " + types.stream().collect(Collectors.joining(",")));
//
// subclass = types.stream().anyMatch(supportedActivities::contains);
//
//// if(types.contains("https://www.w3.org/ns/activitystreams#Follow") ||
//// types.contains("https://www.w3.org/ns/activitystreams#Undo") ||
//// types.contains("https://www.w3.org/ns/activitystreams#Create") ||
//// types.contains("https://www.w3.org/ns/activitystreams#Update"))
//// {
//// subclass = true;
//// }
// }
// return subclass;
// rdfObject.isSubClassOf(AS.Accept()) ||
// rdfObject.isSubClassOf(AS.Add()) ||
// rdfObject.isSubClassOf(AS.Announce()) ||
// rdfObject.isSubClassOf(AS.Arrive()) ||
// rdfObject.isSubClassOf(AS.Block()) ||
// rdfObject.isSubClassOf(AS.Create()) ||
// rdfObject.isSubClassOf(AS.Delete()) ||
// rdfObject.isSubClassOf(AS.Dislike()) ||
// rdfObject.isSubClassOf(AS.Flag()) ||
// rdfObject.isSubClassOf(AS.Follow()) ||
// rdfObject.isSubClassOf(AS.Ignore()) ||
// rdfObject.isSubClassOf(AS.Invite()) ||
// rdfObject.isSubClassOf(AS.Join()) ||
// rdfObject.isSubClassOf(AS.Leave()) ||
// rdfObject.isSubClassOf(AS.Like()) ||
// rdfObject.isSubClassOf(AS.Listen()) ||
// rdfObject.isSubClassOf(AS.Move()) ||
// rdfObject.isSubClassOf(AS.Offer()) ||
// rdfObject.isSubClassOf(AS.Question()) ||
// rdfObject.isSubClassOf(AS.Reject()) ||
// rdfObject.isSubClassOf(AS.Read()) ||
// rdfObject.isSubClassOf(AS.Remove()) ||
// rdfObject.isSubClassOf(AS.TentativeReject()) ||
// rdfObject.isSubClassOf(AS.TentativeAccept()) ||
// rdfObject.isSubClassOf(AS.Travel()) ||
// rdfObject.isSubClassOf(AS.Undo()) ||
// rdfObject.isSubClassOf(AS.Update()) ||
// rdfObject.isSubClassOf(AS.View());
// }
}