package mediawiki.request.wikibase; import util.Util; import mediawiki.MediaWikiConnection; import mediawiki.MediaWikiPostRequest; import mediawiki.MediaWikiRequest; import mediawiki.info.wikibase.Sitelink; import mediawiki.request.ManipulativeRequest; import mediawiki.request.TokenRequest; public class SetSitelinkRequest extends MediaWikiRequest<Object> implements ManipulativeRequest { public SetSitelinkRequest(String base, Sitelink l, String summary) { this(base, l); setProperty("summary", summary); } public SetSitelinkRequest(String base, Sitelink l) { setProperty("id", base); setProperty("linksite", l.getProject().getSite()); setProperty("linktitle", l.getTitle()); if(l.hasBadges()) setProperty("badges", Util.implode(l.getBadges(), "|")); } @Override public Object request(MediaWikiConnection c) throws Exception { MediaWikiPostRequest p = new MediaWikiPostRequest(c); p.putData(getProperties()); p.putData("action", "wbsetsitelink"); p.putData("token", c.request(new TokenRequest())); p.requestDocument(); return null; } }