Changeset 36139
- Timestamp:
- 2022-04-12T11:07:08+12:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/gli/src/org/greenstone/gatherer/cdm/IndexManager.java
r24367 r36139 70 70 public IndexManager(Element indexes, String current_build_type) { 71 71 72 super(indexes, StaticStrings.INDEX_ELEMENT, new Index());72 super(indexes, StaticStrings.INDEX_ELEMENT, (current_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)?new MGIndex():new Index())); 73 73 DebugStream.println("IndexManager: " + getSize() + " indexes parsed."); 74 74 index_model = this; 75 75 76 77 76 // Parse and retrieve the default index 78 77 NodeList default_index_elements = CollectionConfiguration.getElementsByTagName(StaticStrings.INDEX_DEFAULT_ELEMENT); 79 78 if(default_index_elements.getLength() > 0) { 80 81 default_index = new Index((Element)default_index_elements.item(0)); 79 if (current_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) { 80 default_index = new MGIndex((Element)default_index_elements.item(0)); 81 } else { 82 default_index = new Index((Element)default_index_elements.item(0)); 83 } 82 84 } 83 85 build_type = current_build_type; … … 136 138 137 139 private void changeToMGIndexes() { 140 this.setClassType(new MGIndex()); 138 141 Element mgpp_element = root; 139 142 // Retrieve and assign MG element and default index element … … 154 157 for(int i = 0; i < level_size; i++) { 155 158 IndexOption level = (IndexOption) levels.get(i); 156 Index new_index = new Index(level.getName(), index.getSources());159 Index new_index = new MGIndex(level.getName(), index.getSources()); 157 160 // Try to retrieve existing metadatum 158 161 String source_str = new_index.getID(); … … 183 186 184 187 private void changeToMGPPIndexes() { 188 this.setClassType(new Index()); 185 189 Element mg_element = root; 186 190 // Retrieve and assign the MGPP indexes element. … … 397 401 if(default_index == null) { 398 402 // Create the default index element, and place immediately after indexes element. 399 Element default_index_element = root.getOwnerDocument().createElement(StaticStrings.INDEX_DEFAULT_ELEMENT); 400 default_index = new Index(default_index_element); 403 Element default_index_element = root.getOwnerDocument().createElement(StaticStrings.INDEX_DEFAULT_ELEMENT); 404 if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) { 405 default_index = new MGIndex(default_index_element); 406 } else { 407 default_index = new Index(default_index_element); 408 } 401 409 Node target_node = CollectionConfiguration.findInsertionPoint(default_index_element); 402 410 if(target_node != null) { … … 406 414 root.getOwnerDocument().getDocumentElement().appendChild(default_index_element); 407 415 } 416 } else { 417 if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG) &&! (default_index instanceof org.greenstone.gatherer.cdm.MGIndex)) { 418 default_index = new MGIndex(default_index.getElement()); 419 } else if (!build_type.equals(BuildTypeManager.BUILD_TYPE_MG) && default_index instanceof org.greenstone.gatherer.cdm.MGIndex) { 420 default_index = new Index(default_index.getElement()); 421 } 408 422 } 409 423 default_index.setAssigned(true); 410 default_index.setLevel(index.getLevel());411 424 default_index.setSources(index.getSources()); 425 if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) { 426 ((MGIndex)default_index).setLevel(((MGIndex)index).getLevel()); 427 } 412 428 413 429 } … … 847 863 } 848 864 if (!mgpp_enabled) { 849 level_combobox.setSelectedIndex( existing_index.getLevel());865 level_combobox.setSelectedIndex(((MGIndex)existing_index).getLevel()); 850 866 } 851 867 … … 894 910 index = new Index(sources); 895 911 } else { 896 index = new Index(level_combobox.getSelectedIndex(), sources);912 index = new MGIndex(level_combobox.getSelectedIndex(), sources); 897 913 } 898 914 } else { … … 911 927 912 928 } 929 930 private Index generateNewIndex() { 931 Index index = null; 932 ArrayList sources; 933 if (mgpp_enabled && allfields_box.isSelected()) { 934 sources = new ArrayList(); 935 sources.add(ALLFIELDS); 936 index = new Index(sources); 937 } 938 else if (text_checkbox.isSelected() || !source_list.isNothingTicked()) { 939 sources = source_list.getTicked(); 940 if (text_checkbox.isSelected()) { 941 sources.add(0, StaticStrings.TEXT_STR); 942 } 943 if(mgpp_enabled) { 944 index = new Index(sources); 945 } else { 946 index = new MGIndex(level_combobox.getSelectedIndex(), sources); 947 } 948 } 949 return index; 950 951 952 } 953 954 private CollectionMeta generateCollectionMeta(Index index) { 955 CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + index.getID()); 956 if (use_macro_as_display_name(index.getID())) { 957 metadatum.setValue(get_macro_name(index.getID())); 958 } else { 959 metadatum.setValue(index.getID()); 960 } 961 return metadatum; 962 } 963 913 964 private class AddIndexListener 914 965 implements ActionListener … … 916 967 public void actionPerformed(ActionEvent event) 917 968 { 918 Index index; 919 if (mgpp_enabled && allfields_box.isSelected()) { 920 ArrayList sources = new ArrayList(); 921 sources.add(ALLFIELDS); 922 index = new Index(sources); 969 Index index = generateNewIndex(); 970 if (index != null) { 971 972 CollectionMeta metadatum = generateCollectionMeta(index); 973 // Add the index 974 addIndex(index, metadatum); 975 index_list.setSelectedValue(index, true); 923 976 } 924 else if (text_checkbox.isSelected() || 925 !source_list.isNothingTicked()) { 926 ArrayList sources = source_list.getTicked(); 927 if (text_checkbox.isSelected()) { 928 sources.add(0, StaticStrings.TEXT_STR); 929 } 930 if(mgpp_enabled) { 931 index = new Index(sources); 932 } else { 933 index = new Index(level_combobox.getSelectedIndex(), sources); 934 } 935 } else { 936 return; 937 } 938 939 // Before we add the index to the model, we have to add a default collection metadata for this 940 CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + index.getID()); 941 if (use_macro_as_display_name(index.getID())) { 942 metadatum.setValue(get_macro_name(index.getID())); 943 } else { 944 metadatum.setValue(index.getID()); 945 } 946 947 // Finally, add the index 948 addIndex(index, metadatum); 949 index_list.setSelectedValue(index, true); 950 new_index_prompt.dispose(); 977 new_index_prompt.dispose(); 951 978 } 952 979 } … … 1018 1045 implements ActionListener { 1019 1046 1020 public void actionPerformed(ActionEvent event) { 1021 1022 ArrayList sources; 1023 Index index = null; 1024 if (text_checkbox.isSelected() || !source_list.isNothingTicked()) { 1025 sources = source_list.getTicked(); 1026 if (text_checkbox.isSelected()) { 1027 sources.add(0, StaticStrings.TEXT_STR); 1028 } 1029 if (mgpp_enabled) { 1030 index = new Index(sources); 1031 } else { 1032 index = new Index(level_combobox.getSelectedIndex(), sources); 1033 } 1034 } 1047 public void actionPerformed(ActionEvent event) 1048 { 1049 Index index = generateNewIndex(); 1035 1050 if (index != null) { 1036 // Create the new collection meta 1037 CollectionMeta metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + index.getID()); 1038 if (use_macro_as_display_name(index.getID())) { 1039 metadatum.setValue(get_macro_name(index.getID())); 1040 } else { 1041 metadatum.setValue(index.getID()); 1042 } 1043 1051 CollectionMeta metadatum = generateCollectionMeta(index); 1044 1052 // replace the index 1045 1053 replaceIndex((Index) index_list.getSelectedValue(), index, metadatum); 1046 1054 index_list.setSelectedValue(index, true); 1047 1048 1055 } 1049 1056 new_index_prompt.dispose(); 1050 1051 1057 } 1052 1058 }
Note:
See TracChangeset
for help on using the changeset viewer.