package com.eduworks.russel.ui.client.extractor;
import java.util.ArrayList;
import com.eduworks.russel.ui.client.model.RUSSELFileRecord;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
public class FLRResultExtractor {
private static final String THUMBNAIL_SOURCE_PATTERN_PREFIX = "http://search.learningregistry.net/webcap/";
private static final String THUMBNAIL_SOURCE_PATTERN_SUFFIX = "/145/screencap.jpg";
public static RUSSELFileRecord[] walkBasicSearch(JSONArray array) {
ArrayList<RUSSELFileRecord> results = new ArrayList<RUSSELFileRecord>();
for (int i = 0; i < array.size(); i++) {
RUSSELFileRecord r = new RUSSELFileRecord();
JSONObject rR = array.get(i).isObject();
if (rR.containsKey("_id")) {
String id = rR.get("_id").isString().stringValue();
r.setFlrDocId(id);
r.setFilename(id + ".flr");
r.setFileContents(rR.toString());
r.setMimeType("application/json");
if (rR.containsKey("_source")) {
rR = rR.get("_source").isObject();
if (rR.containsKey("title"))
r.setTitle(rR.get("title").isString().stringValue());
if (rR.containsKey("description"))
r.setDescription(rR.get("description").isString().stringValue());
if (rR.containsKey("url"))
r.setFlrResourceLocator(rR.get("url").isString().stringValue());
if (rR.containsKey("publisher"))
r.setPublisher(rR.get("publisher").isString().stringValue());
if (rR.containsKey("hasScreenshot")&&rR.get("hasScreenshot").isBoolean().booleanValue())
r.setThumbnail(THUMBNAIL_SOURCE_PATTERN_PREFIX + id + THUMBNAIL_SOURCE_PATTERN_SUFFIX);
}
}
results.add(r);
}
return results.toArray(new RUSSELFileRecord[results.size()]);
}
}