summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java314
1 files changed, 178 insertions, 136 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
index 09a6a966..525b7a11 100644
--- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
@@ -71,7 +71,7 @@ import javax.swing.JTextArea;
@SuppressWarnings("serial")
public class DeleteImage_GUI extends JFrame {
-
+
private final static Logger LOGGER = Logger
.getLogger(FTPCreateUploader_GUI.class);
@@ -95,76 +95,71 @@ public class DeleteImage_GUI extends JFrame {
JComboBox<String> comboBox;
JTable tablemyImages;
private JTextField textFieldName;
+ private JLabel lblTotalResults = new JLabel("Anzahl:");
boolean activeSearch = false;
Component c = null;
String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung",
- "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; // Angezeigt
- // werden
- // aber
- // nur
- // Name
- // (0),
- // OS
- // (2),
- // Verantwortlicher
- // (4),
- // Letztes
- // Update
- // (5)
- private static final String HELP_MESSAGE = "<html><div align = \"center\">" +
- "Löschen Sie hier die Images, die nicht mehr benötigt werden.<br />" +
- "Ein gelöschtes Image wird auch tatsächlich physisch gelöscht und kann nicht wiederhergestellt werden.<br />" +
- "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden." +
- "</div></html>";
-
-
+ "Verantwortlicher", "Letztes Update", "ID", "Version", "Template",
+ "Beschreibung" }; // Angezeigt
+ // werden
+ // aber
+ // nur
+ // Name
+ // (0),
+ // OS
+ // (2),
+ // Verantwortlicher
+ // (4),
+ // Letztes
+ // Update
+ // (5)
+ private static final String HELP_MESSAGE = "<html><div align = \"center\">"
+ + "Löschen Sie hier die Images, die nicht mehr benötigt werden.<br />"
+ + "Ein gelöschtes Image wird auch tatsächlich physisch gelöscht und kann nicht wiederhergestellt werden.<br />"
+ + "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden."
+ + "</div></html>";
+
ThriftConnection con = new ThriftConnection();
Client client = models.Client.clientcon.getClient();
-
+
/*
- final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
- public boolean isCellEditable(int rowIndex, int mColIndex) {
- return false;
- }
- };
- */
+ * final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
+ * public boolean isCellEditable(int rowIndex, int mColIndex) { return
+ * false; } };
+ */
final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
/*
- final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles,
- 0) {
- public boolean isCellEditable(int rowIndex, int mColIndex) {
- return false;
- }
- };*/
+ * final DefaultTableModel modelPublicVorlagen = new
+ * DefaultTableModel(titles, 0) { public boolean isCellEditable(int
+ * rowIndex, int mColIndex) { return false; } };
+ */
/*
- final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
- modelAll);
- */
+ * final TableRowSorter<TableModel> rowSorterAll = new
+ * TableRowSorter<TableModel>( modelAll);
+ */
final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
modelMyImages);
/*
- final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
- modelPublicVorlagen);
- */
+ * final TableRowSorter<TableModel> rowSorterPublicVorlagen = new
+ * TableRowSorter<TableModel>( modelPublicVorlagen);
+ */
RowFilter rf = null;
- List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
-
+ List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(
+ 2);
+
/**
* Create the dialog.
*/
public DeleteImage_GUI(Component formerGUI) {
-
filters.add(RowFilter.regexFilter(".", 0));
rf = RowFilter.orFilter(filters);
-
-
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
@@ -181,9 +176,8 @@ public class DeleteImage_GUI extends JFrame {
@Override
public void windowOpened(WindowEvent arg0) {
- //initTableModel(modelAll);
+
initTableModel(modelMyImages);
- //initTableModel(modelPublicVorlagen);
// auszublendende Angaben
// 1=Lizenzpflichtig
@@ -211,7 +205,7 @@ public class DeleteImage_GUI extends JFrame {
tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0);
tablemyImages.getTableHeader().setReorderingAllowed(false);
-
+
// bis hier
textFieldName.requestFocusInWindow();
}
@@ -224,11 +218,12 @@ public class DeleteImage_GUI extends JFrame {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e) {
-
+
e.printStackTrace();
}
// Setzt den Fenstertitel
- setTitle("bwLehrpool Suite - Image löschen");
+ setTitle("bwLehrpool Suite - Image löschen - "
+ + person.verantwortlicher.getUserID());
// Zentriert das Fenster in die Bildmitte
setBounds(0, 0, 918, 722);
setLocationRelativeTo(formerGUI);
@@ -281,37 +276,37 @@ public class DeleteImage_GUI extends JFrame {
textFieldName = new JTextField();
// Key Listener der Tastatureingabe registriert
-
-
+
textFieldName.addKeyListener(new KeyAdapter() {
@Override
- public void keyReleased(KeyEvent e)
- {
+ public void keyReleased(KeyEvent e) {
// Textfield eingabe auslesen
String stext = textFieldName.getText().trim();
// Wenn Textfield nicht leer
- if (stext != "")
- {
+ if (stext != "") {
activeSearch = true;
// Filtere nach der Eingabe
- filters.clear();
- filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
- filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+ filters.clear();
+ filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); // case
+ // insensitive
+ filters.add(RowFilter.regexFilter("(?i)" + stext, 9)); // case
+ // insensitive
rf = RowFilter.orFilter(filters);
rowSorterMyImages.setRowFilter(rf);
- }
- else
- {
+ } else {
activeSearch = false;
-
+
filters.clear();
- filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything
+ filters.add(RowFilter.regexFilter(".", 0)); // case
+ // insensitive,
+ // filter for
+ // anything
rf = RowFilter.orFilter(filters);
rowSorterMyImages.setRowFilter(rf);
}
tablemyImages.clearSelection();
-
+
resetImageInfo();
}
});
@@ -324,7 +319,8 @@ public class DeleteImage_GUI extends JFrame {
try {
// Holt sich eine Liste aller verfügbaren Betriebssysteme vom
// Server
- List<String> list = client.getAllOS(SessionData.session.getAuthToken());
+ List<String> list = client.getAllOS(SessionData.session
+ .getAuthToken());
// Leeres Item hinzufuegen
comboBox.addItem("");
for (int i = 0; i < list.size(); i++) {
@@ -332,7 +328,7 @@ public class DeleteImage_GUI extends JFrame {
comboBox.addItem(list.get(i));
}
} catch (TException e2) {
-
+
e2.printStackTrace();
JOptionPane.showMessageDialog(c,
e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message",
@@ -344,23 +340,28 @@ public class DeleteImage_GUI extends JFrame {
// Prueft das die Auswahl nicht leer ist
if (comboBox.getSelectedItem().toString() != "") {
activeSearch = true;
-
- /*rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
- .getSelectedItem().toString(), 2));*/
+
+ /*
+ * rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
+ * .getSelectedItem().toString(), 2));
+ */
rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
comboBox.getSelectedItem().toString(), 2));
- /*rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- comboBox.getSelectedItem().toString(), 2));*/
+ /*
+ * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter
+ * ( comboBox.getSelectedItem().toString(), 2));
+ */
} else {
activeSearch = false;
/*
- String username = person.verantwortlicher.getName() + " "
- + person.verantwortlicher.getVorname();
- */
+ * String username = person.verantwortlicher.getName() + " "
+ * + person.verantwortlicher.getVorname();
+ */
rowSorterMyImages.setRowFilter(null);
- /*rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- "true", 8));
- rowSorterAll.setRowFilter(null);*/
+ /*
+ * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter
+ * ( "true", 8)); rowSorterAll.setRowFilter(null);
+ */
}
}
@@ -375,7 +376,7 @@ public class DeleteImage_GUI extends JFrame {
// oeffnet das Hauuetmenue
con.closeThriftConnection();
-
+
// oeffnet das Hauuetmenue
DeleteImage_GUI.this.setVisible(false);
@@ -439,31 +440,58 @@ public class DeleteImage_GUI extends JFrame {
try {
if (!client.connectedToLecture(imageid,
- imageversion,SessionData.session.getAuthToken())) {
+ imageversion,
+ SessionData.session.getAuthToken())) {
try {
-
- client.deleteImageServer(imageid,imageversion, SessionData.session.getAuthToken());
-
- if (client.deleteImageData(imageid,imageversion,SessionData.session.getAuthToken())) {
-
- LOGGER.info("Image '"+imageid+"' erfolgreich gelöscht.");
-
- DeleteImage_GUI di = new DeleteImage_GUI(c);
- di.setVisible(true);
- dispose();
+ // try to delete file from file system
+ if (client.deleteImageServer(imageid,
+ imageversion,
+ SessionData.session.getAuthToken()) == true) {
+ // successful, now delete file from DB
+ if (client.deleteImageData(imageid,
+ imageversion,
+ SessionData.session
+ .getAuthToken())) {
+
+ LOGGER.info("Image '" + imageid
+ + "' erfolgreich gelöscht.");
+
+ DeleteImage_GUI di = new DeleteImage_GUI(
+ c);
+ di.setVisible(true);
+ dispose();
+
+ } else {
+ //could not delete file from DB
+ LOGGER.info("Image '"
+ + imageid
+ + "' konnte nicht gelöscht werden.");
+
+ JOptionPane
+ .showConfirmDialog(
+ c,
+ "Image konnte nicht gelöscht werden.",
+ "Fehler",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
} else {
- LOGGER.info("Image '"+imageid+"' konnte nicht gelöscht werden.");
+ // could not delete file from file
+ // system
+ LOGGER.info("Image '"
+ + imageid
+ + "' konnte nicht von Server gelöscht werden.");
JOptionPane
.showConfirmDialog(
c,
- "Image konnte nicht gelöscht werden.",
+ "Image konnte nicht vom Server gelöscht werden.",
"Fehler",
JOptionPane.INFORMATION_MESSAGE);
}
+
} catch (HeadlessException e) {
-
+
e.printStackTrace();
JOptionPane.showMessageDialog(
c,
@@ -472,7 +500,7 @@ public class DeleteImage_GUI extends JFrame {
"Debug-Message",
JOptionPane.ERROR_MESSAGE);
} catch (TException e) {
-
+
e.printStackTrace();
JOptionPane.showMessageDialog(
c,
@@ -483,7 +511,9 @@ public class DeleteImage_GUI extends JFrame {
}
} else {
- LOGGER.info("Image '"+imageid+"' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.");
+ LOGGER.info("Image '"
+ + imageid
+ + "' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.");
JOptionPane
.showMessageDialog(
@@ -493,7 +523,7 @@ public class DeleteImage_GUI extends JFrame {
JOptionPane.INFORMATION_MESSAGE);
}
} catch (TException e) {
-
+
e.printStackTrace();
JOptionPane.showMessageDialog(c, e.getCause()
+ "\n" + e.getStackTrace(),
@@ -515,23 +545,24 @@ public class DeleteImage_GUI extends JFrame {
tablemyImages.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
-
- if(tablemyImages.getSelectedRow() != -1)
- {
- String imageid = modelMyImages.getValueAt(
- tablemyImages
- .convertRowIndexToModel(tablemyImages
- .getSelectedRow()), 6)
- .toString();
- String version = modelMyImages.getValueAt(
- tablemyImages
- .convertRowIndexToModel(tablemyImages
- .getSelectedRow()), 7)
- .toString();
- writeImageData(imageid, version);
+
+ if (tablemyImages.getSelectedRow() != -1) {
+ String imageid = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()),
+ 6).toString();
+ String version = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()),
+ 7).toString();
+ writeImageData(imageid, version);
}
}
-
+
});
tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tablemyImages.setModel(modelMyImages);
@@ -543,6 +574,9 @@ public class DeleteImage_GUI extends JFrame {
tablemyImages.setRowSorter(rowSorterMyImages);
scrollPaneMyImage.setViewportView(tablemyImages);
+
+ lblTotalResults.setBounds(10, 512, 131, 20);
+ contentPanel.add(lblTotalResults);
{
JPanel buttonPane = new JPanel();
buttonPane.setBounds(0, 640, 902, 33);
@@ -723,7 +757,7 @@ public class DeleteImage_GUI extends JFrame {
open.openWebpage(windows);
} catch (URISyntaxException e) {
-
+
e.printStackTrace();
}
}
@@ -744,7 +778,7 @@ public class DeleteImage_GUI extends JFrame {
open.openWebpage(windows);
} catch (URISyntaxException e) {
-
+
e.printStackTrace();
}
@@ -760,12 +794,14 @@ public class DeleteImage_GUI extends JFrame {
}
});
mnNewMenu_1.add(menuItem);
-
+
JMenu mnNewMenu_Info = new JMenu("Info");
mnNewMenu_Info.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
- JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE);
+ JOptionPane.showMessageDialog(c, HELP_MESSAGE,
+ "Hilfe zu dieser Oberfläche",
+ JOptionPane.INFORMATION_MESSAGE);
}
});
menuBar.add(mnNewMenu_Info);
@@ -775,28 +811,30 @@ public class DeleteImage_GUI extends JFrame {
// Initiale Beffuelung eines Table models
public DefaultTableModel initTableModel(DefaultTableModel model) {
-
-
+
List<server.generated.Image> images;
try {
-
+
// Hole eine Liste der Images
- if(person.verantwortlicher.getRole()=="Admin"){
- //get complete list
- images = client.getImageList(person.verantwortlicher.getUserID());
+ if (person.verantwortlicher.getRole() == "Admin") {
+ // get complete list
+ images = client.getImageList(person.verantwortlicher
+ .getUserID(),SessionData.session.getAuthToken());
} else {
- //get permitted list
- images = client.getImageListPermissionAdmin(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
+ // get permitted list
+ images = client.getImageListPermissionAdmin(
+ person.verantwortlicher.getUserID(),
+ SessionData.session.getAuthToken());
}
Iterator<server.generated.Image> i = images.iterator();
- System.out.println("Size of image list="+images.size());
-
+ System.out.println("Size of image list=" + images.size());
+
int x = 0;
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
-
+
while (i.hasNext()) {
// erzeuge Objekte fuer die Tabelle
Object[] obj = { images.get(x).getImageName(),
@@ -807,22 +845,24 @@ public class DeleteImage_GUI extends JFrame {
out.format(in.parse(images.get(x).updateTime)),
images.get(x).id, images.get(x).getVersion(),
images.get(x).getIsTemplate(),
- images.get(x).getDescription()};
+ images.get(x).getDescription() };
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
x++;
i.next();
-
-
}
- if(x==0){
+ if (x == 0) {
System.out.println("Damn... nothing to do here..");
}
+ // show number if rows in GUI
+ lblTotalResults.setText(lblTotalResults.getText() + " "
+ + model.getRowCount());
+
return model;
} catch (TException | ParseException e1) {
-
+
e1.printStackTrace();
JOptionPane.showMessageDialog(c,
e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
@@ -830,9 +870,10 @@ public class DeleteImage_GUI extends JFrame {
}
return model;
}
-
+
private void resetImageInfo() {
- //reset the detailed information on the right hand side when changing search string
+ // reset the detailed information on the right hand side when changing
+ // search string
labelID.setText("");
labelVersion.setText("");
labelName.setText("");
@@ -846,14 +887,15 @@ public class DeleteImage_GUI extends JFrame {
labelInternet.setText("");
labelRam.setText("");
labelCPU.setText("");
-
+
}
public void writeImageData(String id, String version) {
try {
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- Map<String, String> res = client.getImageData(id, version,SessionData.session.getAuthToken());
+ Map<String, String> res = client.getImageData(id, version,
+ SessionData.session.getAuthToken());
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
@@ -880,7 +922,7 @@ public class DeleteImage_GUI extends JFrame {
labelVersion.setText(res.get("version"));
textAreadesc.setText(res.get("desc"));
} catch (TException | ParseException e1) {
-
+
e1.printStackTrace();
}
}