package mediawiki.request.wikibase;
import javat.xml.Document;
import javat.xml.Element;
import mediawiki.MediaWikiConnection;
import mediawiki.MediaWikiPostRequest;
import mediawiki.MediaWikiRequest;
import mediawiki.info.Language;
public class GetDescriptionRequest extends MediaWikiRequest<String> {
private Language language;
public GetDescriptionRequest(String entity, Language language){
this.language = language;
setProperty("ids",(! entity.startsWith("Q") ? "Q" : "")+entity);
}
@Override
public String request(MediaWikiConnection c) throws Exception {
MediaWikiPostRequest p = new MediaWikiPostRequest(c);
p.putData(getProperties());
p.putData("action", "wbgetentities");
p.putData("props", "descriptions");
setProperty("languages", language);
Document d = p.requestDocument();
Element e = d.getRootElement().getChildren("entities").get(0).getChildren("entity").get(0).getChildren("descriptions").get(0);
for(Element e2 : e.getChildren("description")){
if(e2.getAttribute("language").getValue().equals(language.getName())){
return e2.getAttribute("value").getValue();
}
}
return null;
}
}