use of edu.mit.simile.butterfly.ButterflyModule in project OpenRefine by OpenRefine.
the class ColumnTests method serializeColumn.
@Test
public void serializeColumn() throws Exception {
ButterflyModule core = mock(ButterflyModule.class);
when(core.getName()).thenReturn("core");
ReconConfig.registerReconConfig(core, "standard-service", StandardReconConfig.class);
String json = "{\"cellIndex\":4," + "\"originalName\":\"name\"," + "\"name\":\"organization_name\"," + "\"type\":\"\"," + "\"format\":\"default\"," + "\"title\":\"\"," + "\"description\":\"\"," + "\"constraints\":\"{}\"," + "\"reconConfig\":{" + " \"mode\":\"standard-service\"," + " \"service\":\"https://tools.wmflabs.org/openrefine-wikidata/en/api\"," + " \"identifierSpace\":\"http://www.wikidata.org/entity/\"," + " \"schemaSpace\":\"http://www.wikidata.org/prop/direct/\"," + " \"type\":{\"id\":\"Q43229\",\"name\":\"organization\"}," + " \"autoMatch\":true," + " \"columnDetails\":[" + " {\"column\":\"organization_country\",\"propertyName\":\"SPARQL: P17/P297\",\"propertyID\":\"P17/P297\"}," + " {\"column\":\"organization_id\",\"propertyName\":\"SPARQL: P3500|P2427\",\"propertyID\":\"P3500|P2427\"}" + " ]," + " \"limit\":0}," + "\"reconStats\":{" + " \"nonBlanks\":299," + " \"newTopics\":0," + " \"matchedTopics\":222" + "}}";
TestUtils.isSerializedTo(Column.load(json), json);
}
use of edu.mit.simile.butterfly.ButterflyModule in project OpenRefine by OpenRefine.
the class GetLanguagesCommand method doPost.
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String modname = request.getParameter("module");
if (modname == null) {
modname = "core";
}
ButterflyModule module = this.servlet.getModule(modname);
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Type", "application/json");
JSONWriter writer = new JSONWriter(response.getWriter());
writer.object();
writer.key("languages");
writer.array();
// we always have English and it's always first
writeLangData(writer, "en", "English");
FileFilter fileFilter = new WildcardFileFilter("translation-*.json");
for (File file : new File(module.getPath() + File.separator + "langs").listFiles(fileFilter)) {
String lang = file.getName().split("-")[1].split("\\.")[0];
if (!"en".equals(lang) && !"default".equals(lang)) {
JSONObject json = LoadLanguageCommand.loadLanguage(this.servlet, "core", lang);
if (json != null) {
String label = json.getString("name");
writeLangData(writer, lang, label);
}
}
}
writer.endArray();
writer.endObject();
} catch (JSONException e) {
respondException(response, e);
}
}
use of edu.mit.simile.butterfly.ButterflyModule in project OpenRefine by OpenRefine.
the class LoadLanguageCommand method loadLanguage.
static ObjectNode loadLanguage(RefineServlet servlet, String modname, String lang) throws UnsupportedEncodingException {
ButterflyModule module = servlet.getModule(modname);
File langFile = new File(module.getPath(), "langs" + File.separator + "translation-" + lang + ".json");
try {
Reader reader = new BufferedReader(new InputStreamReader(new FileInputStream(langFile), "UTF-8"));
return ParsingUtilities.mapper.readValue(reader, ObjectNode.class);
} catch (FileNotFoundException e1) {
// Could be normal if we've got a list of languages as fallbacks
} catch (IOException e) {
logger.error("JSON error reading/writing language file: " + langFile, e);
}
return null;
}
use of edu.mit.simile.butterfly.ButterflyModule in project OpenRefine by OpenRefine.
the class GetLanguagesCommand method doGet.
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String modname = request.getParameter("module");
if (modname == null) {
modname = "core";
}
ButterflyModule module = this.servlet.getModule(modname);
respondJSON(response, new LanguagesResponse(module));
}
use of edu.mit.simile.butterfly.ButterflyModule in project OpenRefine by OpenRefine.
the class LoadLanguageCommandTests method setUpCommand.
@BeforeMethod
public void setUpCommand() throws IOException {
FileProjectManager.initialize(TestUtils.createTempDirectory("openrefine-test-workspace-dir"));
command = new LoadLanguageCommand();
ButterflyModule coreModule = mock(ButterflyModule.class);
when(coreModule.getName()).thenReturn("core");
when(coreModule.getPath()).thenReturn(new File("webapp/modules/core"));
RefineServlet servlet = mock(RefineServlet.class);
when(servlet.getModule("core")).thenReturn(coreModule);
command.init(servlet);
}
Aggregations