package mediawiki.request.wikibase; import mediawiki.MediaWikiConnection; import mediawiki.MediaWikiPostRequest; import mediawiki.MediaWikiRequest; import mediawiki.request.ManipulativeRequest; import mediawiki.request.TokenRequest; public class ModifierAliasesRequest extends MediaWikiRequest implements ManipulativeRequest{ public ModifierAliasesRequest(String base, String method, String language, String...aliases){ this(base, method, language, "", aliases); } public ModifierAliasesRequest(String base, String method, String language, String summary, String...aliases){ switch(method){ case "set": case "add": case "remove": break; default: throw new IllegalArgumentException("Method "+method+" isn't supported"); } setProperty("id", base); setProperty("language", language); setProperty("summary", summary); String als = ""; for(String l : aliases){ als += "|"+l; } als = als.substring(1); setProperty(method, als); } @Override public Object request(MediaWikiConnection c) throws Exception { String token = (String) c.request(new TokenRequest()); MediaWikiPostRequest p = new MediaWikiPostRequest(c); p.putData(getProperties()); p.putData("action", "wbsetaliases"); p.putData("token", token); p.requestDocument(); return null; } }