Coverage Report - de.glossmaker.gui.bibtex.model.ProceedingsTableModel
 
Classes in this File Line Coverage Branch Coverage Complexity
ProceedingsTableModel
0%
0/93
0%
0/58
8,333
 
 1  
 package de.glossmaker.gui.bibtex.model;
 2  
 
 3  
 import org.bushe.swing.event.EventBus;
 4  
 
 5  
 import de.glossmaker.bib.datastructure.BibItems;
 6  
 import de.glossmaker.bib.datastructure.Proceedings;
 7  
 import de.glossmaker.gui.bibtex.BibItemEvent;
 8  
 import de.glossmaker.gui.bibtex.BibItemEvents;
 9  
 import de.glossmaker.gui.bibtex.EEventCommands;
 10  
 
 11  
 /**
 12  
  * 
 13  
  * @author Markus Flingelli
 14  
  *
 15  
  */
 16  
 public class ProceedingsTableModel extends AItemTableModel {
 17  
         private static final long serialVersionUID = 1451264321102945462L;
 18  
 
 19  
         public ProceedingsTableModel(BibItems items, Proceedings item) {
 20  0
                 super(items, item);
 21  0
         }
 22  
 
 23  
         @Override
 24  
         public int getOptionalRow() {
 25  0
                 return 5;
 26  
         }
 27  
         
 28  
         @Override
 29  
         public int getRowCount() {
 30  0
                 return 15;
 31  
         }
 32  
         
 33  
         @Override
 34  
         public Object getValueAt(int row, int col) {
 35  0
                 Object result = null;
 36  0
                 if (col == 0) {
 37  0
                         switch(row) {
 38  
                         case 0:
 39  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.required_items.text");
 40  0
                                 break;
 41  
                         case 1:
 42  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.key.text");
 43  0
                                 break;
 44  
                         case 2:
 45  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.title.text");
 46  0
                                 break;
 47  
                         case 3:
 48  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.year.text");
 49  0
                                 break;
 50  
                         case 5:
 51  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.optional_items.text");
 52  0
                                 break;
 53  
                         case 6:
 54  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.editor.text");
 55  0
                                 break;
 56  
                         case 7:
 57  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.volume.text");
 58  0
                                 break;
 59  
                         case 8:
 60  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.number.text");
 61  0
                                 break;
 62  
                         case 9:
 63  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.series.text");
 64  0
                                 break;
 65  
                         case 10:
 66  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.address.text");
 67  0
                                 break;
 68  
                         case 11:
 69  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.month.text");
 70  0
                                 break;
 71  
                         case 12:
 72  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.organization.text");
 73  0
                                 break;
 74  
                         case 13:
 75  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.publisher.text");
 76  0
                                 break;
 77  
                         case 14:
 78  0
                                 result = getTranslation().getValue("bibtex.table.bibitem.note.text");
 79  
                         }
 80  
                 } else {
 81  0
                         switch(row) {
 82  
                         case 1:
 83  0
                                 result = getItem().getKey();
 84  0
                                 break;
 85  
                         case 2:
 86  0
                                 result = getItem().getTitle();
 87  0
                                 break;
 88  
                         case 3:
 89  0
                                 result = getItem().getYear();
 90  0
                                 break;
 91  
                         case 6:
 92  0
                                 result = getItem().getEditor();
 93  0
                                 break;
 94  
                         case 7:
 95  0
                                 result = getItem().getVolume();
 96  0
                                 break;
 97  
                         case 8:
 98  0
                                 result = getItem().getNumber();
 99  0
                                 break;
 100  
                         case 9:
 101  0
                                 result = getItem().getSeries();
 102  0
                                 break;
 103  
                         case 10:
 104  0
                                 result = getItem().getAddress();
 105  0
                                 break;
 106  
                         case 11:
 107  0
                                 result = getItem().getMonth();
 108  0
                                 break;
 109  
                         case 12:
 110  0
                                 result = getItem().getOrganization();
 111  0
                                 break;
 112  
                         case 13:
 113  0
                                 result = getItem().getPublisher();
 114  0
                                 break;
 115  
                         case 14:
 116  0
                                 result = getItem().getNote();
 117  
                         }
 118  
                         
 119  
                 }
 120  
                 
 121  0
                 return result;
 122  
         }
 123  
         
 124  
         @Override
 125  
         public boolean isCellEditable(int row, int col) {
 126  0
                 boolean result = false;
 127  0
                 if (col == 1 && ((row > 0 && row < 4) || (row > 5))) {
 128  0
                         result = true;
 129  
                 }
 130  0
                 return result;
 131  
         }
 132  
 
 133  
         @Override
 134  
         public void setValueAt(Object obj, int row, int col) {
 135  0
                 boolean fireUpdate = false;
 136  0
                 Proceedings oldProceedings = new Proceedings(getItem().getKey(), getItem().getTitle(), getItem().getYear());
 137  0
                 oldProceedings.setItemValues(getItem());                
 138  0
                 switch(row) {
 139  
                 case 1:
 140  0
                         super.setValueAt(obj, row, col);
 141  0
                         break;
 142  
                 case 2:
 143  0
                         fireUpdate = getItem().setTitle((String) obj, true);
 144  0
                         break;
 145  
                 case 3:
 146  0
                         fireUpdate = getItem().setYear((String) obj, true);
 147  0
                         break;
 148  
                 case 6:
 149  0
                         fireUpdate = getItem().setEditor((String) obj, false);
 150  0
                         break;
 151  
                 case 7:
 152  0
                         fireUpdate = getItem().setVolume((String) obj);
 153  0
                         break;
 154  
                 case 8:
 155  0
                         fireUpdate = getItem().setNumber((String)obj);
 156  0
                         break;
 157  
                 case 9:
 158  0
                         fireUpdate = getItem().setSeries((String)obj);
 159  0
                         break;
 160  
                 case 10:
 161  0
                         fireUpdate = getItem().setAddress((String)obj);
 162  0
                         break;
 163  
                 case 11:
 164  0
                         fireUpdate = getItem().setMonth((String)obj);
 165  0
                         break;
 166  
                 case 12:
 167  0
                         fireUpdate = getItem().setOrganization((String)obj);
 168  0
                         break;
 169  
                 case 13:
 170  0
                         fireUpdate = getItem().setPublisher((String) obj, false);
 171  0
                         break;
 172  
                 case 14:
 173  0
                         fireUpdate = getItem().setNote((String) obj, false);                        
 174  
                 }
 175  
                 
 176  0
                 if (fireUpdate == true) {
 177  0
                         EventBus.publish(EEventCommands.CHANGE.toString(), 
 178  
                                         new BibItemEvents(EEventCommands.CHANGE.toString(),
 179  
                                                         new BibItemEvent(
 180  
                                                         EEventCommands.CHANGE.toString(),
 181  
                                                         oldProceedings, getItem())));
 182  
                 }
 183  0
         }        
 184  
 }