package mediawiki.request.wikibase;
import javat.xml.Document;
import javat.xml.Element;
import mediawiki.MediaWikiConnection;
import mediawiki.MediaWikiPostRequest;
import mediawiki.MediaWikiRequest;
import mediawiki.info.Project;
import mediawiki.info.wikibase.Entity;
public class GetEntityRequest extends MediaWikiRequest<Entity> {
public GetEntityRequest(String base) {
setProperty("ids", base);
}
public GetEntityRequest(Project p, String title) {
setProperty("sites", p.getSite());
setProperty("titles", title);
}
@Override
public Entity request(MediaWikiConnection c) throws Exception {
MediaWikiPostRequest p = new MediaWikiPostRequest(c);
p.putData(getProperties());
p.putData("action", "wbgetentities");
Document d = p.requestDocument();
Element e = d.getRootElement().getChildren("entities").get(0).getChildren("entity").get(0);
if(e.getAttribute("missing") != null)
return null;
return new Entity(e);
}
}