diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ImageTableModel.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ImageTableModel.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ImageTableModel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ImageTableModel.java new file mode 100644 index 00000000..443bb4c6 --- /dev/null +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ImageTableModel.java @@ -0,0 +1,69 @@ +package org.openslx.dozmod.gui.helper; + +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import org.openslx.bwlp.thrift.iface.ImageSummaryRead; +import org.openslx.bwlp.thrift.iface.OperatingSystem; +import org.openslx.bwlp.thrift.iface.UserInfo; +import org.openslx.dozmod.thrift.MetaDataCache; +import org.openslx.dozmod.thrift.UserCache; +import org.openslx.dozmod.util.FormatHelper; + +public class ImageTableModel extends AbstractTableModel { + + private static final long serialVersionUID = 3335684645951493805L; + protected String[] columnNames = new String[] { + "Name", "OS", "Verantwortlicher", "Letztes Update", "Größe" + }; + protected Class<?>[] columnClasses = new Class[] { + String.class, String.class, String.class, String.class, String.class + }; + private List<ImageSummaryRead> items = null; + + public ImageSummaryRead get(int index) { + return items.get(index); + } + public void setItems(List<ImageSummaryRead> items) { + this.items = items; + fireTableDataChanged(); + } + @Override + public int getColumnCount() { + return columnNames.length; + } + + public boolean isCellEditable(int row, int col) + { return false; } + + @Override + public int getRowCount() { + if (items == null) { + return 0; + } + return items.size(); + } + public Class<?> getColumnClass(int c) { + + return columnClasses[c]; + } + public String getColumnName(int c) { + + return columnNames[c]; + } + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + ImageSummaryRead item = items.get(rowIndex); + OperatingSystem os = MetaDataCache.getOsById(item.getOsId()); + UserInfo user = UserCache.find(item.getOwnerId()); + switch(columnIndex) { + case 0: return item.getImageName(); + case 1: return os == null ? "Unknown" : os.getOsName(); + case 2: return FormatHelper.userName(user); + case 3: return FormatHelper.shortDate(item.getUpdateTime()); + case 4: return item.getCurrentVersionId() == null ? "-" : FormatHelper.bytes(item.getFileSize(), false); + default: return null; + } + } +} |