/* (non-Javadoc) * @see com.welocally.geodb.services.util.JsonStoreLoader#loadSingle(org.json.JSONObject, int, int, java.io.StringWriter) */ public void loadSingle( JSONObject deal, Integer count, Integer commitEvery, StringWriter sw, String endpoint) throws JSONException, IOException { logger.debug("adding document:" + deal.getString("_id")); URL solrUrl = new URL(endpoint); JSONObject doc = welocallyJSONUtils.makeIndexableDeal(deal); JSONObject solrCommand = new JSONObject("{\"add\": {\"doc\":" + doc.toString() + "}}"); ByteArrayInputStream bais = new ByteArrayInputStream(solrCommand.toString().getBytes()); BufferedReader newReader = new BufferedReader(new InputStreamReader(bais)); postData(newReader, sw, solrUrl); // commit only every x docs if (count % commitEvery == 0) { logger.debug("commit"); commit(sw, solrUrl); sw.flush(); sw.close(); sw = new StringWriter(); } loadMonitor.increment(); }
@Override public void doCommand(JSONObject command) throws CommandException { try { loadMonitor.reset(); JSONArray urls = command.getJSONArray("sourceUrls"); String[] sourceUrls = new String[urls.length()]; for (int i = 0; i < urls.length(); i++) { sourceUrls[i] = urls.getString(i); } JSONArray placesAll = getPlaces(sourceUrls); loadES( placesAll, command.getString("targetIndex"), command.getString("targetCollection"), JsonDatabase.EntityType.PLACE); loadDynamo(placesAll, 1000, command.getString("targetCollection")); } catch (DbException e) { logger.error(e); throw new CommandException(e); } catch (JSONException e) { logger.error(e); throw new CommandException(e); } }
/* (non-Javadoc) * @see com.welocally.geodb.services.util.JsonStoreLoader#loadSingle(org.json.JSONObject, int, int, java.io.StringWriter) */ public void deleteAll(String endpoint) throws JSONException, IOException { logger.debug("deleting all documents"); URL solrUrl = new URL(endpoint); // <delete><query>*:*</query></delete> JSONObject solrCommand = new JSONObject("{\"delete\": {\"query\":\"*:*\"}}"); StringWriter sw = new StringWriter(); ByteArrayInputStream bais = new ByteArrayInputStream(solrCommand.toString().getBytes()); BufferedReader newReader = new BufferedReader(new InputStreamReader(bais)); postData(newReader, sw, solrUrl); commit(sw, solrUrl); sw.flush(); sw.close(); loadMonitor.increment(); }
@Override public void doCommand(JSONObject command) throws CommandException { try { loadMonitor.reset(); deleteAll(command.getString("endpoint")); load( command.getString("file"), command.getInt("maxRecords"), command.getInt("commitEvery"), command.getString("endpoint")); } catch (DbException e) { logger.error(e); throw new CommandException(e); } catch (JSONException e) { logger.error(e); throw new CommandException(e); } catch (IOException e) { logger.error(e); throw new CommandException(e); } }