public void storeAssociated(String uniqueId, String indexName, String fileName, Map<String, String> meta, InputStream source, Boolean compressed)
throws IOException {
HttpURLConnection conn = null;
OutputStream destination = null;
try {
HashMap<String, Object> parameters = new HashMap<>();
parameters.put(LumongoConstants.ID, uniqueId);
parameters.put(LumongoConstants.FILE_NAME, fileName);
parameters.put(LumongoConstants.INDEX, indexName);
if (meta != null) {
ArrayList<Object> list = new ArrayList<>();
parameters.put(LumongoConstants.META, list);
for (String key : meta.keySet()) {
String value = meta.get(key);
list.add(key + ":" + value);
}
}
if (compressed != null) {
parameters.put(LumongoConstants.COMPRESSED, compressed.toString());
}
String url = HttpHelper.createRequestUrl(server, restPort, LumongoConstants.ASSOCIATED_DOCUMENTS_URL, parameters);
conn = createPostConnection(url);
destination = conn.getOutputStream();
StreamHelper.copyStream(source, destination);
handlePossibleError(conn);
}
finally {
closeStreams(source, destination, conn);
}
}