diff --git a/src/de/katho/kBorrow/controller/ArticleController.java b/src/de/katho/kBorrow/controller/ArticleController.java index fe6ac0e..d6d5927 100644 --- a/src/de/katho/kBorrow/controller/ArticleController.java +++ b/src/de/katho/kBorrow/controller/ArticleController.java @@ -2,20 +2,18 @@ package de.katho.kBorrow.controller; import java.util.HashMap; +import de.katho.kBorrow.data.KArticleModel; +import de.katho.kBorrow.data.objects.KArticle; import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; -import de.katho.kBorrow.models.ArticleTableModel; -import de.katho.kBorrow.models.FreeArticleTableModel; public class ArticleController { private DbConnector dbCon; - private ArticleTableModel articleTableModel; - private FreeArticleTableModel freeArticleTableModel; + private KArticleModel kArticleModel; public ArticleController(DbConnector pDbCon, HashMap models){ dbCon = pDbCon; - articleTableModel = (ArticleTableModel)models.get("articletablemodel"); - freeArticleTableModel = (FreeArticleTableModel)models.get("freearticletablemodel"); + kArticleModel = (KArticleModel)models.get("karticlemodel"); } /** @@ -30,8 +28,7 @@ public class ArticleController { public int createArticle(String pName, String pDesc) { int status = dbCon.createArticle(pName, pDesc); - articleTableModel.updateModel(); - freeArticleTableModel.updateModel(); + kArticleModel.updateModel(); return status; } @@ -50,8 +47,7 @@ public class ArticleController { int status = this.dbCon.editArticle(pId, pName, pDesc); if(status == 0){ - articleTableModel.updateModel(); - freeArticleTableModel.updateModel(); + kArticleModel.updateModel(); } return status; @@ -60,21 +56,19 @@ public class ArticleController { /** * Löscht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle. * - * @param pRow Row des Artikels, der gelöscht werden soll. + * @param pId ID des Artikels, der gelöscht werden soll. * @return 0: Artikel konnte erfolgreich gelöscht werden * 1: Artikel konnte nicht gelöscht werden, unbekannter Fehler (SQL-Fehler) * 2: Artikel konnte nicht gelöscht werden, weil er im Moment verliehen ist. */ - public int deleteArticle(int pRow) { + public int deleteArticle(int pId) { - if(!articleTableModel.getArticleByRow(pRow).getIsFree()) return 2; + if(!((KArticle)kArticleModel.getElement(pId)).getIsFree()) return 2; - int id = articleTableModel.getArticleByRow(pRow).getId(); - int returnCode = dbCon.deleteArticle(id); + int returnCode = dbCon.deleteArticle(pId); if(returnCode == 0){ - articleTableModel.updateModel(); - freeArticleTableModel.updateModel(); + kArticleModel.updateModel(); } return returnCode; diff --git a/src/de/katho/kBorrow/controller/ManageLendingsController.java b/src/de/katho/kBorrow/controller/ManageLendingsController.java index 736b375..039a8d2 100644 --- a/src/de/katho/kBorrow/controller/ManageLendingsController.java +++ b/src/de/katho/kBorrow/controller/ManageLendingsController.java @@ -3,39 +3,34 @@ package de.katho.kBorrow.controller; import java.util.HashMap; import de.katho.kBorrow.Util; +import de.katho.kBorrow.data.KArticleModel; +import de.katho.kBorrow.data.KLendingModel; import de.katho.kBorrow.data.objects.KLending; import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; -import de.katho.kBorrow.models.ArticleTableModel; -import de.katho.kBorrow.models.FreeArticleTableModel; -import de.katho.kBorrow.models.LendingTableModel; public class ManageLendingsController { private DbConnector dbCon; - private FreeArticleTableModel freeArticleTableModel; - private ArticleTableModel articleTableModel; - private LendingTableModel lendingTableModel; + private KArticleModel articleModel; + private KLendingModel lendingModel; public ManageLendingsController(DbConnector pDbCon, HashMap models){ dbCon = pDbCon; - freeArticleTableModel = (FreeArticleTableModel)models.get("freearticletablemodel"); - articleTableModel = (ArticleTableModel)models.get("articletablemodel"); - lendingTableModel = (LendingTableModel)models.get("lendingtablemodel"); + articleModel = (KArticleModel)models.get("karticlemodel"); + lendingModel = (KLendingModel)models.get("klendingmodel"); } - public void returnLending(int pRow) { - KLending lending = lendingTableModel.getLendingByRow(pRow); + public void returnLending(int pId) { + KLending lending = lendingModel.getElement(pId); int artId = lending.getArticleId(); - int lendingId = lending.getId(); - dbCon.returnLending(lendingId, artId, Util.getCurrentDate()); - - freeArticleTableModel.updateModel(); - articleTableModel.updateModel(); - lendingTableModel.updateModel(); + dbCon.returnLending(pId, artId, Util.getCurrentDate()); + + articleModel.updateModel(); + lendingModel.updateModel(); } } diff --git a/src/de/katho/kBorrow/controller/NewLendingController.java b/src/de/katho/kBorrow/controller/NewLendingController.java index 8a6c94d..fc385d3 100644 --- a/src/de/katho/kBorrow/controller/NewLendingController.java +++ b/src/de/katho/kBorrow/controller/NewLendingController.java @@ -19,34 +19,31 @@ import java.util.HashMap; import de.katho.kBorrow.Settings; import de.katho.kBorrow.Util; +import de.katho.kBorrow.data.KArticleModel; +import de.katho.kBorrow.data.KLenderModel; +import de.katho.kBorrow.data.KLendingModel; +import de.katho.kBorrow.data.KUserModel; import de.katho.kBorrow.data.objects.KArticle; import de.katho.kBorrow.data.objects.KLender; import de.katho.kBorrow.data.objects.KLending; import de.katho.kBorrow.data.objects.KUser; import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; -import de.katho.kBorrow.models.ArticleTableModel; -import de.katho.kBorrow.models.FreeArticleTableModel; -import de.katho.kBorrow.models.LenderModel; -import de.katho.kBorrow.models.LendingTableModel; -import de.katho.kBorrow.models.UserListModel; public class NewLendingController { private DbConnector dbCon; - private UserListModel userListModel; - private LenderModel lenderModel; - private FreeArticleTableModel freeArticleModel; - private LendingTableModel lendingTableModel; - private ArticleTableModel articleTableModel; + private KUserModel kUserModel; + private KLenderModel kLenderModel; + private KArticleModel kArticleModel; + private KLendingModel kLendingModel; private Settings settings; public NewLendingController(DbConnector pDbCon, HashMap models, final Settings pSettings){ dbCon = pDbCon; - userListModel = (UserListModel)models.get("userlistmodel"); - lenderModel = (LenderModel)models.get("lendermodel"); - freeArticleModel = (FreeArticleTableModel)models.get("freearticletablemodel"); - articleTableModel = (ArticleTableModel)models.get("articletablemodel"); - lendingTableModel = (LendingTableModel)models.get("lendingtablemodel"); + kUserModel = (KUserModel)models.get("kusermodel"); + kLenderModel = (KLenderModel)models.get("klendermodel"); + kArticleModel = (KArticleModel)models.get("karticlemodel"); + kLendingModel = (KLendingModel)models.get("klendingmodel"); settings = pSettings; } @@ -67,12 +64,12 @@ public class NewLendingController { if(pEstEndDate.before(new Date())) return 3; if(!pLSN.matches("[0-9]+")) return 5; - ArrayList lenders = lenderModel.getLenders(pLName, pLSurname, pLSN); + ArrayList lenders = kLenderModel.getLenders(pLName, pLSurname, pLSN); if(lenders.size() == 0) { int result = dbCon.createNewLender(pLName, pLSurname, pLSN); if(result == 0){ - lenderModel.updateModel(); + kLenderModel.updateModel(); return newLending(pArtId, pLName, pLSurname, pLSN, pStartDate, pEstEndDate, pUsername); } @@ -80,15 +77,14 @@ public class NewLendingController { } else if(lenders.size() == 1){ KLender lender = lenders.get(0); - int uId = userListModel.getIdByFullname(pUsername); + int uId = kUserModel.getIdByFullname(pUsername); DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy"); int[] result = dbCon.createNewLending(pArtId, uId, lender.getId(), pStartDate, dateFormat.format(pEstEndDate)); if(result[0] == 0){ - freeArticleModel.updateModel(); - articleTableModel.updateModel(); - lendingTableModel.updateModel(); + kArticleModel.updateModel(); + kLendingModel.updateModel(); createPdfFile(result[1]); return result[0]; @@ -100,10 +96,10 @@ public class NewLendingController { private void createPdfFile(int pLendingId) throws Exception { - KLending lending = lendingTableModel.getLendingById(pLendingId); - KArticle article = articleTableModel.getArticleById(lending.getArticleId()); - KUser user = userListModel.getUserById(lending.getUserId()); - KLender lender = lenderModel.getLenderById(lending.getLenderId()); + KLending lending = kLendingModel.getElement(pLendingId); + KArticle article = kArticleModel.getElement(lending.getArticleId()); + KUser user = kUserModel.getElement(lending.getUserId()); + KLender lender = kLenderModel.getElement(lending.getLenderId()); PDDocument doc = new PDDocument(); PDPage page = new PDPage(PDPage.PAGE_SIZE_A4); diff --git a/src/de/katho/kBorrow/controller/UserController.java b/src/de/katho/kBorrow/controller/UserController.java index afaecc4..33600c0 100644 --- a/src/de/katho/kBorrow/controller/UserController.java +++ b/src/de/katho/kBorrow/controller/UserController.java @@ -58,7 +58,7 @@ public class UserController { } if(isOccupied){ - RewriteToNewUserDialog dialog = new RewriteToNewUserDialog(pId, dbCon); + RewriteToNewUserDialog dialog = new RewriteToNewUserDialog(pId, dbCon, userModel); if(dialog.getResult() == 0){ lendingModel.updateModel(); userModel.updateModel(); diff --git a/src/de/katho/kBorrow/data/KArticleModel.java b/src/de/katho/kBorrow/data/KArticleModel.java index 5d76a50..05942ce 100644 --- a/src/de/katho/kBorrow/data/KArticleModel.java +++ b/src/de/katho/kBorrow/data/KArticleModel.java @@ -37,8 +37,10 @@ public class KArticleModel implements KDataModel { return data; } - public Object get(int id) { - if(data.size() > id) return data.get(id); + public KArticle getElement(int id) { + for (KArticle elem : data){ + if(elem.getId() == id) return elem; + } return null; } diff --git a/src/de/katho/kBorrow/data/KLenderModel.java b/src/de/katho/kBorrow/data/KLenderModel.java index f523212..65fe389 100644 --- a/src/de/katho/kBorrow/data/KLenderModel.java +++ b/src/de/katho/kBorrow/data/KLenderModel.java @@ -38,9 +38,94 @@ public class KLenderModel implements KDataModel { return data; } - public Object get(int id) { - if(data.size() > id) return data.get(id); + public KLender getElement(int id) { + for(KLender elem : data){ + if(elem.getId() == id) return elem; + } return null; } + + public ArrayList getLenders(String pName, String pSurname, String pSN){ + boolean nameEmpty = pName.isEmpty(); + boolean surnameEmpty = pSurname.isEmpty(); + boolean snEmpty = pSN.isEmpty(); + ArrayList elems = new ArrayList(); + int sn; + + if(pSN.matches("[0-9]+")){ + sn = Integer.parseInt(pSN); + } + else { + sn = -1; + } + + if(!nameEmpty){ + if(!surnameEmpty){ + if(!snEmpty){ + // Alles gegeben + for(KLender e : data){ + if(e.getName().equals(pName) && e.getSurname().equals(pSurname) && e.getStudentnumber() == sn){ + elems.add(e); + } + } + return elems; + } + //Name und Surname gegeben + for(KLender e : data){ + if(e.getName().equals(pName) && e.getSurname().equals(pSurname)){ + elems.add(e); + } + } + return elems; + } + if(!snEmpty){ + // Name und SN gegeben + for (KLender e : data){ + if(e.getName().equals(pName) && e.getStudentnumber() == sn){ + elems.add(e); + } + } + return elems; + } + // Nur Name gegeben + for (KLender e : data){ + if(e.getName().equals(pName)){ + elems.add(e); + } + } + return elems; + } + + if(!surnameEmpty){ + if(!snEmpty){ + // Surname und SN gegeben + for (KLender e : data){ + if(e.getSurname().equals(pSurname) && e.getStudentnumber() == sn){ + elems.add(e); + } + } + return elems; + } + // Nur Surname gegeben + for (KLender e : data){ + if(e.getSurname().equals(pSurname)){ + elems.add(e); + } + } + return elems; + } + + if(!snEmpty){ + // Nur SN gegeben + for (KLender e : data){ + if(e.getStudentnumber() == sn){ + elems.add(e); + } + } + return elems; + } + + return elems; + } } diff --git a/src/de/katho/kBorrow/data/KLendingModel.java b/src/de/katho/kBorrow/data/KLendingModel.java index a08b2f8..633e26f 100644 --- a/src/de/katho/kBorrow/data/KLendingModel.java +++ b/src/de/katho/kBorrow/data/KLendingModel.java @@ -38,8 +38,10 @@ public class KLendingModel implements KDataModel { return data; } - public Object get(int id) { - if(data.size() > id) return data.get(id); + public KLending getElement(int id) { + for(KLending elem : data){ + if(elem.getId() == id) return elem; + } return null; } diff --git a/src/de/katho/kBorrow/data/KUserModel.java b/src/de/katho/kBorrow/data/KUserModel.java index 5e947b6..07bb84a 100644 --- a/src/de/katho/kBorrow/data/KUserModel.java +++ b/src/de/katho/kBorrow/data/KUserModel.java @@ -37,9 +37,18 @@ public class KUserModel implements KDataModel { return data; } - public Object get(int id) { - if(data.size() > id) return data.get(id); + public KUser getElement(int id) { + for(KUser elem : data){ + if(elem.getId() == id) return elem; + } return null; } + + public int getIdByFullname(String pName){ + for (KUser elem : data){ + if(pName.equals(elem.getName()+" "+elem.getSurname())) return elem.getId(); + } + return -1; + } } diff --git a/src/de/katho/kBorrow/gui/ArticleInspectFrame.java b/src/de/katho/kBorrow/gui/ArticleInspectFrame.java index 27cefb2..f7389ad 100644 --- a/src/de/katho/kBorrow/gui/ArticleInspectFrame.java +++ b/src/de/katho/kBorrow/gui/ArticleInspectFrame.java @@ -11,11 +11,10 @@ import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.JTextArea; +import de.katho.kBorrow.data.KArticleModel; import de.katho.kBorrow.data.objects.KArticle; -import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.models.ArticleInspectTableModel; -import de.katho.kBorrow.models.ArticleTableModel; public class ArticleInspectFrame extends JFrame { @@ -25,16 +24,15 @@ public class ArticleInspectFrame extends JFrame { private static final long serialVersionUID = -8993341404926674307L; private JPanel contentPane; private JTable table; - private ArticleInspectTableModel artInsModel; - private ArticleTableModel articleModel; + private KArticleModel articleModel; private KArticle article; /** * Create the frame. */ - public ArticleInspectFrame(int pRow, final DbConnector dbCon, HashMap models) { - articleModel = (ArticleTableModel)models.get("articletablemodel"); - article = articleModel.getArticleByRow(pRow); + public ArticleInspectFrame(int pId, HashMap models) { + articleModel = (KArticleModel)models.get("karticlemodel"); + article = articleModel.getElement(pId); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(150, 150, 660, 541); @@ -72,8 +70,7 @@ public class ArticleInspectFrame extends JFrame { panelInfo.add(taArticleDesc); // Table - artInsModel = new ArticleInspectTableModel(pRow, dbCon, models); - table = new JTable(artInsModel); + table = new JTable(new ArticleInspectTableModel(pId, models)); table.setFillsViewportHeight(true); table.setRowHeight(30); table.getColumnModel().getColumn(0).setMinWidth(30); diff --git a/src/de/katho/kBorrow/gui/ArticlePanel.java b/src/de/katho/kBorrow/gui/ArticlePanel.java index 8746ffa..8aaa886 100644 --- a/src/de/katho/kBorrow/gui/ArticlePanel.java +++ b/src/de/katho/kBorrow/gui/ArticlePanel.java @@ -24,6 +24,7 @@ import javax.swing.UIManager; import javax.swing.border.TitledBorder; import de.katho.kBorrow.controller.ArticleController; +import de.katho.kBorrow.data.KArticleModel; import de.katho.kBorrow.data.objects.KArticle; import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; @@ -43,7 +44,7 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener private JLabel lblArticleStatus; private boolean articleModeEdit; private int articleEditId; - private ArticleTableModel articleTableModel; + private KArticleModel articleModel; /** * Create the panel. @@ -52,18 +53,18 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener public ArticlePanel(final DbConnector dbCon, HashMap models) throws IOException { super(); this.setLayout(null); - articleTableModel = (ArticleTableModel)models.get("articletablemodel"); + articleModel = (KArticleModel)models.get("karticlemodel"); articleController = new ArticleController(dbCon, models); /* * Tabelle und drumherum */ - JTable articleTable = new JTable(articleTableModel); + JTable articleTable = new JTable(new ArticleTableModel(articleModel)); articleTable.setRowHeight(30); ArticleDeleteTableButton articleDeleteTableButton = new ArticleDeleteTableButton("Löschen", articleTable, this, articleController); ArticleEditTableButton articleEditTableButton = new ArticleEditTableButton("Bearbeiten", articleTable, this); - ArticleInspectTableButton articleInspectTableButton = new ArticleInspectTableButton("Details", articleTable, dbCon, models); + ArticleInspectTableButton articleInspectTableButton = new ArticleInspectTableButton("Details", articleTable, models); for (int i = 3; i <= 5; i++){ articleTable.getColumnModel().getColumn(i).setCellEditor(i == 3 ? articleInspectTableButton : i == 4 ? articleEditTableButton : articleDeleteTableButton); @@ -174,8 +175,8 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener this.textAreaArticleDescription.setText(""); } - public void setModeEditArticle(int pRow) { - KArticle art = articleTableModel.getArticleByRow(pRow); + public void setModeEditArticle(int pId) { + KArticle art = articleModel.getElement(pId); this.articleModeEdit = true; this.articleEditId = art.getId(); diff --git a/src/de/katho/kBorrow/gui/ManageLendingsPanel.java b/src/de/katho/kBorrow/gui/ManageLendingsPanel.java index 41f2ed7..0b62086 100644 --- a/src/de/katho/kBorrow/gui/ManageLendingsPanel.java +++ b/src/de/katho/kBorrow/gui/ManageLendingsPanel.java @@ -5,8 +5,6 @@ import javax.swing.JPanel; import de.katho.kBorrow.controller.ManageLendingsController; - - import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.listener.LendingReturnTableButton; @@ -27,16 +25,14 @@ public class ManageLendingsPanel extends JPanel { */ private static final long serialVersionUID = 925691137664223491L; - private LendingTableModel lendingTableModel; private ManageLendingsController manageLendingsController; public ManageLendingsPanel(DbConnector dbCon, HashMap models) throws IOException { - lendingTableModel = (LendingTableModel)models.get("lendingtablemodel"); manageLendingsController = new ManageLendingsController(dbCon, models); // Lending-Table - JTable lendingTable = new JTable(lendingTableModel); + JTable lendingTable = new JTable(new LendingTableModel(models)); LendingReturnTableButton lrtb = new LendingReturnTableButton("Ausleihe beenden", lendingTable, manageLendingsController); lendingTable.getColumnModel().getColumn(0).setMinWidth(30); lendingTable.getColumnModel().getColumn(0).setMaxWidth(30); diff --git a/src/de/katho/kBorrow/gui/NewLendingPanel.java b/src/de/katho/kBorrow/gui/NewLendingPanel.java index 612329b..314d065 100644 --- a/src/de/katho/kBorrow/gui/NewLendingPanel.java +++ b/src/de/katho/kBorrow/gui/NewLendingPanel.java @@ -34,13 +34,15 @@ import de.katho.kBorrow.controller.NewLendingController; import de.katho.kBorrow.converter.LenderNameConverter; import de.katho.kBorrow.converter.LenderStudentnumberConverter; import de.katho.kBorrow.converter.LenderSurnameConverter; +import de.katho.kBorrow.data.KArticleModel; +import de.katho.kBorrow.data.KLenderModel; +import de.katho.kBorrow.data.KUserModel; import de.katho.kBorrow.data.objects.KArticle; import de.katho.kBorrow.data.objects.KLender; import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.listener.NewLendingTableButton; import de.katho.kBorrow.models.FreeArticleTableModel; -import de.katho.kBorrow.models.LenderModel; import de.katho.kBorrow.models.UserListModel; import java.awt.event.FocusEvent; @@ -51,15 +53,12 @@ public class NewLendingPanel extends JPanel implements ActionListener, FocusList * */ private static final long serialVersionUID = -7346953418572781322L; - private FreeArticleTableModel freeArticleTableModel; private JTextField tfName; private JTextField tfSurname; private JTextField tfStudentNumber; - private UserListModel userListModel; private JLabel lblStartDate; private JLabel lblArticleName; private int articleId; - //private LenderModel lenderModel; private JButton btnCancel; private JButton btnSave; private NewLendingController newLendingController; @@ -67,6 +66,13 @@ public class NewLendingPanel extends JPanel implements ActionListener, FocusList private JXDatePicker dpEstEndDate; private JLabel lblStatus; + private KArticleModel kArticleModel; + private KUserModel kUserModel; + private KLenderModel kLenderModel; + + private UserListModel userListModel; + private FreeArticleTableModel freeArticleTableModel; + /** * Create the panel. * @param dbCon @@ -76,10 +82,14 @@ public class NewLendingPanel extends JPanel implements ActionListener, FocusList setLayout(null); articleId = -1; + kArticleModel = (KArticleModel)models.get("karticlemodel"); + kUserModel = (KUserModel)models.get("kusermodel"); + kLenderModel = (KLenderModel)models.get("klendermodel"); + + userListModel = new UserListModel(kUserModel); + freeArticleTableModel = new FreeArticleTableModel(kArticleModel); + // FreeArticleTable - freeArticleTableModel = (FreeArticleTableModel)models.get("freearticletablemodel"); - userListModel = new UserListModel(models.get("kusermodel")); - lenderModel = (LenderModel)models.get("lendermodel"); newLendingController = new NewLendingController(dbCon, models, pSettings); JTable freeArticleTable = new JTable(freeArticleTableModel); @@ -157,9 +167,9 @@ public class NewLendingPanel extends JPanel implements ActionListener, FocusList tfName.addKeyListener(this); tfSurname.addKeyListener(this); tfStudentNumber.addKeyListener(this); - AutoCompleteDecorator.decorate(tfName, lenderModel.getList(), false, new LenderNameConverter() ); - AutoCompleteDecorator.decorate(tfSurname, lenderModel.getList(), false, new LenderSurnameConverter()); - AutoCompleteDecorator.decorate(tfStudentNumber, lenderModel.getList(), false, new LenderStudentnumberConverter()); + AutoCompleteDecorator.decorate(tfName, kLenderModel.getData(), false, new LenderNameConverter() ); + AutoCompleteDecorator.decorate(tfSurname, kLenderModel.getData(), false, new LenderSurnameConverter()); + AutoCompleteDecorator.decorate(tfStudentNumber, kLenderModel.getData(), false, new LenderStudentnumberConverter()); // Buttons btnCancel = new JButton("Abbrechen"); @@ -253,8 +263,8 @@ public class NewLendingPanel extends JPanel implements ActionListener, FocusList } } - public void setModeNewLending(int pRow) { - KArticle art = freeArticleTableModel.getArticleByRow(pRow); + public void setModeNewLending(int id) { + KArticle art = kArticleModel.getElement(id); lblStartDate.setText(Util.getCurrentDate()); lblArticleName.setText(art.getName()); @@ -283,7 +293,7 @@ public class NewLendingPanel extends JPanel implements ActionListener, FocusList } public void focusLost(FocusEvent pEvent) { - ArrayList result = lenderModel.getLenders(tfName.getText(), tfSurname.getText(), tfStudentNumber.getText()); + ArrayList result = kLenderModel.getLenders(tfName.getText(), tfSurname.getText(), tfStudentNumber.getText()); if(result.size() == 1){ tfName.setText(result.get(0).getName()); diff --git a/src/de/katho/kBorrow/gui/RewriteToNewUserDialog.java b/src/de/katho/kBorrow/gui/RewriteToNewUserDialog.java index d1bce84..5418a3a 100644 --- a/src/de/katho/kBorrow/gui/RewriteToNewUserDialog.java +++ b/src/de/katho/kBorrow/gui/RewriteToNewUserDialog.java @@ -11,6 +11,7 @@ import javax.swing.JComboBox; import de.katho.kBorrow.controller.RewriteToNewUserController; import de.katho.kBorrow.interfaces.DbConnector; +import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.models.RewriteUserModel; import java.awt.event.ActionEvent; @@ -37,7 +38,7 @@ public class RewriteToNewUserDialog extends JDialog implements ActionListener { /** * Create the dialog. */ - public RewriteToNewUserDialog(int pOldId, DbConnector pDbCon) { + public RewriteToNewUserDialog(int pOldId, DbConnector pDbCon, KDataModel userModel) { setTitle("Ausleihe umschreiben"); setModal(true); setModalityType(ModalityType.APPLICATION_MODAL); @@ -48,7 +49,7 @@ public class RewriteToNewUserDialog extends JDialog implements ActionListener { setContentPane(contentPane); contentPane.setLayout(new BorderLayout()); oldId = pOldId; - rwusermodel = new RewriteUserModel(pDbCon, oldId); + rwusermodel = new RewriteUserModel(userModel, oldId); rwcontroller = new RewriteToNewUserController(pDbCon); // Content Panel diff --git a/src/de/katho/kBorrow/gui/UserPanel.java b/src/de/katho/kBorrow/gui/UserPanel.java index 3e00ee8..f2fa811 100644 --- a/src/de/katho/kBorrow/gui/UserPanel.java +++ b/src/de/katho/kBorrow/gui/UserPanel.java @@ -20,6 +20,7 @@ import javax.swing.UIManager; import javax.swing.border.TitledBorder; import de.katho.kBorrow.controller.UserController; +import de.katho.kBorrow.data.KUserModel; import de.katho.kBorrow.data.objects.KUser; import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; @@ -37,17 +38,17 @@ public class UserPanel extends JPanel implements ActionListener, KeyListener { private JButton btnUserCancel; private boolean userModeEdit; private int userEditId; - private UserTableModel userTableModel; + private KUserModel kUserModel; private UserController userController; public UserPanel(final DbConnector dbCon, HashMap models) throws IOException{ super(); setLayout(null); - userTableModel = (UserTableModel)models.get("usertablemodel"); + kUserModel = (KUserModel)models.get("kusermodel"); userController = new UserController(dbCon, models); //Tabelle und drumherum - JTable userTable = new JTable(userTableModel); + JTable userTable = new JTable(new UserTableModel(kUserModel)); userTable.setRowHeight(30); UserDeleteTableButton userDeleteTableButton = new UserDeleteTableButton("Löschen", userTable, this, userController); UserEditTableButton userEditTableButton = new UserEditTableButton("Bearbeiten", userTable, this); @@ -148,8 +149,8 @@ public class UserPanel extends JPanel implements ActionListener, KeyListener { this.textFieldUserSurname.setText(""); } - public void setModeEditUser(int pRow){ - KUser user = userTableModel.getUserByRow(pRow); + public void setModeEditUser(int pId){ + KUser user = kUserModel.getElement(pId); this.userModeEdit = true; this.userEditId = user.getId(); diff --git a/src/de/katho/kBorrow/interfaces/KDataModel.java b/src/de/katho/kBorrow/interfaces/KDataModel.java index 194ab11..2b1816b 100644 --- a/src/de/katho/kBorrow/interfaces/KDataModel.java +++ b/src/de/katho/kBorrow/interfaces/KDataModel.java @@ -6,5 +6,5 @@ public interface KDataModel { public void register(KGuiModel pModel); public void updateModel(); public ArrayList getData(); - public Object get(int id); + public Object getElement(int id); } diff --git a/src/de/katho/kBorrow/listener/ArticleDeleteTableButton.java b/src/de/katho/kBorrow/listener/ArticleDeleteTableButton.java index c46dad9..15a88bc 100644 --- a/src/de/katho/kBorrow/listener/ArticleDeleteTableButton.java +++ b/src/de/katho/kBorrow/listener/ArticleDeleteTableButton.java @@ -11,6 +11,7 @@ import javax.swing.JTable; import sun.tools.jar.Main; import de.katho.kBorrow.controller.ArticleController; import de.katho.kBorrow.gui.ArticlePanel; +import de.katho.kBorrow.models.ArticleTableModel; public class ArticleDeleteTableButton extends TableButton { @@ -24,16 +25,17 @@ public class ArticleDeleteTableButton extends TableButton { URL url = Main.class.getResource("/icons/edit-delete.png"); ImageIcon icon = new ImageIcon(url); - this.buttonE.setIcon(icon); - this.buttonR.setIcon(icon); + buttonE.setIcon(icon); + buttonR.setIcon(icon); - this.buttonE.addActionListener(new ActionListener(){ + buttonE.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ fireEditingStopped(); int row = pTable.getSelectedRow(); + int id = ((ArticleTableModel)pTable.getModel()).getIdFromRow(row); - pPanel.setDeleteStatusLabel(pController.deleteArticle(row)); + pPanel.setDeleteStatusLabel(pController.deleteArticle(id)); pPanel.resetModeEditArticle(); } }); diff --git a/src/de/katho/kBorrow/listener/ArticleEditTableButton.java b/src/de/katho/kBorrow/listener/ArticleEditTableButton.java index 82387c5..82ebff2 100644 --- a/src/de/katho/kBorrow/listener/ArticleEditTableButton.java +++ b/src/de/katho/kBorrow/listener/ArticleEditTableButton.java @@ -10,6 +10,7 @@ import javax.swing.JTable; import sun.tools.jar.Main; import de.katho.kBorrow.gui.ArticlePanel; +import de.katho.kBorrow.models.ArticleTableModel; public class ArticleEditTableButton extends TableButton { @@ -31,8 +32,9 @@ public class ArticleEditTableButton extends TableButton { fireEditingStopped(); int row = pTable.getSelectedRow(); + int id = ((ArticleTableModel)pTable.getModel()).getIdFromRow(row); - articleTab.setModeEditArticle(row); + articleTab.setModeEditArticle(id); } }); } diff --git a/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java b/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java index b0ce81a..3e67d9a 100644 --- a/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java +++ b/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java @@ -11,8 +11,8 @@ import javax.swing.JTable; import sun.tools.jar.Main; import de.katho.kBorrow.gui.ArticleInspectFrame; -import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; +import de.katho.kBorrow.models.ArticleTableModel; public class ArticleInspectTableButton extends TableButton { @@ -21,7 +21,7 @@ public class ArticleInspectTableButton extends TableButton { */ private static final long serialVersionUID = -2591133864537097893L; - public ArticleInspectTableButton(String pLabel, final JTable pTable, final DbConnector dbCon, final HashMap models) throws IOException { + public ArticleInspectTableButton(String pLabel, final JTable pTable, final HashMap models) throws IOException { super(pLabel); URL url = Main.class.getResource("/icons/system-search.png"); ImageIcon icon = new ImageIcon(url); @@ -34,8 +34,9 @@ public class ArticleInspectTableButton extends TableButton { fireEditingStopped(); int row = pTable.getSelectedRow(); + int id = ((ArticleTableModel)pTable.getModel()).getIdFromRow(row); - new ArticleInspectFrame(row, dbCon, models); + new ArticleInspectFrame(id, models); } }); } diff --git a/src/de/katho/kBorrow/listener/LendingReturnTableButton.java b/src/de/katho/kBorrow/listener/LendingReturnTableButton.java index e37e71e..7bf7722 100644 --- a/src/de/katho/kBorrow/listener/LendingReturnTableButton.java +++ b/src/de/katho/kBorrow/listener/LendingReturnTableButton.java @@ -10,6 +10,7 @@ import javax.swing.JTable; import sun.tools.jar.Main; import de.katho.kBorrow.controller.ManageLendingsController; +import de.katho.kBorrow.models.LendingTableModel; public class LendingReturnTableButton extends TableButton { @@ -31,8 +32,9 @@ public class LendingReturnTableButton extends TableButton { fireEditingStopped(); int row = pTable.getSelectedRow(); + int id = ((LendingTableModel)pTable.getModel()).getIdFromRow(row); - pController.returnLending(row); + pController.returnLending(id); } }); } diff --git a/src/de/katho/kBorrow/listener/NewLendingTableButton.java b/src/de/katho/kBorrow/listener/NewLendingTableButton.java index 61ebeaa..1f7e2ae 100644 --- a/src/de/katho/kBorrow/listener/NewLendingTableButton.java +++ b/src/de/katho/kBorrow/listener/NewLendingTableButton.java @@ -10,6 +10,7 @@ import javax.swing.JTable; import sun.tools.jar.Main; import de.katho.kBorrow.gui.NewLendingPanel; +import de.katho.kBorrow.models.FreeArticleTableModel; public class NewLendingTableButton extends TableButton { @@ -31,8 +32,9 @@ public class NewLendingTableButton extends TableButton { fireEditingStopped(); int row = pTable.getSelectedRow(); + int id = ((FreeArticleTableModel)pTable.getModel()).getIdFromRow(row); - pPanel.setModeNewLending(row); + pPanel.setModeNewLending(id); } }); } diff --git a/src/de/katho/kBorrow/listener/UserDeleteTableButton.java b/src/de/katho/kBorrow/listener/UserDeleteTableButton.java index 36d365b..5fc1768 100644 --- a/src/de/katho/kBorrow/listener/UserDeleteTableButton.java +++ b/src/de/katho/kBorrow/listener/UserDeleteTableButton.java @@ -30,7 +30,7 @@ public class UserDeleteTableButton extends TableButton { fireEditingStopped(); int row = pTable.getSelectedRow(); - int id = ((UserTableModel)pTable.getModel()).rowToId(row); + int id = ((UserTableModel)pTable.getModel()).getIdFromRow(row); if(pController.deleteUser(id)) pPanel.setStatusLabel("Benutzer erfolgreich gelöscht."); else pPanel.setStatusLabel("Beuntzer konnte nicht gelöscht werden."); diff --git a/src/de/katho/kBorrow/listener/UserEditTableButton.java b/src/de/katho/kBorrow/listener/UserEditTableButton.java index 53e8f5d..c876d46 100644 --- a/src/de/katho/kBorrow/listener/UserEditTableButton.java +++ b/src/de/katho/kBorrow/listener/UserEditTableButton.java @@ -10,6 +10,7 @@ import javax.swing.JTable; import sun.tools.jar.Main; import de.katho.kBorrow.gui.UserPanel; +import de.katho.kBorrow.models.UserTableModel; public class UserEditTableButton extends TableButton { @@ -31,8 +32,9 @@ public class UserEditTableButton extends TableButton { fireEditingStopped(); int row = pTable.getSelectedRow(); + int id = ((UserTableModel)pTable.getModel()).getIdFromRow(row); - pPanel.setModeEditUser(row); + pPanel.setModeEditUser(id); } }); diff --git a/src/de/katho/kBorrow/models/ArticleInspectTableModel.java b/src/de/katho/kBorrow/models/ArticleInspectTableModel.java index f30d49b..430d2b9 100644 --- a/src/de/katho/kBorrow/models/ArticleInspectTableModel.java +++ b/src/de/katho/kBorrow/models/ArticleInspectTableModel.java @@ -5,11 +5,12 @@ import java.util.HashMap; import javax.swing.table.AbstractTableModel; -import de.katho.kBorrow.data.objects.KArticle; +import de.katho.kBorrow.data.KLenderModel; +import de.katho.kBorrow.data.KLendingModel; +import de.katho.kBorrow.data.KUserModel; import de.katho.kBorrow.data.objects.KLender; import de.katho.kBorrow.data.objects.KLending; import de.katho.kBorrow.data.objects.KUser; -import de.katho.kBorrow.interfaces.DbConnector; import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.interfaces.KGuiModel; @@ -20,29 +21,19 @@ public class ArticleInspectTableModel extends AbstractTableModel implements KGui */ private static final long serialVersionUID = 2293157709447086998L; private String[] header; + private int articleId; private ArrayList data; - private DbConnector dbCon; - private KArticle article; - private ArticleTableModel articleModel; - private UserTableModel userModel; - private LenderModel lenderModel; + private KUserModel userModel; + private KLenderModel lenderModel; - public ArticleInspectTableModel(int pRow, DbConnector pDbCon, HashMap models){ + public ArticleInspectTableModel(int pId, HashMap models){ header = new String[] {"ID", "Verliehen von:", "Ausgeliehen an:", "Ausleihdatum", "Vor. Rückgabe", "Rückgabe"}; - dbCon = pDbCon; - articleModel = (ArticleTableModel)models.get("articletablemodel"); - userModel = (UserTableModel)models.get("usertablemodel"); - lenderModel = (LenderModel)models.get("lendermodel"); + articleId = pId; + userModel = (KUserModel)models.get("kusermodel"); + lenderModel = (KLenderModel)models.get("klendermodel"); - article = articleModel.getArticleByRow(pRow); - - updateModel(); - } - - public void updateModel() { - data = dbCon.getLendingListForArticle(article.getId()); - fireTableDataChanged(); + fetchData(((KLendingModel)models.get("klendingmodel"))); } public int getColumnCount() { @@ -68,13 +59,13 @@ public class ArticleInspectTableModel extends AbstractTableModel implements KGui case 1: int uid = data.get(row).getUserId(); - KUser user = userModel.getUserById(uid); + KUser user = userModel.getElement(uid); return user.getName()+" "+user.getSurname(); case 2: int lid = data.get(row).getLenderId(); - KLender lender = lenderModel.getLenderById(lid); + KLender lender = lenderModel.getElement(lid); return lender.getName()+" "+lender.getSurname()+" ("+lender.getStudentnumber()+")"; @@ -92,4 +83,16 @@ public class ArticleInspectTableModel extends AbstractTableModel implements KGui } } + public void fetchData(KDataModel pModel) { + if(pModel instanceof KLendingModel){ + data = new ArrayList(); + + for(KLending elem : ((KLendingModel)pModel).getData()){ + if(elem.getArticleId() == articleId) data.add(elem); + } + + fireTableDataChanged(); + } + } + } diff --git a/src/de/katho/kBorrow/models/ArticleTableModel.java b/src/de/katho/kBorrow/models/ArticleTableModel.java index d92d2ef..e561d9a 100644 --- a/src/de/katho/kBorrow/models/ArticleTableModel.java +++ b/src/de/katho/kBorrow/models/ArticleTableModel.java @@ -4,8 +4,10 @@ import java.util.ArrayList; import javax.swing.table.AbstractTableModel; +import de.katho.kBorrow.data.KArticleModel; import de.katho.kBorrow.data.objects.KArticle; import de.katho.kBorrow.interfaces.DbConnector; +import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.interfaces.KGuiModel; public class ArticleTableModel extends AbstractTableModel implements KGuiModel { @@ -18,20 +20,14 @@ public class ArticleTableModel extends AbstractTableModel implements KGuiModel { protected DbConnector dbCon; protected ArrayList data = new ArrayList(); - public ArticleTableModel(DbConnector pDbCon){ + public ArticleTableModel(KDataModel pModel){ header = new String [] {"ID", "Artikelname", "Artikelbeschreibung", "", "", ""}; - this.dbCon = pDbCon; - this.updateModel(); + pModel.register(this); } public String getColumnName(int index){ return header[index]; } - - public void updateModel() { - this.data = this.dbCon.getArticleList(); - this.fireTableDataChanged(); - } public int getColumnCount() { return header.length; @@ -77,6 +73,10 @@ public class ArticleTableModel extends AbstractTableModel implements KGuiModel { return -1; } + public int getIdFromRow(int pRow){ + return getArticleByRow(pRow).getId(); + } + /** * Gibt das Article-Objekt der übergebenen Zeile zurück. * @@ -99,5 +99,14 @@ public class ArticleTableModel extends AbstractTableModel implements KGuiModel { } return null; } + + public void fetchData(KDataModel pModel) { + if(pModel instanceof KArticleModel){ + data = ((KArticleModel)pModel).getData(); + + fireTableDataChanged(); + } + + } } diff --git a/src/de/katho/kBorrow/models/FreeArticleTableModel.java b/src/de/katho/kBorrow/models/FreeArticleTableModel.java index bb6dead..97470eb 100644 --- a/src/de/katho/kBorrow/models/FreeArticleTableModel.java +++ b/src/de/katho/kBorrow/models/FreeArticleTableModel.java @@ -1,6 +1,12 @@ package de.katho.kBorrow.models; -import de.katho.kBorrow.interfaces.DbConnector; +import java.util.ArrayList; +import java.util.logging.Level; + +import de.katho.kBorrow.KLogger; +import de.katho.kBorrow.data.KArticleModel; +import de.katho.kBorrow.data.objects.KArticle; +import de.katho.kBorrow.interfaces.KDataModel; import de.katho.kBorrow.interfaces.KGuiModel; public class FreeArticleTableModel extends ArticleTableModel implements KGuiModel { @@ -9,21 +15,31 @@ public class FreeArticleTableModel extends ArticleTableModel implements KGuiMode * */ private static final long serialVersionUID = 1908669541941834593L; - private String[] header; + private String[] header; - public FreeArticleTableModel(DbConnector pDbCon) { - super(pDbCon); - this.header = new String[] {"ID", "Artikelname", "Artikelbeschreibung", ""}; - - updateModel(); - } - - public void updateModel(){ - data = dbCon.getFreeArticleList(); - fireTableDataChanged(); + public FreeArticleTableModel(KDataModel pModel) { + super(pModel); + header = new String[] {"ID", "Artikelname", "Artikelbeschreibung", ""}; + pModel.register(this); } public int getColumnCount(){ return header.length; } + + public void fetchData(KDataModel pModel) { + if(pModel instanceof KArticleModel){ + data = new ArrayList(); + + for(KArticle elem : ((KArticleModel)pModel).getData()){ + if (elem.getIsFree()) data.add(elem); + } + + fireTableDataChanged(); + } + else { + KLogger.log(Level.SEVERE, "FreeArticleModel: Typecast error!", new Exception("FreeArticleModel: Typecast error!")); + } + + } } diff --git a/src/de/katho/kBorrow/models/LenderModel.java b/src/de/katho/kBorrow/models/LenderModel.java deleted file mode 100644 index e8e5a94..0000000 --- a/src/de/katho/kBorrow/models/LenderModel.java +++ /dev/null @@ -1,120 +0,0 @@ -package de.katho.kBorrow.models; - -import java.util.ArrayList; - -import de.katho.kBorrow.data.KLenderModel; -import de.katho.kBorrow.data.objects.KLender; -import de.katho.kBorrow.interfaces.KDataModel; -import de.katho.kBorrow.interfaces.KGuiModel; - -public class LenderModel implements KGuiModel { - private ArrayList data; - - public LenderModel(KDataModel pModel){ - pModel.register(this); - } - - public ArrayList getList(){ - return data; - } - - public ArrayList getLenders(String pName, String pSurname, String pSN){ - boolean nameEmpty = pName.isEmpty(); - boolean surnameEmpty = pSurname.isEmpty(); - boolean snEmpty = pSN.isEmpty(); - ArrayList elems = new ArrayList(); - int sn; - - if(pSN.matches("[0-9]+")){ - sn = Integer.parseInt(pSN); - } - else { - sn = -1; - } - - if(!nameEmpty){ - if(!surnameEmpty){ - if(!snEmpty){ - // Alles gegeben - for(KLender e : data){ - if(e.getName().equals(pName) && e.getSurname().equals(pSurname) && e.getStudentnumber() == sn){ - elems.add(e); - } - } - return elems; - } - //Name und Surname gegeben - for(KLender e : data){ - if(e.getName().equals(pName) && e.getSurname().equals(pSurname)){ - elems.add(e); - } - } - return elems; - } - if(!snEmpty){ - // Name und SN gegeben - for (KLender e : data){ - if(e.getName().equals(pName) && e.getStudentnumber() == sn){ - elems.add(e); - } - } - return elems; - } - // Nur Name gegeben - for (KLender e : data){ - if(e.getName().equals(pName)){ - elems.add(e); - } - } - return elems; - } - - if(!surnameEmpty){ - if(!snEmpty){ - // Surname und SN gegeben - for (KLender e : data){ - if(e.getSurname().equals(pSurname) && e.getStudentnumber() == sn){ - elems.add(e); - } - } - return elems; - } - // Nur Surname gegeben - for (KLender e : data){ - if(e.getSurname().equals(pSurname)){ - elems.add(e); - } - } - return elems; - } - - if(!snEmpty){ - // Nur SN gegeben - for (KLender e : data){ - if(e.getStudentnumber() == sn){ - elems.add(e); - } - } - return elems; - } - - return elems; - } - - public KLender getLenderById(int pId){ - for(KLender elem : data){ - if(elem.getId() == pId) return elem; - } - return null; - } - - public KLender getLenderByRow(int pRow){ - return data.get(pRow); - } - - public void fetchData(KDataModel pModel) { - if(pModel instanceof KLenderModel){ - data = ((KLenderModel)pModel).getData(); - } - } -} diff --git a/src/de/katho/kBorrow/models/LendingTableModel.java b/src/de/katho/kBorrow/models/LendingTableModel.java index 6b5aa77..fe9c8d4 100644 --- a/src/de/katho/kBorrow/models/LendingTableModel.java +++ b/src/de/katho/kBorrow/models/LendingTableModel.java @@ -20,7 +20,7 @@ public class LendingTableModel extends AbstractTableModel implements KGuiModel { */ private static final long serialVersionUID = 1375465648631587292L; private String[] header = {"ID", "Artikel", "Verliehen von:", "Ausgeliehen an:", "Ausleihdatum", "Vor. Rückgabe", ""}; - private ArrayList data = new ArrayList(); + private ArrayList data; private KDataModel articleModel; private KDataModel lenderModel; private KDataModel userModel; @@ -54,19 +54,19 @@ public class LendingTableModel extends AbstractTableModel implements KGuiModel { case 1: int artId = data.get(row).getArticleId(); - KArticle art = (KArticle) articleModel.get(artId); + KArticle art = (KArticle) articleModel.getElement(artId); return art.getName(); case 2: int uId = data.get(row).getUserId(); - KUser user = (KUser) userModel.get(uId); + KUser user = (KUser) userModel.getElement(uId); return user.getName()+" "+user.getSurname(); case 3: int lenderId = data.get(row).getLenderId(); - KLender lender = (KLender) lenderModel.get(lenderId); + KLender lender = (KLender) lenderModel.getElement(lenderId); return lender.getName()+" "+lender.getSurname()+" ("+lender.getStudentnumber()+")"; @@ -98,12 +98,25 @@ public class LendingTableModel extends AbstractTableModel implements KGuiModel { } public void fetchData(KDataModel pModel) { + data = new ArrayList(); + if(pModel instanceof KLendingModel){ for(KLending elem : ((KLendingModel)pModel).getData()){ - if(elem.getEndDate().equals("")) data.add(elem); + if(elem.getEndDate() == null || elem.getEndDate().equals("")) data.add(elem); } fireTableDataChanged(); } } + + public int getRowFromId(int pId){ + for(KLending elem : this.data){ + if(elem.getId() == pId) return data.indexOf(elem); + } + return -1; + } + + public int getIdFromRow(int pRow){ + return getLendingByRow(pRow).getId(); + } } diff --git a/src/de/katho/kBorrow/models/RewriteUserModel.java b/src/de/katho/kBorrow/models/RewriteUserModel.java index 1742287..fa7bc68 100644 --- a/src/de/katho/kBorrow/models/RewriteUserModel.java +++ b/src/de/katho/kBorrow/models/RewriteUserModel.java @@ -22,6 +22,13 @@ public class RewriteUserModel extends UserListModel { pModel.register(this); } + public int getIdByFullname(String pName){ + for (KUser elem : data){ + if(pName.equals(elem.getName()+" "+elem.getSurname())) return elem.getId(); + } + return -1; + } + public void fetchData(KDataModel pModel){ if(pModel instanceof KUserModel){ data = new ArrayList(); diff --git a/src/de/katho/kBorrow/models/UserListModel.java b/src/de/katho/kBorrow/models/UserListModel.java index fe677eb..faff173 100644 --- a/src/de/katho/kBorrow/models/UserListModel.java +++ b/src/de/katho/kBorrow/models/UserListModel.java @@ -56,12 +56,7 @@ public class UserListModel extends AbstractListModel implements ComboBox return false; } - public int getIdByFullname(String pName){ - for (KUser elem : data){ - if(pName.equals(elem.getName()+" "+elem.getSurname())) return elem.getId(); - } - return -1; - } + public KUser getUserById(int pId){ for (KUser elem : data){ diff --git a/src/de/katho/kBorrow/models/UserTableModel.java b/src/de/katho/kBorrow/models/UserTableModel.java index b905cd1..28f02ce 100644 --- a/src/de/katho/kBorrow/models/UserTableModel.java +++ b/src/de/katho/kBorrow/models/UserTableModel.java @@ -68,6 +68,10 @@ public class UserTableModel extends AbstractTableModel implements KGuiModel { return -1; } + public int getIdFromRow(int pRow){ + return getUserByRow(pRow).getId(); + } + public KUser getUserByRow(int pRow){ return this.data.get(pRow); } @@ -79,10 +83,6 @@ public class UserTableModel extends AbstractTableModel implements KGuiModel { return null; } - public int rowToId(int pRow){ - return getUserByRow(pRow).getId(); - } - public void fetchData(KDataModel pModel) { if(pModel instanceof KUserModel){ data = ((KUserModel)pModel).getData();