digraph g {
graph [compound = true];
//presentation
splines = true;
overlap = false;
rankdir = TB;
subgraph cluster_generators {
label="generators";
style="dotted";
generators_twitter [label="https://api.twitter.com"]
}
subgraph cluster_providers {
label="providers";
providers_twitter_userstream [label="TwitterUserstreamProvider"]
providers_twitter_userinfo [label="TwitterUserInformationProvider"]
providers_twitter_timeline [label="TwitterTimelineProvider"]
providers_twitter_following [label="TwitterFollowingProvider"]
}
subgraph cluster_processors {
label="processors";
processors_twitter_activity [label="ActivityConverterProcessor"]
processors_twitter_activityobject [label="ActivityObjectConverterProcessor"]
}
persisters [label="persisters", shape="cylinder"];
generators_twitter -> providers_twitter_userstream
generators_twitter -> providers_twitter_timeline
generators_twitter -> providers_twitter_following
generators_twitter -> providers_twitter_userinfo
providers_twitter_userinfo -> processors_twitter_activityobject [label="o.a.s.t.User"]
providers_twitter_userstream -> processors_twitter_activity [label="o.a.s.t.Tweet"]
providers_twitter_timeline -> processors_twitter_activity [label="o.a.s.t.Tweet"]
providers_twitter_following -> processors_twitter_activity [label="o.a.s.t.Follow"]
processors_twitter_activityobject -> persisters [label="o.a.s.p.j.Page"]
processors_twitter_activity -> persisters [label="o.a.s.p.j.Post\no.a.s.p.j.Share\no.a.s.p.j.Follow"]
} |