143 | | if(indexes.getLength() != 0) { |
144 | | //just reinstate what we had previously |
145 | | setRoot(mg_element); |
146 | | } else { |
147 | | // If mg element has no indexes, and the current mgpp index includes a text one, then generate text indexes for each of the registered levels. |
148 | | Index index = getIndex(StaticStrings.TEXT_STR); |
149 | | if(index != null) { |
150 | | // Replace mgpp element with mg element |
151 | | setRoot(mg_element); |
152 | | ArrayList levels = CollectionDesignManager.index_manager.getLevels(); |
153 | | int level_size = levels.size(); |
154 | | for(int i = 0; i < level_size; i++) { |
155 | | IndexOption level = (IndexOption) levels.get(i); |
156 | | Index new_index = new Index(level.getName(), index.getSources()); |
157 | | // Try to retrieve existing metadatum |
158 | | String source_str = new_index.getID(); |
159 | | CollectionMeta metadatum = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.STOP_CHARACTER + source_str, false); |
160 | | // If no metadata was found, add new pseudo metadata using the id |
161 | | if(metadatum == null) { |
162 | | metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + source_str); |
163 | | metadatum.setAssigned(true); |
164 | | metadatum.setValue(source_str); |
165 | | } |
166 | | // If it was found, ensure it is assigned |
167 | | else { |
168 | | metadatum.setAssigned(true); |
169 | | } |
170 | | source_str = null; |
171 | | addIndex(new_index, metadatum); |
172 | | new_index = null; |
173 | | level = null; |
174 | | } |
175 | | } |
| 143 | // Replace mgpp element with mg element |
| 144 | setRoot(mg_element); |
| 145 | |
| 146 | if(indexes.getLength() == 0) { |
| 147 | // we need to create some based on the mgpp indexes |
| 148 | |
| 149 | // If the current mgpp index includes a text one, then generate text indexes for each of the registered levels. |
| 150 | Index index = getIndex(StaticStrings.TEXT_STR); |
| 151 | if(index != null) { |
| 152 | ArrayList levels = CollectionDesignManager.index_manager.getLevels(); |
| 153 | int level_size = levels.size(); |
| 154 | for(int i = 0; i < level_size; i++) { |
| 155 | IndexOption level = (IndexOption) levels.get(i); |
| 156 | Index new_index = new Index(level.getName(), index.getSources()); |
| 157 | // Try to retrieve existing metadatum |
| 158 | String source_str = new_index.getID(); |
| 159 | CollectionMeta metadatum = CollectionDesignManager.collectionmeta_manager.getMetadatum(StaticStrings.STOP_CHARACTER + source_str, false); |
| 160 | // If no metadata was found, add new pseudo metadata using the id |
| 161 | if(metadatum == null) { |
| 162 | metadatum = new CollectionMeta(StaticStrings.STOP_CHARACTER + source_str); |
| 163 | metadatum.setAssigned(true); |
| 164 | metadatum.setValue(source_str); |
| 165 | } |
| 166 | // If it was found, ensure it is assigned |
| 167 | else { |
| 168 | metadatum.setAssigned(true); |
| 169 | } |
| 170 | source_str = null; |
| 171 | addIndex(new_index, metadatum); |
| 172 | new_index = null; |
| 173 | level = null; |
| 174 | } |
| 175 | } |