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