From 5e67ae8442187cc23f0981e924f2033620a2ce7f Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Mon, 1 Jun 2009 09:48:00 +0000 Subject: [PATCH] provide uniquename based on srcfeature name and base range git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@10966 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- .../components/genebuilder/GeneUtils.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/uk/ac/sanger/artemis/components/genebuilder/GeneUtils.java b/uk/ac/sanger/artemis/components/genebuilder/GeneUtils.java index 8c0e37fee..8dc6c79f1 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/GeneUtils.java +++ b/uk/ac/sanger/artemis/components/genebuilder/GeneUtils.java @@ -831,6 +831,56 @@ public class GeneUtils return id; } + /** + * Prompt the user for an ID and provide a default automated ID + * based on the range. + * @param entry_group + * @param is_forward + * @param range + * @return + */ + public static String promptForUniquename(final EntryGroup entry_group, + final boolean is_forward, + final Range range) + { + final Entry default_entry = entry_group.getDefaultEntry (); + String id = null; + + if(default_entry.getEMBLEntry() instanceof + uk.ac.sanger.artemis.io.DatabaseDocumentEntry) + { + + while(id == null || + id.equals("") || + id.equals("to_be_set")) + { + String msg = "Provide a unique ID "; + + if(!is_forward) + msg = msg + "for reverse strand : "; + else + msg = msg + ": "; + + + id = JOptionPane.showInputDialog(null, msg, + default_entry.getName()+":"+ + range.getStart()+".."+ + range.getEnd()); + + if(!isUniqueID(entry_group, id)) + { + JOptionPane.showMessageDialog(null, + "ID "+id+" not unique.\nEnter a unique ID.", + "ID Not Unique", + JOptionPane.WARNING_MESSAGE); + id = null; + } + } + } + return id; + } + + /** * Test to ensure ID (chado uniquename) is unique. * @param entry_group -- GitLab