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;
}
}