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