@Override public ResourceMetadata getResourceMetadata() { return new ResourceMetadata(Session.class) .incoming(new Relation("presented_by")) .outgoing(new NamedRelation("attachments", "attached_to")) .outgoing(new NamedRelation("speakers", "presented_by")) .outgoing(new NamedRelation("attendees", "attended_by")) .outgoing(new NamedRelation("locations", "located_in")); } }
public Collection<RelationMatch> getMatchingRelations(Class<?> sourceType) { List<RelationMatch> result = new ArrayList<RelationMatch>(); ResourceMetadata sourceMeta = this.metadata.get(sourceType); for(ResourceMetadata targetMeta : this.metadata.values()) { if(targetMeta.getModel() == sourceType) { continue; } for(NamedRelation match : targetMeta.match(sourceMeta)) { result.add(new RelationMatch( sourceMeta.getModel(), match, targetMeta.getModel())); } } return result; }
@Override public ResourceMetadata getResourceMetadata() { return new ResourceMetadata(Attachment.class) .incoming(new Relation("attached_to")); } }
@Override public ResourceMetadata getResourceMetadata() { return new ResourceMetadata(Conference.class) .outgoing(new NamedRelation("attachments", "attached_to")) .outgoing(new NamedRelation("trackers", "tracked_by")) .outgoing(new NamedRelation("attendees", "attended_by")) .outgoing(new NamedRelation("locations", "located_at")); }
@PostConstruct public void initialize() { for(MetadataResource resource : resources) { ResourceMetadata meta = resource.getResourceMetadata(); this.metadata.put(meta.getModel(), meta); } }
@Override public ResourceMetadata getResourceMetadata() { return new ResourceMetadata(TargetObject.class) .incoming(new Relation("connected_to")); }
@Override public ResourceMetadata getResourceMetadata() { return new ResourceMetadata(SourceObject.class) .outgoing(new NamedRelation("connections", "connected_to")) .outgoing(new NamedRelation("notdeployed", "no_matching_relation")); }
@Override public ResourceMetadata getResourceMetadata() { return new ResourceMetadata(User.class) .incoming(new Relation("presented_by")) .incoming(new Relation("tracked_by")) .incoming(new Relation("attended_by")) .outgoing(new NamedRelation("attachments", "attached_to")) .outgoing(new NamedRelation("sessions", "presented_by")); } }