summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/helper/ImageTableModel.java
diff options
context:
space:
mode:
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.java69
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;
+ }
+ }
+}