package mediawiki.request.wikibase;
import org.json.JSONException;
import mediawiki.MediaWikiConnection;
import mediawiki.MediaWikiPostRequest;
import mediawiki.MediaWikiRequest;
import mediawiki.info.wikibase.Snak;
import mediawiki.info.wikibase.ValueSnak;
import mediawiki.info.wikibase.Statement;
import mediawiki.request.ManipulativeRequest;
import mediawiki.request.TokenRequest;
public class SetStatementValueRequest extends MediaWikiRequest<Object> implements ManipulativeRequest {
public SetStatementValueRequest(Statement s, Snak c, String summary) throws JSONException{
setProperty("claim", s.getID());
if(c instanceof ValueSnak)
setProperty("value", ((ValueSnak)c).toClaimRepresentation());
setProperty("snaktype", c.getSnakTypeAsString());
setProperty("summary", summary);
}
@Override
public Object request(MediaWikiConnection c) throws Exception {
String token = c.request(new TokenRequest());
MediaWikiPostRequest p = new MediaWikiPostRequest(c);
p.putData(getProperties());
p.putData("action", "wbsetclaimvalue");
p.putData("token", token);
p.requestDocument();
return null;
}
}