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