Changeset 12572


Ignore:
Timestamp:
2006-08-26T21:26:07+12:00 (18 years ago)
Author:
shaoqun
Message:

fixed bugs of the last commit

Location:
trunk/gli/src/org/greenstone/gatherer/gems
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/gli/src/org/greenstone/gatherer/gems/Attribute.java

    r12564 r12572  
    4646public class Attribute
    4747  {
    48       private String name;
    49       private String value;
    50       private String lang;
     48      private String name="";
     49      private String value="";
     50      private String lang="";
    5151      private boolean isRequired;
    5252      private boolean isLanguageDependent;
  • trunk/gli/src/org/greenstone/gatherer/gems/DeleteMetadataSetPrompt.java

    r12564 r12572  
    168168    available_set_list.setListData(new Vector((Collection)available_metadata_sets));
    169169    delete_button.setEnabled(false);
     170    confirmation.setEnabled(false);
     171    confirmation.setSelected(false);
    170172        setVisible(true);
    171173       
     
    190192        }
    191193        delete_button.setEnabled(false);
     194        confirmation.setEnabled(false);
     195        confirmation.setSelected(false);
    192196        self.dispose();
    193197    }
     
    232236    private class MetadataSetListSelectionListener implements ListSelectionListener  {
    233237        public void valueChanged(ListSelectionEvent lse){
     238         delete_button.setEnabled(false);
    234239        if (lse.getValueIsAdjusting()) return;
    235 
     240       
    236241        Object selectedValue = available_set_list.getSelectedValue();
    237242
  • trunk/gli/src/org/greenstone/gatherer/gems/GEMS.java

    r12564 r12572  
    158158        metadata_set_model = new MetadataSetModel(msm);
    159159        msm.setMetadataSetModel(metadata_set_model);
    160         meta_set_tree = new MetadataSetTree();
     160    meta_set_tree = new MetadataSetTree();
    161161        metadata_set_model.addObserver(meta_set_tree);
    162162
     
    173173        msti.addMetadataSetListener((MetadataSetListener)meta_element_table);
    174174        msti.addMetadataSetListener((MetadataSetListener)lang_element_table);
    175         msti.setMetadataSetModel( metadata_set_model);
     175        msti.setMetadataSetModel(metadata_set_model);
    176176       
    177177        open_prompt = new OpenMetadataSetPrompt(self,msm);
     
    210210        JPanel buttonPane = new JPanel(new GridLayout(1,2));
    211211       
    212         JButton arrow_up_button = new GLIButton();
     212        JButton arrow_up_button = new GLIButton(Dictionary.get("GEMS.Move_Up"));
    213213    arrow_up_button.setIcon(JarTools.getImage("arrow-up.gif"));
    214214
    215         JButton arrow_down_button = new GLIButton();
     215        JButton arrow_down_button = new GLIButton(Dictionary.get("GEMS.Move_Down"));
    216216    arrow_down_button.setIcon(JarTools.getImage("arrow-down.gif"));
    217217       
     
    269269    rightPane.add(tablePane,BorderLayout.NORTH); 
    270270        rightPane.add(languageAttributePane,BorderLayout.CENTER);
    271    
    272                          
    273         getContentPane().add(leftPane,BorderLayout.WEST);                 
    274     getContentPane().add(rightPane,BorderLayout.CENTER);
     271
     272    JSplitPane splitPane =  new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPane,rightPane);     
     273                                    
     274    getContentPane().add(splitPane,BorderLayout.CENTER);
    275275
    276276    setLocation((screen_size.width - SIZE.width) / 2, (screen_size.height - SIZE.height) / 2);
     
    409409        file.setText(Dictionary.get("Menu.File"));
    410410       
    411         file_exit = new JMenuItem(Dictionary.get("Menu.File_Exit"));
     411        file_exit = new JMenuItem(Dictionary.get("Menu.File_Close"));
    412412        file_exit.addActionListener(this);
    413413       
  • trunk/gli/src/org/greenstone/gatherer/gems/LangDependElementTable.java

    r12564 r12572  
    5050
    5151import javax.swing.JOptionPane;
     52import javax.swing.DefaultCellEditor;
     53import javax.swing.JTextField;
     54import javax.swing.ListSelectionModel;
    5255
    5356import org.greenstone.gatherer.Dictionary;
     
    6972
    7073    private ArrayList listeners = new ArrayList();
     74    private JTextField metadata_value_text_field = new JTextField();
    7175
    7276    public LangDependElementTable(){
     
    7478        setRowHeight(20);
    7579        setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
     80    metadata_value_text_field.setBorder(null);
     81    DefaultCellEditor cellEditor = new DefaultCellEditor(metadata_value_text_field);
     82    cellEditor.setClickCountToStart(1);
     83    setDefaultEditor(String.class,cellEditor);
    7684        table = this;
     85    setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    7786    }
    7887   
     
    8998    public void languageSelected(String lang){
    9099    if (state == DISPLAY_ELEMENT){
    91         MetadataElementTableModel model = (MetadataElementTableModel)getModel();
    92             model.addNewLanguage(lang);
     100        AbstractTableModel model = (AbstractTableModel)getModel();
     101        if (model instanceof MetadataElementTableModel){
     102        MetadataElementTableModel ml = (MetadataElementTableModel)getModel();
     103        ml.addNewLanguage(lang);
     104        }
    93105    }                           
    94106    else{
    95         MetadataSetInfoTableModel model = (MetadataSetInfoTableModel)getModel();
    96         model.addNewLanguage(lang);
     107        AbstractTableModel model = (AbstractTableModel)getModel();
     108        if (model instanceof MetadataSetInfoTableModel){
     109        MetadataSetInfoTableModel ml = (MetadataSetInfoTableModel)getModel();
     110        ml.addNewLanguage(lang);
     111        }
    97112    }
    98113    }
     
    101116 
    102117    private void deleteAttribute(){
    103             int index = getSelectedRow();     
     118    int index = getSelectedRow();     
    104119
    105120    if (state == DISPLAY_ELEMENT){
    106         MetadataElementTableModel model = (MetadataElementTableModel)getModel();
     121        MetadataElementTableModel  model = (MetadataElementTableModel)getModel();
    107122        model.deleteRow(index);
    108123    }                           
    109124    else{
    110        
    111125        MetadataSetInfoTableModel model = (MetadataSetInfoTableModel)getModel();
    112126        model.deleteRow(index); 
     
    141155    getColumnModel().getColumn(0).setPreferredWidth(100);
    142156        getColumnModel().getColumn(1).setPreferredWidth(50);
    143     getColumnModel().getColumn(2).setPreferredWidth(390);
     157    getColumnModel().getColumn(2).setPreferredWidth(365);
    144158    }
    145159     
     
    151165    getColumnModel().getColumn(0).setPreferredWidth(100);
    152166    getColumnModel().getColumn(1).setPreferredWidth(50);
    153         getColumnModel().getColumn(2).setPreferredWidth(390);         
     167        getColumnModel().getColumn(2).setPreferredWidth(365);         
    154168    }
    155169
     
    237251    public void addNewLanguage(String lang){
    238252        int index =element_model.languageExist(lang); 
    239         if (index > 0){
     253        if (index >=0){
    240254        table.getSelectionModel().setSelectionInterval(index,index);
    241255        Rectangle rect = table.getCellRect(index, 0, true);
     
    360374        public void addNewLanguage(String lang){
    361375        int index =  metadata_info.languageExist(lang); 
    362         if (index > 0){
     376        if (index >=0){
    363377        table.getSelectionModel().setSelectionInterval(index,index);     
    364378        Rectangle rect = table.getCellRect(index, 0, true);
  • trunk/gli/src/org/greenstone/gatherer/gems/MetadataElementModel.java

    r12564 r12572  
    259259      for(int i=0;i<langDependAttributes.size();i++){
    260260          Attribute attr = (Attribute) langDependAttributes.get(i);
    261           if (attr.getLanguage().trim().equals(lang)){
     261          if (attr.getLanguage().trim().equals(lang.trim())){
    262262          return i;
    263263          }
     
    325325          for(int i=0;i<attributes.size();i++){
    326326          Attribute attr = (Attribute)attributes.get(i);
     327          if (attr.getName() == null || attr.getName().trim().equals("")) continue;
    327328          Element attrElement =  doc.createElement(GEMSConstants.ATTRIBUTE_ELEMENT);
    328329          attrElement.setAttribute(GEMSConstants.NAME_ATTRIBUTE,attr.getName());
  • trunk/gli/src/org/greenstone/gatherer/gems/MetadataElementTable.java

    r12564 r12572  
    5353import java.awt.Color;
    5454
     55import javax.swing.DefaultCellEditor;
     56import javax.swing.JTextField;
     57import javax.swing.ListSelectionModel;
    5558import org.greenstone.gatherer.Dictionary;
    5659
     
    7073
    7174    private ArrayList listeners = new ArrayList();
     75    private JTextField metadata_value_text_field = new JTextField();
    7276
    7377    public MetadataElementTable(){
     
    7579        setRowHeight(20);
    7680        setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    77        
     81
     82        metadata_value_text_field.setBorder(null);
     83    DefaultCellEditor cellEditor = new DefaultCellEditor(metadata_value_text_field);
     84    cellEditor.setClickCountToStart(1);
     85    setDefaultEditor(String.class,cellEditor);   
    7886        table = this;
    79    
     87    setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    8088      }
    8189
     
    145153        setModel(table_model);
    146154    getColumnModel().getColumn(0).setPreferredWidth(100);
    147         getColumnModel().getColumn(1).setPreferredWidth(50);
    148         getColumnModel().getColumn(2).setPreferredWidth(390);
     155        getColumnModel().getColumn(1).setPreferredWidth(415);
    149156    }
    150157     
     
    155162    setModel(model);
    156163    getColumnModel().getColumn(0).setPreferredWidth(100);
    157         getColumnModel().getColumn(1).setPreferredWidth(440);         
     164        getColumnModel().getColumn(1).setPreferredWidth(415);         
    158165    }
    159166
     
    181188    MetadataElementModel element_model;
    182189        ArrayList attributes;
    183     String[] columnNames= new String[]{"name","lang","value"};   
     190    String[] columnNames= new String[]{"name","value"};   
    184191
    185192   
     
    217224    public  Object getValueAt(int row, int column){
    218225        if (row == 0 && column == 0 ) return "<html><body Color=blue>name</body></html>";
    219             if (row == 0 && column == 1 ) return "";
    220         if (row == 0 && column == 2 ) return element_model.getName();
     226            if (row == 0 && column == 1 ) return element_model.getName();
    221227        if (row <= attributes.size() && attributes.size()>0){
    222228        Attribute attr = (Attribute)attributes.get(row-1);
    223229        if (column == 0) return attr.getName();
    224         if (column == 1) return attr.getLanguage();
    225                 if (column == 2) return attr.getValue();
     230        if (column == 1) return attr.getValue();
    226231        }
    227232        return null;               
     
    230235        public void setValueAt(Object value, int row, int column){   
    231236        // update the element name on tree
    232          if (row == 0 && column == 2) {
     237         if (row == 0 && column == 1) {
    233238         if (((String)value).trim().equals("")){
    234239             JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.Attribute_Edition_Error_Message"), Dictionary.get("GEMS.Attribute_Edition_Error"),JOptionPane.ERROR_MESSAGE);
     
    247252
    248253        if (column == 0) attr.setName((String)value);
    249         if (column == 1) attr.setLanguage((String)value);
    250                 if (column == 2) attr.setValue((String)value);
     254                if (column == 1) attr.setValue((String)value);
    251255        notifyListeners(attr);
    252256        }
     
    343347        }
    344348
     349            if (column == 0 && ((String)value).trim().equals("") && !attr.getName().trim().equals("")){
     350            JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.Attribute_Name_Error_Message"), Dictionary.get("GEMS.Attribute_Name_Error"),JOptionPane.ERROR_MESSAGE);
     351            return;
     352        }
     353
    345354        //check namespace conflict
    346         if (column ==1 && attr.getName().trim().equals(GEMSConstants.NAMESPACE_ATTRIBUTE) && metadata_info.checkNamespace(((String)value).trim()))
     355        if (column == 1
     356            && !((String)value).trim().equals(attr.getValue().trim())
     357                     && attr.getName().trim().equals(GEMSConstants.NAMESPACE_ATTRIBUTE)
     358                     && metadata_info.checkNamespace(((String)value).trim()))
    347359        {
    348360           
  • trunk/gli/src/org/greenstone/gatherer/gems/MetadataSetInfo.java

    r12564 r12572  
    128128        for(int i=0;i<attributes.size();i++){
    129129        Attribute attr = (Attribute) attributes.get(i);
    130             if (attr.getName().trim().equals(name.trim())){
     130            if (attr.getName() != null && attr.getName().trim().equals(name.trim())){
    131131        return attr;
    132132        }
     
    255255      for(int i=0;i<langDependAttributes.size();i++){
    256256          Attribute attr = (Attribute) langDependAttributes.get(i);
    257           if (attr.getLanguage().trim().equals(lang)){
     257          if (attr.getLanguage() !=null && attr.getLanguage().trim().equals(lang.trim())){
    258258          return i;
    259259          }
     
    318318    public void deleteMetadataSet(){
    319319    metadata_model.getMetadataSetManager().deleteMetadataSet(this);
    320         if (metadata_model.getMetadataSetInfo().getFilePath().equals(this.getFilePath())){
     320
     321        if (metadata_model.getMetadataSetInfo() != null
     322        && metadata_model.getMetadataSetInfo().getFilePath().equals(this.getFilePath())){
    321323        metadata_model.metadataSetDeleted();
    322324        MetadataSetEvent mse = new MetadataSetEvent(null);
     
    360362    for (int i=0;i<attributes.size();i++){
    361363        Attribute attr = (Attribute)attributes.get(i);
     364        if (attr.getName() == null || attr.getName().trim().equals("")) continue;
    362365            doc_element.setAttribute(attr.getName(),attr.getValue());
    363 
    364366    }
    365367
  • trunk/gli/src/org/greenstone/gatherer/gems/MetadataSetManager.java

    r12564 r12572  
    147147    if (file_path !=null) save(file_path);
    148148
    149     mds_list.add(meta_info);
     149    for(int i=0;i<mds_list.size();i++){
     150        MetadataSetInfo infoItem = (MetadataSetInfo)mds_list.get(i);
     151        if (infoItem.getFilePath().trim().equals(meta_info.getFilePath().trim())) {
     152        mds_list.remove(infoItem);
     153        mds_list.add(meta_info);
     154        break;
     155        }       
     156    }
     157
     158
    150159    }
    151160
     
    244253            JOptionPane.showMessageDialog(null,Dictionary.get("GEMS.File_Deletion_Error_Message"), Dictionary.get("GEMS..File_Deletion_Error"),JOptionPane.ERROR_MESSAGE);
    245254      }
     255      else{
     256            for(int i=0;i<mds_list.size();i++){
     257            MetadataSetInfo infoItem = (MetadataSetInfo)mds_list.get(i);
     258            if (infoItem.getFilePath().trim().equals(info.getFilePath().trim())) {
     259            mds_list.remove(infoItem);
     260            break;
     261            }       
     262        }
     263      }
    246264    }
    247265    }
Note: See TracChangeset for help on using the changeset viewer.