Changeset 10975 for trunk/gli


Ignore:
Timestamp:
2005-12-02T16:31:00+13:00 (18 years ago)
Author:
kjdon
Message:

some tidying up and bug fixes for new combined mg/mgpp index panel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/cdm/IndexManager.java

    r10966 r10975  
    5252
    5353    static final private Dimension FIELD_SIZE = new Dimension(200,30);
    54     static final private String MGINDEXES = "mg indexes";
    55     static final private String MGPPINDEXES = "mgpp indexes";
    5654
    5755    static final private String ALLFIELDS = "allfields";
     
    9896        else {
    9997        add(index);
    100         // Also set this index as the default one, but only if there are levels available (ie mg only)
    101         if(index.getLevel() != -1) {
    102             setDefault(index);
    103         }
     98        // Also set this index as the default one,
     99        setDefault(index);
    104100        }
    105101        Gatherer.c_man.configurationChanged();
     
    278274        // Remove any current metadata from this index
    279275        CollectionDesignManager.collectionmeta_manager.removeMetadata(CollectionConfiguration.STOP_CHARACTER + index.getID());
     276        // Remove the index
     277        remove(index);
    280278        // Check if the index removed happens to be the default index
    281279        if(default_index != null && default_index.equals(index)) {
     
    289287            default_index.setAssigned(false);
    290288        }
    291         }
    292         // Remove the index
    293         remove(index);
     289        }
    294290        Gatherer.c_man.configurationChanged();
    295291    }
     
    315311    if (!old_index.getID().equals(new_index.getID()) && contains(new_index)) {
    316312        // shoudl we output an error??
    317         System.err.println("new index is already in the list, but is not the old one");
    318313        return;
    319314    }
     
    356351        default_index.setLevel(index.getLevel());
    357352        default_index.setSources(index.getSources());
     353       
    358354    }
    359355    else {
     
    453449        int levels_list_size = levels_list.size();
    454450        for(int k = 0; k < levels_list_size; k++) {
    455             Level new_level = new Level((String)levels_list.get(k));
     451            String level_name = (String)levels_list.get(k);
     452            Level new_level = new Level(level_name);
    456453            if(!levels_model.contains(new_level)) {
    457             levels_model.add(levels_model.getSize(), new_level);
     454            CollectionMeta metadatum = CollectionDesignManager.collectionmeta_manager.getMetadatum(CollectionConfiguration.STOP_CHARACTER + level_name, false);
     455            // If no metadata was found, add new pseudo metadata using the id
     456            if(metadatum == null) {
     457                metadatum = new CollectionMeta(CollectionConfiguration.STOP_CHARACTER + level_name);
     458                metadatum.setAssigned(true);
     459                metadatum.setValue(level_name);
     460            }
     461            addLevel(new_level, metadatum);
    458462            }
    459463            new_level = null;
     464           
    460465        }
    461466        }
     
    468473        mg_element.setAttribute(CollectionConfiguration.ASSIGNED_ATTRIBUTE, CollectionConfiguration.FALSE_STR);
    469474        mg_element = null;
    470         if(default_index != null) {
    471         //default_index.setAssigned(false);
    472         default_index.setLevel(-1);
    473         }
    474475    }
    475476    // change MGPP -> MG
     
    479480        Element mg_element = CollectionDesignManager.collect_config.getMGIndexes();
    480481        mg_element.setAttribute(CollectionConfiguration.ASSIGNED_ATTRIBUTE, CollectionConfiguration.TRUE_STR);
    481         if(default_index != null) {
    482         default_index.setAssigned(true);
    483         default_index.setLevel(1); // for now
    484         }
    485482        // If mg element has no indexes, and the current mgpp index include a text one, then generate text indexes for each of the registered levels.
    486483        NodeList indexes = mg_element.getElementsByTagName(CollectionConfiguration.INDEX_ELEMENT);
     
    522519        levels_model.root.setAttribute(CollectionConfiguration.ASSIGNED_ATTRIBUTE, CollectionConfiguration.FALSE_STR);
    523520    }
     521    // its really hard to transfer defaults between mg and mgpp. so we'll just assign the first one to be the default.
     522    Index first_index = (Index) getElementAt(0);
     523    setDefault(first_index);
     524    first_index = null;
     525   
    524526   
    525527    }
     
    803805            tabbed_pane.remove(0);
    804806            add(main_index_pane, BorderLayout.CENTER);
     807            source_list.setEnabled(true); // in case it had been disabled
     808            allfields_box.setSelected(false);
    805809        }
    806810        }
     
    830834        source_list.clearTicked();
    831835        ArrayList sources = selected_index.getSources();
    832         source_list.setTickedObjects(sources.toArray());
    833        
     836        if (mgpp_enabled && sources.get(0).equals(ALLFIELDS)) {
     837        source_list.setEnabled(false);
     838        allfields_box.setSelected(true);
     839        } else {
     840        source_list.setTickedObjects(sources.toArray());
     841        source_list.setEnabled(true);
     842        allfields_box.setSelected(false);
     843        }
    834844    }
    835845   
     
    11171127        }
    11181128        index_list.setSelectedIndex(i);
    1119 
    11201129        // This will produce an event on the list, updating the other buttons
    11211130        if (size == 0) {
Note: See TracChangeset for help on using the changeset viewer.