Solved issue #14 - Datenmodell wurde nun komplett überarbeitet.
Theoretisch müssten nun sämtliche Operationen auf Datenstrukturen direkt auf den Datenmodellen geschehen, während die Tabellen- und Listenmodelle lediglich in den Tabellen und Listen eingebunden werden und für damit verbundene Aufgaben zuständig sind.
This commit is contained in:
@@ -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<String, KDataModel> 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<65>scht werden soll.
|
||||
* @param pId ID des Artikels, der gel<65>scht werden soll.
|
||||
* @return 0: Artikel konnte erfolgreich gel<65>scht werden
|
||||
* 1: Artikel konnte nicht gel<65>scht werden, unbekannter Fehler (SQL-Fehler)
|
||||
* 2: Artikel konnte nicht gel<65>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;
|
||||
|
||||
@@ -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<String, KDataModel> 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<String, KDataModel> 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<KLender> lenders = lenderModel.getLenders(pLName, pLSurname, pLSN);
|
||||
ArrayList<KLender> 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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<KLender> getLenders(String pName, String pSurname, String pSN){
|
||||
boolean nameEmpty = pName.isEmpty();
|
||||
boolean surnameEmpty = pSurname.isEmpty();
|
||||
boolean snEmpty = pSN.isEmpty();
|
||||
ArrayList<KLender> elems = new ArrayList<KLender>();
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<String, KDataModel> models) {
|
||||
articleModel = (ArticleTableModel)models.get("articletablemodel");
|
||||
article = articleModel.getArticleByRow(pRow);
|
||||
public ArticleInspectFrame(int pId, HashMap<String, KDataModel> 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);
|
||||
|
||||
@@ -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<String, KDataModel> 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<EFBFBD>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();
|
||||
|
||||
@@ -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<String, KDataModel> 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);
|
||||
|
||||
@@ -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<KLender> result = lenderModel.getLenders(tfName.getText(), tfSurname.getText(), tfStudentNumber.getText());
|
||||
ArrayList<KLender> result = kLenderModel.getLenders(tfName.getText(), tfSurname.getText(), tfStudentNumber.getText());
|
||||
|
||||
if(result.size() == 1){
|
||||
tfName.setText(result.get(0).getName());
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<String, KDataModel> 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<EFBFBD>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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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<String, KDataModel> models) throws IOException {
|
||||
public ArticleInspectTableButton(String pLabel, final JTable pTable, final HashMap<String, KDataModel> 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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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<65>scht.");
|
||||
else pPanel.setStatusLabel("Beuntzer konnte nicht gel<65>scht werden.");
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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<KLending> 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<String, KDataModel> models){
|
||||
public ArticleInspectTableModel(int pId, HashMap<String, KDataModel> models){
|
||||
header = new String[] {"ID", "Verliehen von:", "Ausgeliehen an:", "Ausleihdatum", "Vor. R<>ckgabe", "R<EFBFBD>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<KLending>();
|
||||
|
||||
for(KLending elem : ((KLendingModel)pModel).getData()){
|
||||
if(elem.getArticleId() == articleId) data.add(elem);
|
||||
}
|
||||
|
||||
fireTableDataChanged();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<KArticle> data = new ArrayList<KArticle>();
|
||||
|
||||
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 <20>bergebenen Zeile zur<75>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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<KArticle>();
|
||||
|
||||
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!"));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<KLender> data;
|
||||
|
||||
public LenderModel(KDataModel pModel){
|
||||
pModel.register(this);
|
||||
}
|
||||
|
||||
public ArrayList<KLender> getList(){
|
||||
return data;
|
||||
}
|
||||
|
||||
public ArrayList<KLender> getLenders(String pName, String pSurname, String pSN){
|
||||
boolean nameEmpty = pName.isEmpty();
|
||||
boolean surnameEmpty = pSurname.isEmpty();
|
||||
boolean snEmpty = pSN.isEmpty();
|
||||
ArrayList<KLender> elems = new ArrayList<KLender>();
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<KLending> data = new ArrayList<KLending>();
|
||||
private ArrayList<KLending> 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<KLending>();
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<KUser>();
|
||||
|
||||
@@ -56,12 +56,7 @@ public class UserListModel extends AbstractListModel<String> 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){
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user