List of usage examples for org.json.simple JSONObject writeJSONString
public void writeJSONString(Writer out) throws IOException
From source file:edu.vt.vbi.patric.portlets.TranscriptomicsEnrichment.java
@SuppressWarnings("unchecked") public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { response.setContentType("text/html"); String callType = request.getParameter("callType"); switch (callType) { case "saveParams": { Map<String, String> key = new HashMap<>(); key.put("feature_id", request.getParameter("feature_id")); long pk = (new Random()).nextLong(); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); PrintWriter writer = response.getWriter(); writer.write("" + pk); writer.close();//from w w w. j a v a 2 s. co m break; } case "getFeatureIds": { String pathwayId = request.getParameter("map"); String featureList = request.getParameter("featureList"); String algorithm = request.getParameter("algorithm"); DataApiHandler dataApi = new DataApiHandler(request); SolrQuery query = new SolrQuery("pathway_id:(" + pathwayId.replaceAll(",", " OR ") + ") AND feature_id:(" + featureList.replaceAll(",", " OR ") + ")"); query.addFilterQuery("annotation:" + algorithm).setRows(dataApi.MAX_ROWS).addField("feature_id"); LOGGER.trace("getFeatureIds: [{}] {}", SolrCore.PATHWAY.getSolrCoreName(), query); String apiResponse = dataApi.solrQuery(SolrCore.PATHWAY, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); List<GenomeFeature> features = dataApi.bindDocuments((List<Map>) respBody.get("docs"), GenomeFeature.class); JSONArray featureIds = new JSONArray(); for (GenomeFeature feature : features) { featureIds.add(feature.getId()); } response.setContentType("application/json"); featureIds.writeJSONString(response.getWriter()); break; } case "getGenomeIds": { String featureIds = request.getParameter("feature_id"); String pathwayId = request.getParameter("map"); DataApiHandler dataApi = new DataApiHandler(request); String genomeId = ""; if (featureIds != null && !featureIds.equals("") && pathwayId != null && !pathwayId.equals("")) { String[] listFeatureId = featureIds.split(","); SolrQuery query = new SolrQuery("pathway_id:(" + pathwayId + ") AND feature_id:(" + StringUtils.join(listFeatureId, " OR ") + ")"); query.addField("genome_id").setRows(listFeatureId.length); String apiResponse = dataApi.solrQuery(SolrCore.PATHWAY, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); List<Map> sdl = (List<Map>) respBody.get("docs"); Set<String> listGenomeId = new HashSet<>(); for (Map doc : sdl) { listGenomeId.add(doc.get("genome_id").toString()); } genomeId = StringUtils.join(listGenomeId, ","); } PrintWriter writer = response.getWriter(); writer.write(genomeId); writer.close(); break; } case "download": { String _filename = "PathwaySummary"; String _fileformat = request.getParameter("fileformat"); String pk = request.getParameter("pk"); Map<String, String> key = jsonReader .readValue(SessionHandler.getInstance().get(SessionHandler.PREFIX + pk)); if (key != null && key.containsKey("feature_id")) { List<String> featureIDs = Arrays.asList(key.get("feature_id").split(",")); JSONObject jsonResult = getEnrichmentPathway(request, featureIDs); List<String> _tbl_header = new ArrayList<>(); List<String> _tbl_field = new ArrayList<>(); JSONArray _tbl_source = (JSONArray) jsonResult.get("results"); _tbl_header.addAll(Arrays.asList("Pathway Name", "# of Genes Selected ", "# of Genes Annotated", "% Coverage")); _tbl_field.addAll(Arrays.asList("pathway_name", "ocnt", "ecnt", "percentage")); ExcelHelper excel = new ExcelHelper("xssf", _tbl_header, _tbl_field, _tbl_source); excel.buildSpreadsheet(); if (_fileformat.equalsIgnoreCase("xlsx")) { response.setContentType("application/octetstream"); response.setProperty("Content-Disposition", "attachment; filename=\"" + _filename + "." + _fileformat + "\""); excel.writeSpreadsheettoBrowser(response.getPortletOutputStream()); } else if (_fileformat.equalsIgnoreCase("txt")) { response.setContentType("application/octetstream"); response.setProperty("Content-Disposition", "attachment; filename=\"" + _filename + "." + _fileformat + "\""); response.getWriter().write(excel.writeToTextFile()); } } break; } case "getFeatureTable": { String pk = request.getParameter("pk"); Map<String, String> key = jsonReader .readValue(SessionHandler.getInstance().get(SessionHandler.PREFIX + pk)); response.setContentType("application/json"); if (key != null && key.containsKey("feature_id")) { List<String> featureIDs = Arrays.asList(key.get("feature_id").split(",")); JSONObject jsonResult = getEnrichmentPathway(request, featureIDs); PrintWriter writer = response.getWriter(); jsonResult.writeJSONString(writer); writer.close(); } else { PrintWriter writer = response.getWriter(); writer.write("{}"); writer.close(); } break; } } }
From source file:edu.vt.vbi.patric.portlets.PathwayTableSingle.java
@SuppressWarnings("unchecked") public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { response.setContentType("application/json"); String callType = request.getParameter("callType"); if (callType != null && callType.equals("savetopk")) { String cId = request.getParameter("cId"); String cType = request.getParameter("cType"); String map = request.getParameter("map"); String algorithm = request.getParameter("algorithm"); String ec_number = request.getParameter("ec_number"); Map<String, String> key = new HashMap<>(); if (cId != null && !cId.equals("")) { key.put("genomeId", cId); }/* ww w.j av a2s . com*/ if (cType != null && !cType.equals("")) { key.put("cType", cType); } if (map != null && !map.equals("")) { key.put("map", map); } if (algorithm != null && !algorithm.equals("")) { key.put("algorithm", algorithm); } if (ec_number != null && !ec_number.equals("")) { key.put("ec_number", ec_number); } key.put("which", "download_from_heatmap_feature"); long pk = (new Random()).nextLong(); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); PrintWriter writer = response.getWriter(); writer.write("" + pk); writer.close(); } else if (callType != null && callType.equals("show")) { JSONObject jsonResult = new JSONObject(); JSONArray results = new JSONArray(); String pk = request.getParameter("pk"); Map<String, String> key = jsonReader .readValue(SessionHandler.getInstance().get(SessionHandler.PREFIX + pk)); DataApiHandler dataApi = new DataApiHandler(request); try { SolrQuery query = new SolrQuery("*:*"); List<String> joinConditions = new ArrayList<>(); if (key.containsKey("map")) { joinConditions.add("pathway_id:(" + key.get("map") + ")"); } if (key.containsKey("algorithm")) { joinConditions.add("annotation:(" + key.get("algorithm") + ")"); } if (key.containsKey("ec_number")) { joinConditions.add("ec_number:(" + key.get("ec_number").replaceAll(",", " OR ") + ")"); } if (key.containsKey("genomeId")) { joinConditions.add("genome_id:(" + key.get("genomeId").replace(",", " OR ") + ")"); } if (!joinConditions.isEmpty()) { query.addFilterQuery(SolrCore.PATHWAY.getSolrCoreJoin("feature_id", "feature_id", StringUtils.join(joinConditions, " AND "))); } query.setRows(10000); LOGGER.debug("[{}] {}", SolrCore.FEATURE.getSolrCoreName(), query.toString()); String apiResponse = dataApi.solrQuery(SolrCore.FEATURE, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); int numFound = (Integer) respBody.get("numFound"); List<GenomeFeature> features = dataApi.bindDocuments((List<Map>) respBody.get("docs"), GenomeFeature.class); for (GenomeFeature feature : features) { results.add(feature.toJSONObject()); } jsonResult.put("total", numFound); jsonResult.put("results", results); } catch (IOException e) { LOGGER.error(e.getMessage(), e); } PrintWriter writer = response.getWriter(); jsonResult.writeJSONString(writer); writer.close(); } }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFileProteomics(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;//from w w w . j a v a 2s .c om // from WP // data data = read(baseURL + "/tab/dlp-proteomics-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // tools data = read(baseURL + "/tab/dlp-proteomics-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-proteomics-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-proteomics-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFilePPInteractions(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;//w w w . jav a2 s .co m // from WP // data data = read(baseURL + "/tab/dlp-ppinteractions-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // tools data = read(baseURL + "/tab/dlp-ppinteractions-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-ppinteractions-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-ppinteractions-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }
From source file:edu.vt.vbi.patric.portlets.ExperimentListPortlet.java
@SuppressWarnings("unchecked") public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { String sraction = request.getParameter("sraction"); if (sraction != null && sraction.equals("save_params")) { Map<String, String> key = new HashMap<>(); String genomeId = request.getParameter("genomeId"); String taxonId = ""; String cType = request.getParameter("context_type"); String cId = request.getParameter("context_id"); if (cType != null && cId != null && cType.equals("taxon") && !cId.equals("")) { taxonId = cId;//from w w w. j av a 2s .c o m } String keyword = request.getParameter("keyword"); String state = request.getParameter("state"); String ncbi_taxon_id = request.getParameter("ncbi_taxon_id"); if (genomeId != null && !genomeId.equalsIgnoreCase("")) { key.put("genomeId", genomeId); } if (!taxonId.equalsIgnoreCase("")) { key.put("taxonId", taxonId); } if (keyword != null) { key.put("keyword", keyword.trim()); } if (ncbi_taxon_id != null) { key.put("ncbi_taxon_id", ncbi_taxon_id); } if (state != null) { key.put("state", state); } long pk = (new Random()).nextLong(); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); PrintWriter writer = response.getWriter(); writer.write("" + pk); writer.close(); } else { String need = request.getParameter("need"); JSONObject jsonResult = new JSONObject(); switch (need) { case "0": { // Experiments String pk = request.getParameter("pk"); Map data = processExperimentTab(request); Map<String, String> key = (Map) data.get("key"); int numFound = (Integer) data.get("numFound"); List<Map> experiments = (List<Map>) data.get("experiments"); JSONArray docs = new JSONArray(); for (Map item : experiments) { JSONObject doc = new JSONObject(); doc.putAll(item); docs.add(doc); } if (data.containsKey("facets")) { JSONObject facets = FacetHelper.formatFacetTree((Map) data.get("facets")); key.put("facets", facets.toJSONString()); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); } jsonResult.put("results", docs); jsonResult.put("total", numFound); response.setContentType("application/json"); PrintWriter writer = response.getWriter(); writer.write(jsonResult.toString()); writer.close(); break; } case "1": { // Comparisons Map data = processComparisonTab(request); int numFound = (Integer) data.get("numFound"); List<Map> comparisons = (List<Map>) data.get("comparisons"); JSONArray docs = new JSONArray(); for (Map item : comparisons) { JSONObject doc = new JSONObject(); doc.putAll(item); docs.add(doc); } // key.put("keyword", orig_keyword); jsonResult.put("results", docs); jsonResult.put("total", numFound); response.setContentType("application/json"); PrintWriter writer = response.getWriter(); jsonResult.writeJSONString(writer); writer.close(); break; } case "tree": { String pk = request.getParameter("pk"); Map<String, String> key = jsonReader .readValue(SessionHandler.getInstance().get(SessionHandler.PREFIX + pk)); String state; if (key.containsKey("state")) { state = key.get("state"); } else { state = request.getParameter("state"); } key.put("state", state); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); JSONArray tree = new JSONArray(); try { if (key.containsKey("facets") && !key.get("facets").equals("{}")) { JSONObject facet_fields = (JSONObject) new JSONParser().parse(key.get("facets")); DataApiHandler dataApi = new DataApiHandler(request); tree = FacetHelper.processStateAndTree(dataApi, SolrCore.TRANSCRIPTOMICS_EXPERIMENT, key, need, facet_fields, key.get("facet"), state, null, 4); } } catch (ParseException e) { LOGGER.error(e.getMessage(), e); } response.setContentType("application/json"); PrintWriter writer = response.getWriter(); tree.writeJSONString(writer); writer.close(); break; } case "download": { List<String> tableHeader = new ArrayList<>(); List<String> tableField = new ArrayList<>(); JSONArray tableSource = new JSONArray(); String fileName = "Transcriptomics"; String fileFormat = request.getParameter("fileformat"); String aT = request.getParameter("aT"); switch (aT) { case "0": { // experiments Map data = processExperimentTab(request); List<Map> experiments = (List<Map>) data.get("experiments"); for (Map item : experiments) { JSONObject doc = new JSONObject(); doc.putAll(item); tableSource.add(doc); } tableHeader.addAll(DownloadHelper.getHeaderForTranscriptomicsExperiment()); tableField.addAll(DownloadHelper.getFieldsForTranscriptomicsExperiment()); break; } case "1": { // comparisons Map data = processComparisonTab(request); List<Map> comparisons = (List<Map>) data.get("comparisons"); for (Map item : comparisons) { JSONObject doc = new JSONObject(); doc.putAll(item); tableSource.add(doc); } tableHeader.addAll(DownloadHelper.getHeaderForTranscriptomicsComparison()); tableField.addAll(DownloadHelper.getFieldsForTranscriptomicsComparison()); break; } } ExcelHelper excel = new ExcelHelper("xssf", tableHeader, tableField, tableSource); excel.buildSpreadsheet(); if (fileFormat.equalsIgnoreCase("xlsx")) { response.setContentType("application/octetstream"); response.addProperty("Content-Disposition", "attachment; filename=\"" + fileName + "." + fileFormat + "\""); excel.writeSpreadsheettoBrowser(response.getPortletOutputStream()); } else if (fileFormat.equalsIgnoreCase("txt")) { response.setContentType("application/octetstream"); response.addProperty("Content-Disposition", "attachment; filename=\"" + fileName + "." + fileFormat + "\""); response.getPortletOutputStream().write(excel.writeToTextFile().getBytes()); } break; } } } }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFileSpecialtyGenes(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;/* w w w . ja v a 2s . c o m*/ // from WP // data data = read(baseURL + "/tab/dlp-specialtygenes-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // popular genomes data = getPopularGenomesForSpecialtyGene(); if (data != null) { jsonData.put("popularGenomes", data); } // tools data = read(baseURL + "/tab/dlp-specialtygenes-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-specialtygenes-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-specialtygenes-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFileGenomicFeatures(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;// w ww . j ava 2 s . c o m // from WP // data data = read(baseURL + "/tab/dlp-genomicfeatures-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // popular genomes data = getPopularGenomesForGenomicFeature(); if (data != null) { jsonData.put("popularGenomes", data); } // tools data = read(baseURL + "/tab/dlp-genomicfeatures-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-genomicfeatures-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-genomicfeatures-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFileAntibioticResistanceGenes(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;/*from ww w. j a v a2 s.c o m*/ // from WP // data data = read(baseURL + "/tab/dlp-antibioticresistance-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // popular genomes data = this.getPopularGenomesForAntibioticResistanceGene(); if (data != null) { jsonData.put("popularGenomes", data); } // tools data = read(baseURL + "/tab/dlp-antibioticresistance-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-antibioticresistance-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-antibioticresistance-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFilePathways(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;/*from w w w .j av a 2 s . c o m*/ // from WP // data data = read(baseURL + "/tab/dlp-pathways-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // conservation data = getPathwayECDist(); if (data != null) { jsonData.put("conservation", data); } // popular genomes data = getPopularGenomesForPathways(); if (data != null) { jsonData.put("popularGenomes", data); } // tools data = read(baseURL + "/tab/dlp-pathways-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-pathways-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-pathways-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }
From source file:edu.vt.vbi.patric.cache.DataLandingGenerator.java
public boolean createCacheFileProteinFamilies(String filePath) { boolean isSuccess = false; JSONObject jsonData = new JSONObject(); JSONObject data;/*www. ja va2 s . co m*/ // from WP // data data = read(baseURL + "/tab/dlp-proteinfamilies-data/?req=passphrase"); if (data != null) { jsonData.put("data", data); } // tools data = read(baseURL + "/tab/dlp-proteinfamilies-tools/?req=passphrase"); if (data != null) { jsonData.put("tools", data); } // process data = read(baseURL + "/tab/dlp-proteinfamilies-process/?req=passphrase"); if (data != null) { jsonData.put("process", data); } // download data = read(baseURL + "/tab/dlp-proteinfamilies-download/?req=passphrase"); if (data != null) { jsonData.put("download", data); } // // add popularGenra data = getPopularGeneraFigfam(); if (data != null) { jsonData.put("popularGenomes", data); } // add figfam graph data data = getProteinFamilies(); if (data != null) { jsonData.put("FIGfams", data); } // save jsonData to file try (PrintWriter jsonOut = new PrintWriter( Files.newBufferedWriter(FileSystems.getDefault().getPath(filePath), Charset.defaultCharset()));) { jsonData.writeJSONString(jsonOut); isSuccess = true; } catch (IOException e) { LOGGER.error(e.getMessage(), e); } return isSuccess; }