Скачиваний:
61
Добавлен:
15.06.2014
Размер:
6.82 Кб
Скачать
package tables;

import java.util.Iterator;

import javax.swing.table.AbstractTableModel;

import products.BaseProduct;
import workingwithfiles.BaseProductFileWriter;
import datacontainers.BaseDepartmentContainer;

public class MyMainTableModel extends AbstractTableModel {
//column names
private String[] columnNames = {
"Name",
"Arrival Date",
"Maker",
"Price(dol)",
"Type",
"Shelf life(mon)",
"Weight(gr)",
"Number",
"Country",
"Maker address",
"Maker site",
"Maker mail",
"Maker phone",
"Department"
};
//department container
private BaseDepartmentContainer container = new BaseDepartmentContainer();

public MyMainTableModel() {

}

public int getColumnCount() {
return columnNames.length;
}

public int getRowCount() {
return container.getAllProductsContainer().getAllListOfProducts().size();
}

public String getColumnName(int col) {
return columnNames[col];
}

public Object getValueAt(int row,int col) {
switch(col) {
case 0: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductName();
}
case 1: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductArrivalDate();
}
case 2: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductMaker();
}
case 3: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductPrice();
}
case 4: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductType();
}
case 5: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductShelfLife();
}
case 6: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductWeight();
}
case 7: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductNumber();
}
case 8: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductCountry();
}
case 9: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductMakerAddress();
}
case 10: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductMakerSite();
}
case 11: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductMakerMail();
}
case 12: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductMakerPhone();
}
case 13: {
return container.getAllProductsContainer().getAllListOfProducts().get(row).getBaseProductDepartment();
}
default: {
return "";
}
}
}

public BaseDepartmentContainer getDepartmentContainer() {
return container;
}

public void addOneElement(BaseProduct product) {
container.getAllProductsContainer().addElement(product);
BaseProductFileWriter baseproductfilewriter = new BaseProductFileWriter();
baseproductfilewriter.writeToFile(container.getAllProductsContainer(), "baseproductdata.xml");
//update department container
container.generalUpdateDepartmentContainer();
int firstRow = container.getAllProductsContainer().getAllListOfProducts().size() - 1;
int lastRow = firstRow;
//fireTableDataChanged();
//update only one added row
fireTableRowsInserted(firstRow,lastRow);
}

public void updateAllTable() {
fireTableDataChanged();
}


public boolean isCellEditable(int rowIndex,int columnIndex) {
return true;
}

public void setValueAt(Object object,int row,int col) {
int position = 0;
for(Iterator<BaseProduct> iterator = container.getAllProductsContainer().getAllListOfProducts().iterator();iterator.hasNext();position++) {
BaseProduct product = (BaseProduct)iterator.next();
if(position == row) {
switch(col) {
case 0: {
product.setBaseProductName((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 1: {
product.setBaseProductArrivalDate((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 2: {
product.setBaseProductMaker((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 3: {
product.setBaseProductPrice((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 4: {
product.setBaseProductType((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 5: {
product.setBaseProductShelfLife((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 6: {
product.setBaseProductWeight((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 7: {
product.setBaseProductNumber((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 8: {
product.setBaseProductCountry((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 9: {
product.setBaseProductMakerAddress((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 10: {
product.setBaseProductMakerSite((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 11: {
product.setBaseProductMakerMail((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 12: {
product.setBaseProductMakerPhone((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
case 13: {
product.setBaseProductDepartment((String)object);
container.getAllProductsContainer().getAllListOfProducts().set(position, product);
break;
}
default: {
return;
}
}
}
}
BaseProductFileWriter filewriter = new BaseProductFileWriter();
filewriter.writeToFile(container.getAllProductsContainer(), "baseproductdata.xml");
container.generalUpdateDepartmentContainer();
fireTableDataChanged();
container.getAllProductsContainer().showInConsole();
}
}
Соседние файлы в папке tables