package mediawiki.request.wikibase; import org.json.JSONException; import mediawiki.MediaWikiConnection; import mediawiki.MediaWikiPostRequest; import mediawiki.MediaWikiRequest; import mediawiki.info.wikibase.Qualifier; import mediawiki.info.wikibase.Statement; import mediawiki.info.wikibase.ValueSnak; import mediawiki.request.ManipulativeRequest; import mediawiki.request.TokenRequest; public class AddQualifierRequest extends MediaWikiRequest implements ManipulativeRequest{ public AddQualifierRequest(Statement target, Qualifier qualifier) throws JSONException{ setProperty("claim", target.getID()); setProperty("property", qualifier.getProperty().toString()); if(qualifier.getSnak() instanceof ValueSnak<?>) setProperty("value", ((ValueSnak)qualifier.getSnak()).toClaimRepresentation().toString()); setProperty("snaktype", qualifier.getSnakTypeAsString()); } @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", "wbsetqualifier"); p.putData("token", token); p.requestDocument(); return null; } }