Changeset 13058


Ignore:
Timestamp:
2006-10-09T16:58:36+13:00 (18 years ago)
Author:
kjdon
Message:

uses the new IndexOptionManager instead of LevelManager, and buildtype changes handled by that object rather than by this object. stem/case/accentfold now done by IndexOptionManager not by this.

File:
1 edited

Legend:

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

    r13047 r13058  
    4646
    4747
    48 /** This class is responsible for coordinating the IndexManager and LevelManager and BuildTypeManager into one panel 
     48/** This class is responsible for coordinating the IndexManager and IndexOptionManager (controls levels, stem options etc) and BuildTypeManager into one panel 
    4949 * @author John Thompson, Greenstone Digital Library, University of Waikato
    5050 * @version 2.3
     
    5252public class IndexingManager {
    5353
    54     private LevelManager level_manager = null;
     54    private IndexOptionManager option_manager = null;
    5555    private IndexManager index_manager = null;
    5656    private BuildTypeManager build_type_manager = null;
    5757
    58     private JCheckBox stem_checkbox = new JCheckBox();
    59     private JCheckBox casefold_checkbox = new JCheckBox();
    60     private JCheckBox accent_fold_checkbox = new JCheckBox();
    6158
    6259    private String build_type = null;
     
    6966    build_type_manager = new BuildTypeManager();
    7067    build_type = build_type_manager.getBuildType();
    71     level_manager = new LevelManager(CollectionDesignManager.collect_config.getLevels(), build_type);
     68    option_manager = new IndexOptionManager(build_type);
    7269    if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
    7370        index_manager = new IndexManager(CollectionDesignManager.collect_config.getMGIndexes(), build_type);
     
    9087
    9188    public int getNumLevels() {
    92     return level_manager.getSize();
     89    return option_manager.getNumLevels();
    9390    }
    9491
     
    10198    }
    10299
    103     public String getIndexingOptionsString()
    104     {
    105     if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
    106         return "";
    107     }
    108 
    109     String indexing_options_string = "";
    110     indexing_options_string += (stem_checkbox.isSelected() ? "stem " : "");
    111     indexing_options_string += (casefold_checkbox.isSelected() ? "casefold " : "");
    112     indexing_options_string += (accent_fold_checkbox.isSelected() ? "accentfold " : "");
    113     return indexing_options_string;
    114     }
    115 
    116100    public ArrayList getLevels() {
    117101    if (!build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
    118         return level_manager.getLevels();
     102        return option_manager.getLevels();
    119103    }
    120104    return null;
     
    144128    implements Control, BuildTypeManager.BuildTypeListener
    145129    {
    146     JPanel index_plus_options_panel = null;
    147     JPanel indexing_options_panel = null;
    148     JPanel level_panel = null;
    149130    JPanel main_index_pane = null;
     131    JPanel index_options_panel = null;
    150132
    151133    public IndexingControl() {
     
    157139        JPanel build_type_panel = (JPanel)build_type_manager.getControls();
    158140        JPanel index_panel = (JPanel)index_manager.getControls();
    159         level_panel = (JPanel)level_manager.getControls();
    160 
    161         index_plus_options_panel = new JPanel();
    162         index_plus_options_panel.setLayout(new BorderLayout());
    163         index_plus_options_panel.add(index_panel, BorderLayout.CENTER);
    164         indexing_options_panel = new IndexingOptionsControl();
    165         if (!build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
    166         index_plus_options_panel.add(indexing_options_panel, BorderLayout.SOUTH);
    167         }
     141        index_options_panel = (JPanel)option_manager.getControls();
    168142
    169143        main_index_pane = new JPanel();
    170144        main_index_pane.setLayout(new BorderLayout());
    171145        main_index_pane.add(build_type_panel, BorderLayout.NORTH);
    172         main_index_pane.add(index_plus_options_panel, BorderLayout.CENTER);
    173         if (!build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
    174         main_index_pane.add(level_panel, BorderLayout.SOUTH);
    175         }
     146        main_index_pane.add(index_panel, BorderLayout.CENTER);
     147        main_index_pane.add(index_options_panel, BorderLayout.SOUTH);
    176148       
    177149        setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
     
    182154        build_type_manager.addBuildTypeListener(this);
    183155        build_type_manager.addBuildTypeListener(index_manager);
    184         build_type_manager.addBuildTypeListener(level_manager);
     156        build_type_manager.addBuildTypeListener(option_manager);
    185157    }
    186158
     
    195167        return;
    196168        }
    197 
    198         // Show/hide the indexing options panel
    199         if (build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
    200         // Changing to MG/MGPP
    201         index_plus_options_panel.add(indexing_options_panel, BorderLayout.SOUTH);
    202         }
    203         else if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_LUCENE)) {
    204         // Changing to Lucene
    205         index_plus_options_panel.remove(indexing_options_panel);
    206         }
    207         // Accent-folding is currently not available for MG
    208         accent_fold_checkbox.setEnabled(!new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG));
    209 
    210         // Show/hide the levels panel
    211         if (build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
    212         // Changing to MGPP/Lucene
    213         level_panel.setEnabled(true);
    214         main_index_pane.add(level_panel, BorderLayout.SOUTH);
    215         }
    216         else if (new_build_type.equals(BuildTypeManager.BUILD_TYPE_MG)) {
    217         // Changing to MG
    218         level_panel.setEnabled(false);
    219         main_index_pane.remove(level_panel);
    220         }
    221 
    222         build_type = new_build_type;
     169        build_type = new_build_type;
    223170    }
    224171
    225 
    226     private class IndexingOptionsControl
    227         extends JPanel
    228     {
    229         public IndexingOptionsControl()
    230         {
    231         setLayout(new BorderLayout(10,10));
    232         setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
    233 
    234         stem_checkbox.setText(Dictionary.get("CDM.IndexingManager.Stem"));
    235         casefold_checkbox.setText(Dictionary.get("CDM.IndexingManager.Casefold"));
    236         accent_fold_checkbox.setText(Dictionary.get("CDM.IndexingManager.Accent_fold"));
    237 
    238         // Accent-folding is currently not available for MG
    239         accent_fold_checkbox.setEnabled(!build_type.equals(BuildTypeManager.BUILD_TYPE_MG));
    240 
    241         JPanel checkbox_panel = new JPanel();
    242         checkbox_panel.setLayout(new GridLayout(1, 3));
    243         checkbox_panel.add(stem_checkbox);
    244         checkbox_panel.add(casefold_checkbox);
    245         checkbox_panel.add(accent_fold_checkbox);
    246 
    247         add(new JLabel(Dictionary.get("CDM.IndexingManager.Options")), BorderLayout.WEST);
    248         add(checkbox_panel, BorderLayout.CENTER);
    249         }
    250     }
    251172    }
    252173}
Note: See TracChangeset for help on using the changeset viewer.