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