List of usage examples for org.json.simple JSONArray writeJSONString
public void writeJSONString(Writer out) throws IOException
From source file:edu.vt.vbi.patric.portlets.TranscriptomicsGene.java
public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { String callType = request.getParameter("callType"); if (callType != null) { switch (callType) { case "saveParams": { String keyword = request.getParameter("keyword"); DataApiHandler dataApi = new DataApiHandler(request); Map<String, String> key = new HashMap<>(); key.put("keyword", "locus_tag:(" + keyword + ") OR refseq_locus_tag:(" + keyword + ") "); key.put("fields", "pid"); SolrQuery query = dataApi.buildSolrQuery(key, null, null, 0, -1, false); String apiResponse = dataApi.solrQuery(SolrCore.TRANSCRIPTOMICS_GENE, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); List<Map> sdl = (List<Map>) respBody.get("docs"); Set<String> sampleIds = new HashSet<>(); for (Map doc : sdl) { sampleIds.add(doc.get("pid").toString()); }//ww w . j av a 2s. com String sId = StringUtils.join(sampleIds, ","); key = new HashMap(); if (!keyword.equals("")) { key.put("keyword", keyword); } response.setContentType("text/html"); PrintWriter writer = response.getWriter(); if (!sId.equals("")) { key.put("sampleId", sId); long pk = (new Random()).nextLong(); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); writer.write("" + pk); } else { writer.write(""); } writer.close(); break; } case "getTables": { String expId = request.getParameter("expId"); String sampleId = request.getParameter("sampleId"); String wsExperimentId = request.getParameter("wsExperimentId"); String wsSampleId = request.getParameter("wsSampleId"); String keyword = request.getParameter("keyword"); DataApiHandler dataApi = new DataApiHandler(request); JSONArray sample = new JSONArray(); if ((sampleId != null && !sampleId.equals("")) || (expId != null && !expId.equals(""))) { String query_keyword = ""; if (expId != null && !expId.equals("")) { query_keyword += "eid:(" + expId.replaceAll(",", " OR ") + ")"; } if (sampleId != null && !sampleId.equals("")) { if (query_keyword.length() > 0) { query_keyword += " AND "; } query_keyword += "pid:(" + sampleId.replaceAll(",", " OR ") + ")"; } Map<String, String> key = new HashMap<>(); key.put("keyword", query_keyword); key.put("fields", "pid,expname,expmean,timepoint,mutant,strain,condition"); SolrQuery query = dataApi.buildSolrQuery(key, null, null, 0, -1, false); String apiResponse = dataApi.solrQuery(SolrCore.TRANSCRIPTOMICS_COMPARISON, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); List<Map> sdl = (List<Map>) respBody.get("docs"); for (final Map doc : sdl) { final JSONObject item = new JSONObject(doc); sample.add(item); } } // Read from JSON if collection parameter is there ExpressionDataCollection parser = null; if (wsExperimentId != null && !wsExperimentId.equals("")) { String token = getAuthorizationToken(request); parser = new ExpressionDataCollection(wsExperimentId, token); parser.read(ExpressionDataCollection.CONTENT_SAMPLE); if (wsSampleId != null && !wsSampleId.equals("")) { parser.filter(wsSampleId, ExpressionDataCollection.CONTENT_SAMPLE); } // Append samples from collection to samples from DB sample = parser.append(sample, ExpressionDataCollection.CONTENT_SAMPLE); } String sampleList = ""; sampleList += ((JSONObject) sample.get(0)).get("pid"); for (int i = 1; i < sample.size(); i++) { sampleList += "," + ((JSONObject) sample.get(i)).get("pid"); } JSONObject jsonResult = new JSONObject(); jsonResult.put(ExpressionDataCollection.CONTENT_SAMPLE + "Total", sample.size()); jsonResult.put(ExpressionDataCollection.CONTENT_SAMPLE, sample); JSONArray expression = new JSONArray(); if ((sampleId != null && !sampleId.equals("")) || (expId != null && !expId.equals(""))) { String query_keyword = ""; if (keyword != null && !keyword.equals("")) { query_keyword += "(alt_locus_tag:(" + keyword + ") OR refseq_locus_tag:(" + keyword + ")) "; } if (expId != null && !expId.equals("")) { if (query_keyword.length() > 0) { query_keyword += " AND "; } query_keyword += "eid:(" + expId.replaceAll(",", " OR ") + ")"; } if (sampleId != null && !sampleId.equals("")) { if (query_keyword.length() > 0) { query_keyword += " AND "; } query_keyword += "pid:(" + sampleId.replaceAll(",", " OR ") + ")"; } Map<String, String> key = new HashMap<>(); key.put("keyword", query_keyword); key.put("fields", "pid,refseq_locus_tag,feature_id,log_ratio,z_score"); SolrQuery query = dataApi.buildSolrQuery(key, null, null, 0, -1, false); LOGGER.trace("getTables: [{}] {}", SolrCore.TRANSCRIPTOMICS_GENE.getSolrCoreName(), query); String apiResponse = dataApi.solrQuery(SolrCore.TRANSCRIPTOMICS_GENE, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); List<Map> sdl = (List<Map>) respBody.get("docs"); for (final Map doc : sdl) { final JSONObject item = new JSONObject(doc); expression.add(item); } // TODO: re-implement when data API removes limit 25k records int start = 0; int fetchedSize = sdl.size(); while (fetchedSize == 25000) { start += 25000; query.setStart(start); LOGGER.trace("getTables: [{}] {}", SolrCore.TRANSCRIPTOMICS_GENE.getSolrCoreName(), query); final String apiResponseSub = dataApi.solrQuery(SolrCore.TRANSCRIPTOMICS_GENE, query); final Map respSub = jsonReader.readValue(apiResponseSub); final Map respBodySub = (Map) respSub.get("response"); sdl = (List<Map>) respBodySub.get("docs"); fetchedSize = sdl.size(); for (final Map doc : sdl) { final JSONObject item = new JSONObject(doc); expression.add(item); } } } if (wsExperimentId != null && !wsExperimentId.equals("")) { parser.read(ExpressionDataCollection.CONTENT_EXPRESSION); if (wsSampleId != null && !wsSampleId.equals("")) parser.filter(wsSampleId, ExpressionDataCollection.CONTENT_EXPRESSION); // Append expression from collection to expression from DB expression = parser.append(expression, ExpressionDataCollection.CONTENT_EXPRESSION); } JSONArray stats = getExperimentStats(dataApi, expression, sampleList, sample); jsonResult.put(ExpressionDataCollection.CONTENT_EXPRESSION + "Total", stats.size()); jsonResult.put(ExpressionDataCollection.CONTENT_EXPRESSION, stats); response.setContentType("application/json"); PrintWriter writer = response.getWriter(); jsonResult.writeJSONString(writer); writer.close(); break; } case "doClustering": { String data = request.getParameter("data"); String g = request.getParameter("g"); String e = request.getParameter("e"); String m = request.getParameter("m"); String ge = request.getParameter("ge"); String pk = request.getParameter("pk"); String action = request.getParameter("action"); String folder = "/tmp/"; String filename = folder + "tmp_" + pk + ".txt"; String output_filename = folder + "cluster_tmp_" + pk; try { PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename, true))); out.write(data); out.close(); } catch (Exception es) { LOGGER.error(es.getMessage(), es); } response.setContentType("text/html"); PrintWriter writer = response.getWriter(); if (action.equals("Run")) writer.write(doCLustering(filename, output_filename, g, e, m, ge).toString()); writer.close(); break; } case "saveState": { String keyType = request.getParameter("keyType"); String pageAt = request.getParameter("pageAt"); String sampleFilter = request.getParameter("sampleFilter"); String regex = request.getParameter("regex"); String regexGN = request.getParameter("regexGN"); String upFold = request.getParameter("upFold"); String downFold = request.getParameter("downFold"); String upZscore = request.getParameter("upZscore"); String downZscore = request.getParameter("downZscore"); String significantGenes = request.getParameter("significantGenes"); String ClusterColumnOrder = request.getParameter("ClusterColumnOrder"); String ClusterRowOrder = request.getParameter("ClusterRowOrder"); String heatmapState = request.getParameter("heatmapState"); String heatmapAxis = request.getParameter("heatmapAxis"); String colorScheme = request.getParameter("colorScheme"); String filterOffset = request.getParameter("filterOffset"); Map<String, String> key = new HashMap<>(); key.put("sampleFilter", (sampleFilter == null) ? "" : sampleFilter); key.put("pageAt", (pageAt == null) ? "" : pageAt); key.put("regex", (regex == null) ? "" : regex); key.put("regexGN", (regexGN == null) ? "" : regexGN); key.put("upFold", (upFold == null) ? "" : upFold); key.put("downFold", (downFold == null) ? "" : downFold); key.put("upZscore", (upZscore == null) ? "" : upZscore); key.put("downZscore", (downZscore == null) ? "" : downZscore); key.put("significantGenes", (significantGenes == null) ? "" : significantGenes); key.put("ClusterRowOrder", (ClusterRowOrder == null) ? "" : ClusterRowOrder); key.put("ClusterColumnOrder", (ClusterColumnOrder == null) ? "" : ClusterColumnOrder); key.put("heatmapState", (heatmapState == null) ? "" : heatmapState); key.put("heatmapAxis", (heatmapAxis == null) ? "" : heatmapAxis); key.put("colorScheme", (colorScheme == null) ? "" : colorScheme); key.put("filterOffset", (filterOffset == null) ? "" : filterOffset); long pk = (new Random()).nextLong(); SessionHandler.getInstance().set(SessionHandler.PREFIX + pk, jsonWriter.writeValueAsString(key)); response.setContentType("text/html"); PrintWriter writer = response.getWriter(); writer.write("" + pk); writer.close(); break; } case "getState": { String keyType = request.getParameter("keyType"); String pk = request.getParameter("random"); if ((pk != null) && (keyType != null)) { JSONArray results = new JSONArray(); JSONObject a = new JSONObject(); Map<String, String> key = jsonReader .readValue(SessionHandler.getInstance().get(SessionHandler.PREFIX + pk)); if (key != null) { a.put("sampleFilter", key.get("sampleFilter")); a.put("pageAt", key.get("pageAt")); a.put("regex", key.get("regex")); a.put("regexGN", key.get("regexGN")); a.put("upFold", key.get("upFold")); a.put("downFold", key.get("downFold")); a.put("upZscore", key.get("upZscore")); a.put("downZscore", key.get("downZscore")); a.put("significantGenes", key.get("significantGenes")); a.put("ClusterRowOrder", key.get("ClusterRowOrder")); a.put("ClusterColumnOrder", key.get("ClusterColumnOrder")); a.put("heatmapState", key.get("heatmapState")); a.put("heatmapAxis", key.get("heatmapAxis")); a.put("colorScheme", key.get("colorScheme")); a.put("filterOffset", key.get("filterOffset")); } results.add(a); response.setContentType("application/json"); PrintWriter writer = response.getWriter(); results.writeJSONString(writer); writer.close(); } break; } case "downloadFeatures": { String featureIds = request.getParameter("featureIds"); String fileFormat = request.getParameter("fileFormat"); String fileName = "Table_Gene"; List<String> tableHeader = DownloadHelper.getHeaderForFeatures(); List<String> tableField = DownloadHelper.getFieldsForFeatures(); JSONArray tableSource = new JSONArray(); DataApiHandler dataApi = new DataApiHandler(request); SolrQuery query = new SolrQuery("feature_id:(" + featureIds.replaceAll(",", " OR ") + ")"); query.setFields(StringUtils.join(DownloadHelper.getFieldsForFeatures(), ",")); query.setRows(dataApi.MAX_ROWS); LOGGER.trace("downloadFeatures: [{}] {}", SolrCore.FEATURE.getSolrCoreName(), query); final String apiResponse = dataApi.solrQuery(SolrCore.FEATURE, query); final Map resp = jsonReader.readValue(apiResponse); final Map respBody = (Map) resp.get("response"); final List<GenomeFeature> features = (List) dataApi.bindDocuments((List) respBody.get("docs"), GenomeFeature.class); for (final GenomeFeature feature : features) { tableSource.add(feature.toJSONObject()); } final 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 { response.setContentType("application/octetstream"); response.addProperty("Content-Disposition", "attachment; filename=\"" + fileName + "." + fileFormat + "\""); response.getWriter().write(excel.writeToTextFile()); } } } } }
From source file:edu.vt.vbi.patric.portlets.CompPathwayTable.java
private void processFeatureIds(ResourceRequest request, ResourceResponse response) throws IOException { 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"); String featureList = request.getParameter("featureList"); DataApiHandler dataApi = new DataApiHandler(request); JSONArray items = new JSONArray(); try {/*from w w w . j av a2s. c om*/ SolrQuery query = new SolrQuery("*:*"); if (cType != null && cType.equals("taxon")) { query.addFilterQuery( SolrCore.GENOME.getSolrCoreJoin("genome_id", "genome_id", "taxon_lineage_ids:" + cId)); } else if (cType != null && cType.equals("genome")) { query.addFilterQuery( SolrCore.GENOME.getSolrCoreJoin("genome_id", "genome_id", "genome_id:(" + cId + ")")); } if (map != null && !map.equals("")) { query.addFilterQuery("pathway_id:(" + map.replaceAll(",", " OR ") + ")"); } if (algorithm != null && !algorithm.equals("")) { query.addFilterQuery("annotation:(" + algorithm + ")"); } if (ec_number != null && !ec_number.equals("")) { query.addFilterQuery("ec_number:(" + ec_number.replaceAll(",", " OR ") + ")"); } if (featureList != null && !featureList.equals("")) { query.addFilterQuery("feature_id:(" + featureList.replaceAll(",", " OR ") + ")"); } query.setRows(dataApi.MAX_ROWS).setFields("feature_id"); LOGGER.debug("processFeatureIds: [{}]{}", SolrCore.PATHWAY.getSolrCoreName(), query); String apiResponse = dataApi.solrQuery(SolrCore.PATHWAY, query); Map resp = jsonReader.readValue(apiResponse); Map respBody = (Map) resp.get("response"); List<Map> features = (List<Map>) respBody.get("docs"); for (Map feature : features) { items.add(feature.get("feature_id").toString()); } } catch (IOException e) { LOGGER.error(e.getMessage(), e); } items.writeJSONString(response.getWriter()); }
From source file:edu.vt.vbi.patric.portlets.WorkspacePortlet.java
@SuppressWarnings("unchecked") public void serveResource(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { String action_type = request.getParameter("action_type"); String action = request.getParameter("action"); if (action_type != null && action != null) { if (action_type.equals("WSSupport")) { switch (action) { case "inlinestatus": { String linkWorkspace = ""; if (isLoggedIn(request)) { linkWorkspace = "<a class=\"arrow-white-e\" href=\"/workspace/\">WORKSPACE: HOME</a>"; }//from w w w. j a va2s . c o m response.setContentType("text/plain"); PrintWriter writer = response.getWriter(); writer.write(linkWorkspace); writer.close(); break; } case "getGenomeGroupList": { JSONArray res = new JSONArray(); if (isLoggedIn(request)) { String token = getAuthorizationToken(request); String pathGenomeGroup = getUserWorkspacePath(request, DEFAULT_WORKSPACE_NAME) + "/Genome Groups"; try { DataApiHandler dataApi = new DataApiHandler(request); Workspace serviceWS = new Workspace(WORKSPACE_API_URL, token); list_params params = new list_params(); params.paths = Arrays.asList(pathGenomeGroup); Map<String, List<ObjectMeta>> resp = serviceWS.ls(params); List<ObjectMeta> groupList = resp.get(pathGenomeGroup); // sort by name Comparator comparator = new GenomeGroupNameComparator(); Collections.sort(groupList, comparator); JSONParser jsonParser = new JSONParser(); for (ObjectMeta group : groupList) { LOGGER.trace("reading: {},{},{},{},{},{},{}", group.e_1, group.e_2, group.e_3, group.e_5, group.e_7, group.e_8, group.e_9); if ("genome_group".equals(group.e_2)) { JSONObject grp = new JSONObject(); String genomeGroupId = group.e_5; // e_5, object id grp.put("id", genomeGroupId); grp.put("name", group.e_1); // e_1, object name grp.put("leaf", false); grp.put("collapsed", true); JSONArray children = new JSONArray(); // get genome associated in this group get_params gp = new get_params(); gp.objects = Arrays.asList(group.e_3 + group.e_1); // e_3, path gp.metadata_only = 0; gp.adminmode = 0; LOGGER.trace("requesting.. {}", group.e_3 + group.e_1); try { List<Workspace_tuple_2> r = serviceWS.get(gp); for (Workspace_tuple_2 item : r) { if (item.e_2 != null) { JSONObject groupInfo = (JSONObject) jsonParser.parse(item.e_2); // objectMeta List<String> genomeIdList = (List<String>) ((JSONObject) groupInfo .get("id_list")).get("genome_id"); Set<String> genomeIdSet = new HashSet<>(genomeIdList); genomeIdSet.remove(""); SolrQuery query = new SolrQuery("genome_id:(" + StringUtils.join(genomeIdSet, " OR ") + ")"); query.setRows(10000).addField("genome_id,genome_name,taxon_id"); LOGGER.trace("[{}] {}", SolrCore.GENOME.getSolrCoreName(), query); String apiResponse = dataApi.solrQuery(SolrCore.GENOME, query); Map respApi = jsonReader.readValue(apiResponse); Map respBody = (Map) respApi.get("response"); List<Genome> genomes = dataApi.bindDocuments( (List<Map>) respBody.get("docs"), Genome.class); Map<String, Genome> genomeHash = new LinkedHashMap<>(); for (Genome g : genomes) { genomeHash.put(g.getId(), g); } for (String genomeId : genomeIdSet) { Genome genome = genomeHash.get(genomeId); if (genome != null) { JSONObject leafGenome = new JSONObject(); leafGenome.put("id", genomeId); leafGenome.put("parentID", genomeGroupId); leafGenome.put("name", genome.getGenomeName()); leafGenome.put("leaf", true); leafGenome.put("genome_id", genomeId); leafGenome.put("taxon_id", genome.getTaxonId()); children.add(leafGenome); } } } } grp.put("children", children); res.add(grp); } catch (Exception ex) { LOGGER.error(ex.getMessage(), ex); } } } } catch (Exception e) { LOGGER.error(e.getMessage(), e); } } response.setContentType("application/json"); PrintWriter writer = response.getWriter(); res.writeJSONString(writer); writer.close(); break; } case "getGroupList": { String grp_type = request.getParameter("group_type"); JSONArray res = new JSONArray(); String grp_path = getUserWorkspacePath(request, DEFAULT_WORKSPACE_NAME); String grp_obj_type; switch (grp_type) { case "Genome": grp_path += "/Genome Groups"; grp_obj_type = "genome_group"; break; case "Feature": grp_path += "/Feature Groups"; grp_obj_type = "feature_group"; break; case "ExpressionExperiment": grp_path += "/Experiment Groups"; grp_obj_type = "experiment_group"; break; default: grp_obj_type = ""; // } String token = getAuthorizationToken(request); Workspace serviceWS = new Workspace(WORKSPACE_API_URL, token); list_params params = new list_params(); params.paths = Arrays.asList(grp_path); try { Map<String, List<ObjectMeta>> resp = serviceWS.ls(params); List<ObjectMeta> groupList = resp.get(grp_path); for (ObjectMeta group : groupList) { String groupId = group.e_5; // e_5, object id String groupName = group.e_1; // e_1, object name // TODO: how to read group description??? if (grp_obj_type.equals(group.e_2)) { JSONObject grp = new JSONObject(); grp.put("name", groupName); grp.put("description", ""); grp.put("tag", ""); grp.put("id", groupId); res.add(grp); } } } catch (Exception e) { LOGGER.error(e.getMessage(), e); } response.setContentType("application/json"); PrintWriter writer = response.getWriter(); res.writeJSONString(writer); writer.close(); break; } default: response.setContentType("application/json"); response.getWriter().write("sorry"); response.getWriter().close(); break; } } else if (action_type.equals("GSESupport")) { // if (action.equals("group_list")) { // // PersistentCartGroup group = null; // JSONArray groups = ws.getGroups(); // StringBuilder output = new StringBuilder(); // // output.append("<group_set>\n"); // for (Object aGroup : groups) { // JSONObject group = (JSONObject) aGroup; // // output.append("\t<group>\n"); // output.append("\t\t<idx>").append(group.get("tagId")).append("</idx>\n"); // output.append("\t\t<name>").append(group.get("name")).append("</name>\n"); // output.append("\t</group>\n"); // } // output.append("</group_set>"); // // response.setContentType("text/xml"); // response.getWriter().write(output.toString()); // response.getWriter().close(); // } // else if (action.equals("groups")) { // String strTagIds = request.getParameter("groupIds"); // JSONObject filter = new JSONObject(); // filter.put("key", "tagId"); // filter.put("value", strTagIds); // // JSONArray groups = ws.getGroups(filter); // StringBuilder o = new StringBuilder(); // // o.append("<group_set>\n"); // // for (Object aGroup : groups) { // JSONObject group = (JSONObject) aGroup; // // o.append("\t<group>\n"); // o.append("\t\t<name>").append(group.get("name")).append("</name>\n"); // o.append("\t\t<description>").append(((group.get("desc") != null) ? group.get("desc") : "")).append("</description>\n"); // o.append("\t\t<members>\n"); // // List<JSONObject> members = ws.findMappingByTagId(Integer.parseInt(group.get("tagId").toString())); // // Set<Integer> trackIds = new HashSet<>(); // for (JSONObject member : members) { // trackIds.add(Integer.parseInt(member.get("trackId").toString())); // } // JSONArray tracks = ws.getTracks(trackIds); // for (Object track : tracks) { // JSONObject member = (JSONObject) track; // o.append(member.get("internalId")).append("\n"); // } // // o.append("\t\t</members>\n"); // o.append("\t</group>\n"); // } // o.append("</group_set>"); // // // // response.setContentType("text/xml"); // response.getWriter().write(o.toString()); // response.getWriter().close(); // } // else if (action.equals("items")) { // // Set<Integer> trackIds = new HashSet<>(); // String strTagIds = request.getParameter("groupIds"); // String groupType; // String _tagId = null; // // if (strTagIds.contains(",")) { // for (String tagId : strTagIds.split(",")) { // List<JSONObject> mappings = ws.findMappingByTagId(Integer.parseInt(tagId)); // for (JSONObject mapping : mappings) { // trackIds.add(Integer.parseInt(mapping.get("trackId").toString())); // } // _tagId = tagId; // } // } // else { // List<JSONObject> mappings = ws.findMappingByTagId(Integer.parseInt(strTagIds)); // for (JSONObject mapping : mappings) { // trackIds.add(Integer.parseInt(mapping.get("trackId").toString())); // } // _tagId = strTagIds; // } // // JSONArray tracks = ws.getTracks(trackIds); // // // get group type // JSONObject filter = new JSONObject(); // filter.put("key", "tagId"); // filter.put("value", _tagId); // JSONArray gr = ws.getTags(filter); // groupType = ((JSONObject) gr.get(0)).get("type").toString(); // // JSONObject res; // Map<String, Object> key = new HashMap<>(); // key.put("tracks", tracks); // // StringBuilder out_sb = new StringBuilder(); // // if (groupType.equals("Feature")) { // res = solr.getFeaturesByID(key); // JSONArray items = (JSONArray) res.get("results"); // // out_sb.append( // "Feature ID\tGenome Name\tAccession\tPATRIC ID\tRefSeq Locus Tag\tAlt Locus Tag\tAnnotation\tFeature Type\tStart\tEnd\tLength(NT)\tStrand\t"); // out_sb.append("Protein Id\tLength(AA)\tGene Symbol\tProduct\n"); // // for (Object aItem : items) { // JSONObject item = (JSONObject) aItem; // out_sb.append(item.get("feature_id")).append("\t"); // out_sb.append(item.get("genome_name")).append("\t"); // out_sb.append(item.get("accession")).append("\t"); // out_sb.append(item.get("seed_id")).append("\t"); // out_sb.append((item.get("refseq_locus_tag") != null ? item.get("refseq_locus_tag") : "")).append("\t"); // out_sb.append((item.get("alt_locus_tag") != null ? item.get("alt_locus_tag") : "")).append("\t"); // out_sb.append(item.get("annotation")).append("\t"); // out_sb.append(item.get("feature_type")).append("\t"); // out_sb.append(item.get("start")).append("\t"); // out_sb.append(item.get("end")).append("\t"); // out_sb.append(item.get("na_length")).append("\t"); // out_sb.append(item.get("strand")).append("\t"); // out_sb.append((item.get("protein_id") != null ? item.get("protein_id") : "")).append("\t"); // out_sb.append(item.get("aa_length")).append("\t"); // out_sb.append((item.get("gene") != null ? item.get("gene") : "")).append("\t"); // out_sb.append(item.get("product")).append("\n"); // } // } // else if (groupType.equals("Genome")) { // res = solr.getGenomesByID(key); // JSONArray items = (JSONArray) res.get("results"); // // out_sb.append("Genome ID\tGenome Name\tStatus\tHost\tDisease\tIsolation Country\tCollection Date\tCompletion Date\n"); // // for (Object aItem : items) { // JSONObject item = (JSONObject) aItem; // out_sb.append(item.get("genome_id")).append("\t"); // out_sb.append(item.get("genome_name")).append("\t"); // out_sb.append(item.get("genome_status")).append("\t"); // out_sb.append((item.get("host_name") != null ? item.get("host_name") : "")).append("\t"); // out_sb.append((item.get("disease") != null ? item.get("disease") : "")).append("\t"); // out_sb.append((item.get("isolation_country") != null ? item.get("isolation_country") : "")).append("\t"); // out_sb.append((item.get("collection_date") != null ? item.get("collection_date") : "")).append("\t"); // out_sb.append((item.get("completion_date") != null ? item.get("completion_date") : "")).append("\n"); // } // } // else if (groupType.equals("ExpressionExperiment")) { // List<String> collectionIds = new ArrayList<>(); // // JSONArray exptracks; // JSONArray tracksPATRIC = new JSONArray(); // // if (key.containsKey("tracks")) { // exptracks = (JSONArray) key.get("tracks"); // // if (exptracks.size() > 0) { // for (Object exptrack : exptracks) { // JSONObject tr = (JSONObject) exptrack; // try { // Integer.parseInt(tr.get("internalId").toString()); // tracksPATRIC.add(tr); // } // catch (NumberFormatException nfe) { // collectionIds.add(tr.get("internalId").toString()); // } // } // } // } // // out_sb.append("Experiment Id\tSource\tTitle\tData Type\tAccession\n"); // // if (tracksPATRIC.size() > 0) { // Map<String, Object> keyPATRIC = new HashMap<>(); // keyPATRIC.put("tracks", tracksPATRIC); // res = solr.getExperimentsByID(keyPATRIC); // // JSONArray items = (JSONArray) res.get("results"); // for (Object aItem : items) { // JSONObject item = (JSONObject) aItem; // out_sb.append(item.get("expid")).append("\t"); // out_sb.append("PATRIC\t"); // out_sb.append(item.get("title")).append("\t"); // out_sb.append("Transcriptomics\t"); // TODO: modify later // out_sb.append((item.get("accession") != null ? item.get("accession") : "")).append("\n"); // } // } // // if (collectionIds.size() > 0) { // PolyomicHandler polyomic = getPolyomicHandler(request); // res = polyomic.getExperiments(collectionIds); // // JSONArray items = (JSONArray) res.get("results"); // for (Object aItem : items) { // JSONObject item = (JSONObject) aItem; // out_sb.append(item.get("expid")).append("\t"); // out_sb.append("me\t"); // out_sb.append(item.get("title")).append("\t"); // out_sb.append((item.get("data_type") != null ? item.get("data_type") : "")).append("\t"); // out_sb.append((item.get("accession") != null ? item.get("accession") : "")).append("\n"); // } // } // } // else { // // error // } // // response.setContentType("text/plain"); // response.getWriter().write(out_sb.toString()); // response.getWriter().close(); // } } else if (action_type.equals("LoginStatus")) { if (action.equals("getLoginStatus")) { if (!isLoggedIn(request)) { response.setContentType("text/plain"); response.getWriter().write("false"); response.getWriter().close(); } else { response.setContentType("text/plain"); response.getWriter().write("true"); response.getWriter().close(); } } } else if (action_type.equals("HTTPProvider")) { UIPreference uiPref = getValidUIPreference(request); switch (action) { case "storage": if (request.getMethod().equals("GET")) { String strUIPref = uiPref.getStateList().toJSONString(); response.getWriter().write(strUIPref); response.getWriter().close(); } else if (request.getMethod().equals("POST")) { JSONParser parser = new JSONParser(); JSONObject param; JSONArray params; try { Object rt = parser.parse(request.getReader()); if (rt instanceof JSONObject) { param = (JSONObject) rt; uiPref.setState(param); } else if (rt instanceof JSONArray) { params = (JSONArray) rt; uiPref.setStateList(params); } else { LOGGER.error(rt.toString()); } this.saveUIPreference(request, uiPref); } catch (ParseException e) { LOGGER.error(e.getMessage(), e); } response.getWriter().write(""); response.getWriter().close(); } break; case "remove": if (request.getParameter("name") != null) { uiPref.resetState(request.getParameter("name")); this.saveUIPreference(request, uiPref); } response.getWriter().write(""); response.getWriter().close(); break; case "reset": uiPref.reset(); this.saveUIPreference(request, uiPref); response.getWriter().write(""); response.getWriter().close(); break; } } } }
From source file:org.jitsi.videobridge.rest.HandlerImpl.java
/** * Lists the <tt>Conference</tt>s of (the associated) <tt>Videobridge</tt>. * * @param baseRequest the original unwrapped {@link Request} object * @param request the request either as the {@code Request} object or a * wrapper of that request/* ww w. j a v a 2 s . c o m*/ * @param response the response either as the {@code Response} object or a * wrapper of that response * @throws IOException * @throws ServletException */ private void doGetConferencesJSON(Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Videobridge videobridge = getVideobridge(); if (videobridge == null) { response.setStatus(HttpServletResponse.SC_SERVICE_UNAVAILABLE); } else { Conference[] conferences = videobridge.getConferences(); List<ColibriConferenceIQ> conferenceIQs = new ArrayList<>(); for (Conference conference : conferences) { ColibriConferenceIQ conferenceIQ = new ColibriConferenceIQ(); conferenceIQ.setID(conference.getID()); conferenceIQs.add(conferenceIQ); } JSONArray conferencesJSONArray = JSONSerializer.serializeConferences(conferenceIQs); if (conferencesJSONArray == null) conferencesJSONArray = new JSONArray(); response.setStatus(HttpServletResponse.SC_OK); conferencesJSONArray.writeJSONString(response.getWriter()); } }
From source file:org.pentaho.di.trans.steps.salesforce.SalesforceConnection.java
@SuppressWarnings("unchecked") private String buildJsonQueryResult(QueryResult queryResult) throws KettleException { JSONArray list = new JSONArray(); for (SObject sobject : queryResult.getRecords()) { list.add(buildJSONSObject(sobject)); }/*from www . jav a2 s. c o m*/ StringWriter sw = new StringWriter(); try { list.writeJSONString(sw); } catch (IOException e) { throw new KettleException(e); } return sw.toString(); }
From source file:servlets.StudentsServlet.java
/** * Handles the HTTP <code>GET</code> method. * * @param request servlet request/*from w ww. j ava2s . c o m*/ * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try (PrintWriter out = response.getWriter()) { try { StudentDAO stDao = new StudentDAO(); List<Student> students = stDao.getAllStudents(); JSONArray arr = new JSONArray(); for (Student st : students) { JSONObject obj = new JSONObject(); obj.put("id", st.getId()); obj.put("name", st.getName()); IdCard idCard = st.getIdCard(); JSONObject cardObj = new JSONObject(); cardObj.put("id", idCard.getId()); cardObj.put("idCardNumber", idCard.getIdNumber()); obj.put("idCard", cardObj); arr.add(obj); } arr.writeJSONString(out); } catch (Exception e) { out.println(e.getMessage()); } } }
From source file:smops.dao.BusinessManager.java
public static void prepareReport(int offset, int limit) { JSONArray all_json = new JSONArray(); final List<Business> bizs = getBusinesses(offset, limit); for (Business biz : bizs) { if (getValidFormsCount(biz) == 0) { continue; }/* w w w .jav a2 s.c o m*/ // System.out.println(""); // System.out.println("[" + biz.getName() + "] " + biz.getUrl()); JSONObject biz_json = new JSONObject(); biz_json.put("name", biz.getName()); // biz_json.put("url", biz.getUrl()); JSONArray forms_json = new JSONArray(); for (Object f : biz.getForms()) { Form form = (Form) f; if (form.getPurpose().equals("unknown")) { continue; } JSONObject f_json = new JSONObject(); f_json.put("page_url", " " + form.getPageUrl() + " "); f_json.put("purpose", form.getPurpose()); // System.out.println("\t" + form.getPageUrl()); // System.out.print("\t[" + form.getPurpose() + "]: "); String fields_str = ""; for (Object inp : form.getFields()) { Field field = (Field) inp; if (field.getInfoType().equals("unknown")) { continue; } fields_str += field.getInfoType() + " "; } f_json.put("fields", fields_str); forms_json.add(f_json); // System.out.println(fields_str); } if (!forms_json.isEmpty()) { biz_json.put("forms", forms_json); } if (!biz_json.isEmpty()) { all_json.add(biz_json); } } StringWriter out = new StringWriter(); try { all_json.writeJSONString(out); } catch (IOException ex) { Logger.getLogger(BusinessManager.class.getName()).log(Level.SEVERE, null, ex); } String jsonText = out.toString(); System.out.print(jsonText.replaceAll("/", "")); }
From source file:smops.dao.BusinessManager.java
public static void prepareTableReport(List<Business> bizs) { JSONArray all_json = new JSONArray(); for (Business biz : bizs) { // if (getValidFormsCount(biz) == 0) { // continue; // } // System.out.println(""); // System.out.println("[" + biz.getName() + "] " + biz.getUrl()); JSONObject biz_json = new JSONObject(); biz_json.put("name", biz.getName()); // biz_json.put("url", biz.getUrl()); JSONArray forms_json = new JSONArray(); for (Object f : biz.getForms()) { Form form = (Form) f;//w w w.j ava2s . c o m // if (!form.getPurpose().equals("unknown")) { // continue; // } JSONObject f_json = new JSONObject(); f_json.put("page_url", " " + form.getPageUrl() + " "); f_json.put("purpose", form.getPurpose()); System.out.print(biz.getName() + "\t"); System.out.print(form.getPageUrl() + "\t"); System.out.print(form.getPurpose() + "\t"); // System.out.println("\t" + form.getPageUrl()); // System.out.print("\t[" + form.getPurpose() + "]: "); String fields_str = ""; List<String> fields_infoType = new ArrayList<>(); for (Object inp : form.getFields()) { Field field = (Field) inp; fields_infoType.add(field.getInfoType()); } for (String inftype : Constants.infoType_keywords.keySet()) { if (fields_infoType.contains(inftype)) { System.out.print("1\t"); } else { System.out.print(" \t"); } } for (Object inp : form.getFields()) { Field field = (Field) inp; if (field.getInfoType().equals("unknown")) { continue; } fields_str += field.getInfoType() + " "; } f_json.put("fields", fields_str); forms_json.add(f_json); // System.out.println(fields_str); System.out.println(); } if (!forms_json.isEmpty()) { biz_json.put("forms", forms_json); } if (!biz_json.isEmpty()) { all_json.add(biz_json); } } StringWriter out = new StringWriter(); try { all_json.writeJSONString(out); } catch (IOException ex) { Logger.getLogger(BusinessManager.class.getName()).log(Level.SEVERE, null, ex); } String jsonText = out.toString(); // System.out.print(jsonText.replaceAll("/", "")); }
From source file:spms.server.controller.ActiveGame.java
public void sendGames() { //Through this method server can send game that client can join it try {//w w w . j ava 2 s . c o m Session dbconn = HibernateUtil.getSessionFactory().openSession(); dbconn.beginTransaction(); Query q = dbconn.createQuery( "Select g from ActiveGames a,GameType g where a.gameType.gameId=g.gameId order by a.createdTime"); Query q2 = dbconn.createQuery( "Select a from ActiveGames a,GameType g where a.gameType.gameId=g.gameId order by a.createdTime"); List<ActiveGames> agames = q2.list(); List<GameType> games = q.list(); dbconn.close(); JSONArray list = new JSONArray(); Iterator<GameType> gi = games.iterator(); Iterator<ActiveGames> ai = agames.iterator(); while (gi.hasNext()) { GameType g = gi.next(); ActiveGames a = ai.next(); JSONObject obj = new JSONObject(); obj.put("gameId", a.getActiveGameId()); obj.put("gameDesc", g.getGameDesc()); obj.put("gameName", g.getGameName()); obj.put("gameLavel", g.getGameLavel()); list.add(obj); } StringWriter out = new StringWriter(); list.writeJSONString(out); String jsonText = out.toString(); if (games.size() > 0) session.send(jsonText); else { session.send(SysConst.NO_DATA); } } catch (IOException ex) { Logger.getLogger(ActiveGame.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:spms.server.controller.CreateGame.java
public void sendGames() { try {// w w w . ja v a2s . c om //Through this method it's called Method send which in class TCPServer and it's send the game data that chosen by client Session dbconn = HibernateUtil.getSessionFactory().openSession(); dbconn.beginTransaction(); Query q = dbconn.createQuery("Select g from GameType g"); games = q.list(); dbconn.close(); JSONArray list = new JSONArray(); Iterator<GameType> gi = games.iterator(); while (gi.hasNext()) { GameType g = gi.next(); JSONObject obj = new JSONObject(); obj.put("gameId", g.getGameId()); obj.put("gameDesc", g.getGameDesc()); obj.put("gameName", g.getGameName()); obj.put("gameLavel", g.getGameLavel()); list.add(obj); } StringWriter out = new StringWriter(); list.writeJSONString(out); String jsonText = out.toString(); session.send(jsonText); // System.out.println(jsonText); } catch (IOException ex) { Logger.getLogger(CreateGame.class.getName()).log(Level.SEVERE, null, ex); } }