Changeset 25779
- Timestamp:
- 2012-06-07T21:34:38+12:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/gli/src/org/greenstone/gatherer/cdm/CollectionConfigXMLReadWrite.java
r25744 r25779 31 31 import java.util.ArrayList; 32 32 import java.util.HashMap; 33 import java.util.HashSet; 33 34 import java.util.Iterator; 34 35 import java.util.LinkedHashSet; … … 2340 2341 } 2341 2342 2342 if (displayItemListNode != null)2343 {2344 2345 NodeList nl = ((Element)displayItemListNode).getElementsByTagName(StaticStrings.DISPLAYITEM_STR);2346 2347 // make a list of all unique attribute names that are specifically not2348 // description, smallicon, icon and name, since these are already processed above2349 Set setOfUniqueDisplayItemNames = new LinkedHashSet();2350 for(int i = 0; i < nl.getLength(); i++) {2351 Element displayItem = (Element)nl.item(i);2352 String name = displayItem.getAttribute(StaticStrings.NAME_ATTRIBUTE);2353 2354 if(name.equals("")) continue; // no name attribute2355 2356 if(name.equals(StaticStrings.DESCRIPTION_STR)) continue;2357 if(name.equals(StaticStrings.SMALLICON_STR)) continue;2358 if(name.equals(StaticStrings.ICON_STR)) continue;2359 if(name.equals(StaticStrings.NAME_STR)) continue;2360 // don't add displayItems that are handled by the indexers, etc. E.g. document:ex.Title2361 if(name.indexOf(":") != -1) continue;2362 2363 // otherwise2364 setOfUniqueDisplayItemNames.add(name); // Set will ensure no duplicate names2365 }2366 2367 Iterator i = setOfUniqueDisplayItemNames.iterator();2368 while (i.hasNext()) {2369 String displayItemName = (String)i.next();2370 2371 ArrayList custom_displayItem = doDisplayItemList(dOc, displayItemListNode, displayItemName, displayItemName);2372 appendArrayList(toElement, custom_displayItem);2373 }2374 }2375 2376 2343 if (buildtype_value.equalsIgnoreCase("mg")) 2377 2344 { … … 2381 2348 { 2382 2349 doMGPPIndexes(dOc, searchNode); 2383 } 2350 } 2384 2351 2385 2352 doDefaultIndex(dOc, searchNode); … … 2397 2364 doReplaceListRef(dOc, fromElement); 2398 2365 doServiceRackList(dOc, fromElement); 2366 2367 // the official displayItems in the displayItemList element have already been handled above 2368 // and created as collectionmetadata elements in the dOc object 2369 // Now we add in all the *other* (remaining) displayItems as collectionmeta elements 2370 NodeList collectionMetadataList = dOc.getDocumentElement().getElementsByTagName(StaticStrings.COLLECTIONMETADATA_ELEMENT); 2371 Set setOfUniqueColMetaNames = new HashSet(); 2372 for(int i = 0; i < collectionMetadataList.getLength(); i++) { 2373 Element colMeta = (Element)collectionMetadataList.item(i); 2374 String name = colMeta.getAttribute(StaticStrings.NAME_ATTRIBUTE); 2375 setOfUniqueColMetaNames.add(name); 2376 } 2377 2378 if (displayItemListNode != null) 2379 { 2380 NodeList nl = ((Element)displayItemListNode).getElementsByTagName(StaticStrings.DISPLAYITEM_STR); 2381 2382 // make a list of all unique attribute names that are specifically not 2383 // description, smallicon, icon and name, since these are already processed above 2384 Set setOfUniqueDisplayItemNames = new LinkedHashSet(); 2385 for(int i = 0; i < nl.getLength(); i++) { 2386 Element displayItem = (Element)nl.item(i); 2387 String name = displayItem.getAttribute(StaticStrings.NAME_ATTRIBUTE); 2388 2389 if(name.equals("")) continue; // no name attribute 2390 if(setOfUniqueColMetaNames.contains(name)) continue; 2391 2392 if(name.equals(StaticStrings.DESCRIPTION_STR)) continue; 2393 if(name.equals(StaticStrings.SMALLICON_STR)) continue; 2394 if(name.equals(StaticStrings.ICON_STR)) continue; 2395 if(name.equals(StaticStrings.NAME_STR)) continue; 2396 // don't add displayItems that are handled by the indexers, etc. E.g. document:ex.Title 2397 if(name.indexOf(":") != -1) continue; 2398 2399 // otherwise 2400 setOfUniqueDisplayItemNames.add(name); // Set will ensure no duplicate names 2401 } 2402 2403 Iterator i = setOfUniqueDisplayItemNames.iterator(); 2404 while (i.hasNext()) { 2405 String displayItemName = (String)i.next(); 2406 2407 ArrayList custom_displayItem = doDisplayItemList(dOc, displayItemListNode, displayItemName, displayItemName); 2408 appendArrayList(toElement, custom_displayItem); 2409 } 2410 } 2399 2411 2400 2412 }
Note:
See TracChangeset
for help on using the changeset viewer.