diff --git a/uk/ac/sanger/artemis/components/DatabaseJFrame.java b/uk/ac/sanger/artemis/components/DatabaseJFrame.java index 7c13908d954ae1bc6270159b90ebebc0f2520f0d..40dde5a30b47c1e77b482f0895c8de741554310c 100644 --- a/uk/ac/sanger/artemis/components/DatabaseJFrame.java +++ b/uk/ac/sanger/artemis/components/DatabaseJFrame.java @@ -20,7 +20,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/DatabaseJFrame.java,v 1.7 2005-11-22 11:02:31 tjc Exp $ + * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/DatabaseJFrame.java,v 1.8 2006-01-10 12:04:32 tjc Exp $ */ package uk.ac.sanger.artemis.components; @@ -128,7 +128,8 @@ public class DatabaseJFrame extends JFrame node_name = entry_source.getSelectedNode(tree); String id = entry_source.getEntryID(node_name); if(id != null) - getEntryEditFromDatabase(id, entry_source, tree, art_main); + getEntryEditFromDatabase(id, entry_source, tree, + art_main, node_name); } catch(NullPointerException npe) { @@ -142,7 +143,7 @@ public class DatabaseJFrame extends JFrame */ private void getEntryEditFromDatabase(final String id, final DatabaseEntrySource entry_source, final JTree tree, - final ArtemisMain art_main) + final ArtemisMain art_main, final String node_name) { SwingWorker entryWorker = new SwingWorker() { @@ -164,6 +165,18 @@ public class DatabaseJFrame extends JFrame final Entry entry = entry_source.getEntry(id, schema, progress_listener); + + + DatabaseDocumentEntry db_entry = + (DatabaseDocumentEntry)entry.getEMBLEntry(); + + int ind = 0; + String name = node_name; + if( (ind = name.lastIndexOf("-")) > -1) + name = name.substring(ind+1).trim(); + + ((DatabaseDocument)db_entry.getDocument()).setName(name); + if(entry == null) { tree.setCursor(cdone); @@ -176,8 +189,8 @@ public class DatabaseJFrame extends JFrame // add gff entries if(splitGFFEntry) { - DatabaseDocumentEntry db_entry = - (DatabaseDocumentEntry)entry.getEMBLEntry(); +// DatabaseDocumentEntry db_entry = +// (DatabaseDocumentEntry)entry.getEMBLEntry(); final DatabaseDocumentEntry[] entries = entry_source.makeFromGff( (DatabaseDocument)db_entry.getDocument(), id, schema); diff --git a/uk/ac/sanger/artemis/util/DatabaseDocument.java b/uk/ac/sanger/artemis/util/DatabaseDocument.java index 0b1400a7a6120d5fef3690f847d8653910e97f33..f59394a21607e0e46a331a773d7f6001e3aad7b2 100644 --- a/uk/ac/sanger/artemis/util/DatabaseDocument.java +++ b/uk/ac/sanger/artemis/util/DatabaseDocument.java @@ -210,6 +210,17 @@ public class DatabaseDocument extends Document return name; } + + /** + * + * Set the name of this document. + * + */ + public void setName(String name) + { + this.name = name; + } + /** * * Return a Document with the last element stripped off. @@ -401,7 +412,7 @@ public class DatabaseDocument extends Document ByteBuffer this_buff; int feature_size = featList.size(); - Hashtable hstore = new Hashtable(feature_size); + Hashtable id_store = new Hashtable(feature_size); // build feature name store for(int i = 0; i < feature_size; i++) @@ -409,7 +420,8 @@ public class DatabaseDocument extends Document Feature feat = (Feature)featList.get(i); String name = feat.getUniquename(); String feature_id = Integer.toString(feat.getId()); - hstore.put(feature_id, name); + + id_store.put(feature_id, name); } for(int i = 0; i < feature_size; i++) @@ -425,11 +437,11 @@ public class DatabaseDocument extends Document String propTypeName = getCvtermName(null, prop_type_id); String timelastmodified = feat.getTimelastmodified().toString(); String feature_id = Integer.toString(feat.getId()); -// hstore.put(feature_id, name); + String parent_id = feat.getObject_id(); - if(parent_id != null && hstore.containsKey(parent_id)) - parent_id = (String)hstore.get(parent_id); + if(parent_id != null && id_store.containsKey(parent_id)) + parent_id = (String)id_store.get(parent_id); // make gff format @@ -543,14 +555,16 @@ public class DatabaseDocument extends Document buffers[i] = new ByteBuffer(); String parentFeature = getFeatureNameJdbc(parentFeatureID, conn, schema); - Hashtable hstore = new Hashtable(); + Hashtable id_store = new Hashtable(); + ByteBuffer this_buff; while(rs.next()) { String name = rs.getString("uniquename"); String feature_id = rs.getString("feature_id"); - hstore.put(feature_id, name); + + id_store.put(feature_id, name); } rs.first(); @@ -566,11 +580,10 @@ public class DatabaseDocument extends Document String propTypeName = getCvtermName(conn, prop_type_id); String timelastmodified = rs.getString("timelastmodified"); String feature_id = rs.getString("feature_id"); -// hstore.put(feature_id, name); String parent_id = rs.getString("object_id"); - if(parent_id != null && hstore.containsKey(parent_id)) - parent_id = (String)hstore.get(parent_id); + if(parent_id != null && id_store.containsKey(parent_id)) + parent_id = (String)id_store.get(parent_id); // make gff format