/** * Finds the <code>Syn_GenesDAO</code> identified by <code> * id_syn_genesTarget</code> by searching the genesDAO's <code>Syn_GenesDAO * </code> collection. Returns the object if found; null otherwise. * * @param genesDAO the <code>GenesDAO</code>containing the <code>Syn_GenesDAO * </code> collection * @param id_syn the id_syn to match * @return The object if found; null otherwise. */ public static Syn_GenesDAO findSyn_genesDAO(GenesDAO genesDAO, int id_syn) { if (genesDAO.getSynonyms() == null) return null; Iterator<Syn_GenesDAO> syn_genesIterator = genesDAO.getSynonyms().iterator(); while (syn_genesIterator.hasNext()) { Syn_GenesDAO itSyn_genesDAO = syn_genesIterator.next(); if (itSyn_genesDAO.getId_syn() == id_syn) { return itSyn_genesDAO; } } return null; }
/** * Adds a new synonym to the gene identified by <code>gene</code>. * * @param gene the <code>GenesDAO</code> instance to which the new synonym is to be added * @return the new <code>Syn_GenesDAO</code> instance. */ public Syn_GenesDAO addSynonym(GenesDAO gene) { synchronized (gene) { Set<Syn_GenesDAO> syn_genesDAOSet = gene.getSynonyms(); if (syn_genesDAOSet == null) { syn_genesDAOSet = new LinkedHashSet(); gene.setSynonyms(syn_genesDAOSet); } Syn_GenesDAO syn_genesDAO = new Syn_GenesDAO(); syn_genesDAO.setLast_change(new Date()); syn_genesDAO.setUsername("EMMA"); syn_genesDAO.setGenes(gene); gene.getSynonyms().add(syn_genesDAO); save(gene); return syn_genesDAO; } }
/** * Transforms a <code>List<GenesDAO></code> to a JSON string. * * @param genesDAOList the list to be transformed * @return the transformed JSON string */ public static String toJSON(List<GenesDAO> genesDAOList) { JSONArray jsonList = new JSONArray(); for (GenesDAO gene : genesDAOList) { JSONObject jsonGeneDAO = new JSONObject(); jsonGeneDAO.put("centimorgan", gene.getCentimorgan() == null ? "" : gene.getCentimorgan()); jsonGeneDAO.put("chromosome", gene.getChromosome() == null ? "" : gene.getChromosome()); jsonGeneDAO.put("cytoband", gene.getCytoband() == null ? "" : gene.getCytoband()); jsonGeneDAO.put("ensembl_ref", gene.getEnsembl_ref() == null ? "" : gene.getEnsembl_ref()); jsonGeneDAO.put( "founder_line_number", gene.getFounder_line_number() == null ? "" : gene.getFounder_line_number()); jsonGeneDAO.put("id_gene", Integer.toString(gene.getId_gene())); jsonGeneDAO.put("mgi_ref", gene.getMgi_ref() == null ? "" : gene.getMgi_ref()); jsonGeneDAO.put("name", gene.getName() == null ? "" : gene.getName()); jsonGeneDAO.put( "plasmid_construct", gene.getPlasmid_construct() == null ? "" : gene.getPlasmid_construct()); jsonGeneDAO.put("promoter", gene.getPromoter() == null ? "" : gene.getPromoter()); jsonGeneDAO.put("species", gene.getSpecies() == null ? "" : gene.getSpecies()); jsonGeneDAO.put("symbol", gene.getSymbol() == null ? "" : gene.getSymbol()); if ((gene.getSynonyms() != null) && (gene.getSynonyms().size() > 0)) { JSONArray synonyms = new JSONArray(); Iterator<Syn_GenesDAO> iterator = gene.getSynonyms().iterator(); while (iterator.hasNext()) { Syn_GenesDAO syn_genesDAO = iterator.next(); JSONObject synonym = new JSONObject(); synonym.put("id_syn", Integer.toString(syn_genesDAO.getId_syn())); synonym.put("name", syn_genesDAO.getName()); synonym.put("symbol", syn_genesDAO.getSymbol()); synonyms.add(synonym); } jsonGeneDAO.put("synonyms", synonyms); } jsonList.add(jsonGeneDAO); } // Gson dosn't reserve space for fields with null values!!!! //////// Gson gson = new Gson(); //////// String s = gson.toJson(genesDAOList); //////// System.out.println(s); //////// return s; return jsonList.toString(); }
/** * Deletes the synonym identified by the primary key <code>id_syn</code> from the <code>GenesDAO * </code> object identified by <code>gene</code>. * * @param gene the gene from which the synonym is to be deleted * @param id_syn the primary key of the synonym to be deleted */ public void deleteSynonym(GenesDAO gene, int id_syn) { Session session = factory.getCurrentSession(); if (gene == null) return; synchronized (gene) { Syn_GenesDAO syn_genesDAO = findSyn_genesDAO(gene, id_syn); if (syn_genesDAO != null) { gene.getSynonyms().remove(syn_genesDAO); try { session.beginTransaction(); session.delete(syn_genesDAO); session.getTransaction().commit(); } catch (HibernateException e) { session.getTransaction().rollback(); } } } }