Changeset 7609
- Timestamp:
- 2004-06-17T14:30:29+12:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gli/src/org/greenstone/gatherer/msm/MSMPrompt.java
r6770 r7609 668 668 args[0] = name; 669 669 670 // we ignore any namespaces - if the name was a full match (namespace 671 // and element name) then we wouldn't be in here 672 String unqualified_name = name; 673 int ns_sep = unqualified_name.indexOf(MSMUtils.NS_SEP); 674 if (ns_sep != -1) { 675 unqualified_name = unqualified_name.substring(ns_sep+1); 676 } 677 670 678 // Create 671 679 MSMDialog dialog = new MSMDialog(); … … 728 736 729 737 // Connect 730 AddListener add_listener = new AddListener(dialog, name, set);738 AddListener add_listener = new AddListener(dialog, unqualified_name, set); 731 739 CancelListener cancel_listener = new CancelListener(dialog); 732 740 IgnoreListener ignore_listener = new IgnoreListener(dialog); 733 741 MergeListener merge_listener = new MergeListener(dialog, element); 734 SetListener set_listener = new SetListener(set, element, name, add_button, merge_button);735 742 SetListener set_listener = new SetListener(set, element, unqualified_name, add_button, merge_button); 743 736 744 add_button.addActionListener(add_listener); 737 745 cancel_button.addActionListener(cancel_listener); … … 748 756 MetadataSet closest_set = null; 749 757 ElementWrapper closest_element = null; 750 String base_name = name;751 int ns_sep = base_name.indexOf(MSMUtils.NS_SEP);752 if (ns_sep != -1) {753 base_name = base_name.substring(ns_sep+1);754 }755 758 for(int i = 0; i < set.getItemCount(); i++) { 756 759 MetadataSet mds = (MetadataSet) set.getItemAt(i); … … 758 761 Element mde = mds.getElement(j); 759 762 String new_name = mde.getAttribute("name"); 760 if ( base_name.equals(new_name)) {763 if (unqualified_name.equals(new_name)) { 761 764 closest_element = new ElementWrapper(mde); 762 765 closest_set = mds; … … 845 848 set_listener = null; 846 849 set = null; 850 unqualified_name = null; 847 851 button_pane = null; 848 852 dialog.dispose(); … … 862 866 private JDialog dialog = null; 863 867 private String name = null; 868 // the name should have no namespace 864 869 public AddListener(JDialog dialog, String name, JComboBox set) { 865 870 this.dialog = dialog; … … 870 875 // Get the currently selected metadata set. 871 876 MetadataSet mds = (MetadataSet) set.getSelectedItem(); 872 String n = name;873 // If we've been forced to go this far then any given namespace is complete bollocks.874 while(n.indexOf(".") != -1 && !n.equals(".")) {875 n = n.substring(n.indexOf(".") + 1);876 }877 877 // However, before we attempt to add a new element to the set, we should check that none already exists. 878 878 Element element = mds.getElement(name); 879 879 if (element == null) { 880 result = mds.addElement(n , Gatherer.config.getLanguage());880 result = mds.addElement(name, Gatherer.config.getLanguage()); 881 881 } 882 882 else { … … 884 884 } 885 885 mds = null; 886 n = null;887 886 element = null; 888 887 dialog.setVisible(false); … … 1042 1041 // Can only add if the element doesn't already exist in the metadata set 1043 1042 add_button.setEnabled(!mds.containsElement(element_name)); 1044 1045 1043 // Can only merge if the metadata set is not empty 1046 1044 merge_button.setEnabled(mds.size() > 0);
Note:
See TracChangeset
for help on using the changeset viewer.