package gui.image;
import gui.intro.About_GUI;
import gui.intro.MainMenue_GUI;
import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.URI;
import java.net.URISyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.ListSelectionModel;
import javax.swing.RowFilter;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import models.Links;
import models.SessionData;
import models.person;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
import server.generated.Server.Client;
import thrift.ThriftConnection;
import util.GuiOrganizer;
import util.OpenLinks;
import javax.swing.JTextArea;
@SuppressWarnings("serial")
public class DeleteImage_GUI extends JFrame {
private final static Logger LOGGER = Logger
.getLogger(FTPCreateUploader_GUI.class);
private final JPanel contentPanel = new JPanel();
JLabel labelName;
JLabel labelUpdate;
JLabel labelVerantwortlicher;
JLabel labelWeitereVerantwortliche;
JLabel labelVorlage;
JLabel labelLizenzSoftware;
JLabel labelInternet;
JLabel labelRam;
JLabel labelCPU;
JLabel labelID;
JLabel labelVersion;
JTextArea textAreadesc;
private JLabel labelOS;
String[] result;
JRadioButton rdbtnInternetJa;
JRadioButton rdbtnInternetNein;
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>";
ThriftConnection con = new ThriftConnection();
Client client = models.Client.clientcon.getClient();
final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
modelMyImages);
RowFilter rf = null;
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) {
// Beendet die Anwendung nach klick auf X
con.closeThriftConnection();
try {
client.setSessionInvalid(SessionData.session.getAuthToken());
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.exit(0);
}
@Override
public void windowOpened(WindowEvent arg0) {
initTableModel(modelMyImages);
// auszublendende Angaben
// 1=Lizenzpflichtig
// 3=Veranstaltung
// 6=ID
// 7=Version
// 8=Template
tablemyImages.getColumnModel().getColumn(1).setWidth(0);
tablemyImages.getColumnModel().getColumn(1).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(1).setMaxWidth(0);
tablemyImages.getColumnModel().getColumn(3).setWidth(0);
tablemyImages.getColumnModel().getColumn(3).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(3).setMaxWidth(0);
tablemyImages.getColumnModel().getColumn(8).setWidth(0);
tablemyImages.getColumnModel().getColumn(8).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(8).setMaxWidth(0);
tablemyImages.getColumnModel().getColumn(6).setWidth(0);
tablemyImages.getColumnModel().getColumn(6).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(6).setMaxWidth(0);
tablemyImages.getColumnModel().getColumn(7).setWidth(0);
tablemyImages.getColumnModel().getColumn(7).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0);
tablemyImages.getColumnModel().getColumn(9).setWidth(0);
tablemyImages.getColumnModel().getColumn(9).setMinWidth(0);
tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0);
tablemyImages.getTableHeader().setReorderingAllowed(false);
// bis hier
textFieldName.requestFocusInWindow();
}
});
// Verhindert das Vergroessern Des Fensters
setResizable(false);
try {
// Setzt das Look & Feel auf System
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
// Setzt den Fenstertitel
setTitle("bwLehrpool Suite - Image löschen - "
+ person.verantwortlicher.getUserID());
// Zentriert das Fenster in die Bildmitte
setBounds(0, 0, 918, 722);
setLocationRelativeTo(formerGUI);
final DefaultTableModel model = new DefaultTableModel(titles, 0);
getContentPane().setLayout(null);
{
JPanel panel = new JPanel();
panel.setBackground(SystemColor.menu);
panel.setBounds(10, 11, 892, 57);
getContentPane().add(panel);
panel.setLayout(null);
{
JLabel lblNewLabel = new JLabel("Zu löschendes Image wählen");
lblNewLabel.setBounds(10, 11, 509, 22);
panel.add(lblNewLabel);
lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18));
}
JTextPane txtpnBitteWhlenSie = new JTextPane();
txtpnBitteWhlenSie.setEditable(false);
txtpnBitteWhlenSie.setBackground(SystemColor.menu);
txtpnBitteWhlenSie
.setText("Wählen Sie bitte aus der unten stehenden Liste das zu löschende Image aus.");
txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
panel.add(txtpnBitteWhlenSie);
}
contentPanel.setBounds(10, 85, 577, 531);
contentPanel.setBackground(SystemColor.menu);
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel);
contentPanel.setLayout(null);
JPanel panel_1 = new JPanel();
panel_1.setBackground(SystemColor.menu);
panel_1.setBorder(new TitledBorder(null, "Filterfunktionen",
TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel_1.setBounds(10, 49, 557, 98);
contentPanel.add(panel_1);
panel_1.setLayout(null);
JLabel lblNewLabel_2 = new JLabel("Volltextsuche:");
lblNewLabel_2.setBounds(30, 30, 80, 20);
panel_1.add(lblNewLabel_2);
JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:");
lblInternetIstInnerhalb.setBounds(30, 58, 80, 20);
panel_1.add(lblInternetIstInnerhalb);
textFieldName = new JTextField();
// Key Listener der Tastatureingabe registriert
textFieldName.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
// Textfield eingabe auslesen
String stext = textFieldName.getText().trim();
// Wenn Textfield nicht leer
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
rf = RowFilter.orFilter(filters);
rowSorterMyImages.setRowFilter(rf);
} else {
activeSearch = false;
filters.clear();
filters.add(RowFilter.regexFilter(".", 0)); // case
// insensitive,
// filter for
// anything
rf = RowFilter.orFilter(filters);
rowSorterMyImages.setRowFilter(rf);
}
tablemyImages.clearSelection();
resetImageInfo();
}
});
textFieldName.setBounds(133, 30, 400, 20);
panel_1.add(textFieldName);
textFieldName.setColumns(10);
comboBox = new JComboBox<String>();
try {
// Holt sich eine Liste aller verfügbaren Betriebssysteme vom
// Server
List<String> list = client.getAllOS(SessionData.session
.getAuthToken());
// Leeres Item hinzufuegen
comboBox.addItem("");
for (int i = 0; i < list.size(); i++) {
// Hinzufuegen der verfuegbaren Betriebssysteme
comboBox.addItem(list.get(i));
}
} catch (TException e2) {
e2.printStackTrace();
JOptionPane.showMessageDialog(c,
e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message",
JOptionPane.ERROR_MESSAGE);
}
// Registriert Auswahlaenderungen der Box
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// Prueft das die Auswahl nicht leer ist
if (comboBox.getSelectedItem().toString() != "") {
activeSearch = true;
/*
* rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
* .getSelectedItem().toString(), 2));
*/
rowSorterMyImages.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();
*/
rowSorterMyImages.setRowFilter(null);
/*
* rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter
* ( "true", 8)); rowSorterAll.setRowFilter(null);
*/
}
}
});
comboBox.setBounds(133, 58, 191, 20);
panel_1.add(comboBox);
JLabel lblHauptmen = new JLabel("Hauptmenü");
lblHauptmen.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
// oeffnet das Hauuetmenue
con.closeThriftConnection();
// oeffnet das Hauuetmenue
DeleteImage_GUI.this.setVisible(false);
MainMenue_GUI main = new MainMenue_GUI(c);
main.setVisible(true);
}
});
lblHauptmen.setForeground(Color.BLUE);
lblHauptmen.setBounds(10, 11, 61, 14);
contentPanel.add(lblHauptmen);
JLabel label_1 = new JLabel(">");
label_1.setBounds(69, 11, 13, 14);
contentPanel.add(label_1);
JLabel lblVlimage = new JLabel("Image");
lblVlimage.setForeground(Color.BLUE);
lblVlimage.setBounds(81, 11, 45, 14);
contentPanel.add(lblVlimage);
JLabel label_2 = new JLabel(">");
label_2.setBounds(115, 11, 13, 14);
contentPanel.add(label_2);
JLabel lblNewLabel_1 = new JLabel("Löschen");
lblNewLabel_1.setBounds(128, 11, 155, 14);
contentPanel.add(lblNewLabel_1);
JButton btnDelete = new JButton("Löschen");
btnDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String imageid = "";
String imageversion = "";
int eingabe;
if (tablemyImages.getSelectedRowCount() != 0) {
// frage, soll das selektierte Daten geloescht werden?
eingabe = JOptionPane.showConfirmDialog(c,
"Wollen Sie diese Daten löschen?", "Löschen?",
JOptionPane.YES_NO_OPTION);
if (eingabe == JOptionPane.YES_OPTION) {
imageid = modelMyImages.getValueAt(
tablemyImages
.convertRowIndexToModel(tablemyImages
.getSelectedRow()), 6)
.toString();
imageversion = modelMyImages.getValueAt(
tablemyImages
.convertRowIndexToModel(tablemyImages
.getSelectedRow()), 7)
.toString();
// Image darf nur geloescht werden, wenn keine
// Veranstaltung mehr auf das Image verweist.
// Unbdingt abfragen!
try {
if (!client.connectedToLecture(imageid,
imageversion,
SessionData.session.getAuthToken())) {
try {
// 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
.showMessageDialog(
c,
"Image konnte nicht gelöscht werden.",
"Fehler",
JOptionPane.INFORMATION_MESSAGE);
}
} else {
// could not delete file from file
// system
LOGGER.info("Image '"
+ imageid
+ "' konnte nicht von Server gelöscht werden.");
JOptionPane
.showMessageDialog(
c,
"Image konnte nicht vom Server gelöscht werden.",
"Fehler",
JOptionPane.INFORMATION_MESSAGE);
}
} catch (HeadlessException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
c,
e.getCause() + "\n"
+ e.getStackTrace(),
"Debug-Message",
JOptionPane.ERROR_MESSAGE);
} catch (TException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(
c,
e.getCause() + "\n"
+ e.getStackTrace(),
"Debug-Message",
JOptionPane.ERROR_MESSAGE);
}
} else {
LOGGER.info("Image '"
+ imageid
+ "' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.");
JOptionPane
.showMessageDialog(
c,
"Image kann nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.",
"Verlinkung vorhanden",
JOptionPane.INFORMATION_MESSAGE);
}
} catch (TException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(c, e.getCause()
+ "\n" + e.getStackTrace(),
"Debug-Message", JOptionPane.ERROR_MESSAGE);
}
}
}
}
});
btnDelete.setBounds(449, 508, 118, 23);
contentPanel.add(btnDelete);
JScrollPane scrollPaneMyImage = new JScrollPane();
scrollPaneMyImage.setBounds(10, 158, 557, 339);
contentPanel.add(scrollPaneMyImage);
tablemyImages = new JTable();
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);
}
}
});
tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tablemyImages.setModel(modelMyImages);
tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit();
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);
buttonPane.setBackground(SystemColor.menu);
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane);
{
JButton okButton = new JButton("Zurück");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// oeffnet das Hauptmenü
con.closeThriftConnection();
// oeffnet das Hauptmenue
MainMenue_GUI main = new MainMenue_GUI(c);
main.setVisible(true);
dispose();
}
});
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
}
JSeparator separator = new JSeparator();
separator.setBounds(0, 79, 912, 1);
getContentPane().add(separator);
JSeparator separator_1 = new JSeparator();
separator_1.setBounds(0, 627, 912, 2);
getContentPane().add(separator_1);
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBorder(new TitledBorder(null, "Detailinformationen",
TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel.setBackground(SystemColor.menu);
panel.setBounds(586, 85, 316, 531);
getContentPane().add(panel);
JLabel lblName = new JLabel("Name:");
lblName.setBounds(10, 87, 130, 14);
panel.add(lblName);
labelName = new JLabel("");
labelName.setBounds(10, 102, 296, 14);
panel.add(labelName);
JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
lblVerantwortlicher.setBounds(10, 259, 130, 14);
panel.add(lblVerantwortlicher);
labelOS = new JLabel("");
labelOS.setBounds(10, 216, 296, 14);
panel.add(labelOS);
JLabel lblWeitereVerantwortliche = new JLabel("Betriebssystem:");
lblWeitereVerantwortliche.setBounds(10, 202, 130, 14);
panel.add(lblWeitereVerantwortliche);
labelVerantwortlicher = new JLabel("");
labelVerantwortlicher.setBounds(10, 272, 296, 14);
panel.add(labelVerantwortlicher);
JLabel label = new JLabel("Weitere Verantwortliche:");
label.setBounds(10, 284, 130, 14);
panel.add(label);
labelWeitereVerantwortliche = new JLabel("");
labelWeitereVerantwortliche.setBounds(10, 297, 296, 14);
panel.add(labelWeitereVerantwortliche);
labelUpdate = new JLabel("");
labelUpdate.setBounds(10, 245, 296, 14);
panel.add(labelUpdate);
JLabel lblLetztesUpdate = new JLabel("Letztes Update:");
lblLetztesUpdate.setBounds(10, 231, 130, 14);
panel.add(lblLetztesUpdate);
JLabel lblImageIstVorlage = new JLabel("Image ist Vorlage:");
lblImageIstVorlage.setBounds(10, 334, 130, 14);
panel.add(lblImageIstVorlage);
labelVorlage = new JLabel("");
labelVorlage.setBounds(10, 348, 296, 14);
panel.add(labelVorlage);
labelLizenzSoftware = new JLabel("");
labelLizenzSoftware.setBounds(10, 383, 296, 14);
panel.add(labelLizenzSoftware);
JLabel lblLizenzpflichtigeSoftware = new JLabel(
"Lizenzpflichtige Software:");
lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14);
panel.add(lblLizenzpflichtigeSoftware);
JLabel lblInternet = new JLabel("Internetsperre vorhanden:");
lblInternet.setBounds(10, 400, 130, 14);
panel.add(lblInternet);
labelInternet = new JLabel("");
labelInternet.setBounds(10, 417, 296, 14);
panel.add(labelInternet);
JLabel lblEmpfehlungRam = new JLabel("Empfehlung RAM:");
lblEmpfehlungRam.setBounds(10, 432, 130, 14);
panel.add(lblEmpfehlungRam);
labelRam = new JLabel("");
labelRam.setBounds(10, 455, 296, 14);
panel.add(labelRam);
JLabel lblEmpfehlungCpu = new JLabel("Empfehlung CPU:");
lblEmpfehlungCpu.setBounds(10, 469, 130, 14);
panel.add(lblEmpfehlungCpu);
labelCPU = new JLabel("");
labelCPU.setBounds(10, 487, 296, 14);
panel.add(labelCPU);
JLabel lblTechnischeDaten = new JLabel("Technische Daten:");
lblTechnischeDaten.setBounds(10, 312, 296, 14);
panel.add(lblTechnischeDaten);
JLabel lblId = new JLabel("ID:");
lblId.setBounds(10, 23, 296, 14);
panel.add(lblId);
labelID = new JLabel("");
labelID.setBounds(10, 37, 296, 14);
panel.add(labelID);
labelVersion = new JLabel("");
labelVersion.setBounds(10, 73, 296, 14);
panel.add(labelVersion);
JLabel lblVersion = new JLabel("Version:");
lblVersion.setBounds(10, 57, 296, 14);
panel.add(lblVersion);
JLabel lblBeschreibung = new JLabel("Beschreibung:");
lblBeschreibung.setBounds(10, 119, 130, 14);
panel.add(lblBeschreibung);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 135, 296, 65);
panel.add(scrollPane);
textAreadesc = new JTextArea();
textAreadesc.setEditable(false);
textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11));
textAreadesc.setLineWrap(true);
textAreadesc.setBackground(SystemColor.menu);
scrollPane.setViewportView(textAreadesc);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnNewMenu_1 = new JMenu("Hilfe");
menuBar.add(mnNewMenu_1);
JMenuItem mntmFaq = new JMenuItem("FAQ");
mntmFaq.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
OpenLinks open = new OpenLinks();
URI windows;
try {
windows = new URI(Links.getFAQ());
open.openWebpage(windows);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
});
mnNewMenu_1.add(mntmFaq);
JMenuItem mntmOtrs = new JMenuItem("OTRS");
mntmOtrs.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
OpenLinks open = new OpenLinks();
URI windows;
try {
windows = new URI(Links.getOTRS());
open.openWebpage(windows);
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
});
mnNewMenu_1.add(mntmOtrs);
JMenuItem menuItem = new JMenuItem("About");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
About_GUI ab = new About_GUI();
ab.setVisible(true);
}
});
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);
}
});
menuBar.add(mnNewMenu_Info);
c = this;
}
// 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(),SessionData.session.getAuthToken());
} else {
// 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());
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(),
images.get(x).getLicenseRestriction(),
images.get(x).getOsName(),
images.get(x).getLectureName(),
images.get(x).getUserData(),
out.format(in.parse(images.get(x).updateTime)),
images.get(x).id, images.get(x).getVersion(),
images.get(x).getIsTemplate(),
images.get(x).getDescription() };
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
x++;
i.next();
}
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",
JOptionPane.ERROR_MESSAGE);
}
return model;
}
private void resetImageInfo() {
// reset the detailed information on the right hand side when changing
// search string
labelID.setText("");
labelVersion.setText("");
labelName.setText("");
textAreadesc.setText("");
labelOS.setText("");
labelUpdate.setText("");
labelVerantwortlicher.setText("");
labelWeitereVerantwortliche.setText("");
labelVorlage.setText("");
labelLizenzSoftware.setText("");
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());
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
labelVerantwortlicher.setText(res.get("owner"));
labelWeitereVerantwortliche.setText("Noch nicht Verfügbar");
if (res.get("template").equals("true")) {
labelVorlage.setText("Ja");
} else {
labelVorlage.setText("Nein");
}
if (res.get("license").equals("1")) {
labelLizenzSoftware.setText("Ja");
} else {
labelLizenzSoftware.setText("Nein");
}
if (res.get("internet").equals("1")) {
labelInternet.setText("Ja");
} else {
labelInternet.setText("Nein");
}
labelRam.setText(res.get("ram"));
labelCPU.setText(res.get("cpu"));
labelID.setText(res.get("id"));
labelVersion.setText(res.get("version"));
textAreadesc.setText(res.get("desc"));
} catch (TException | ParseException e1) {
e1.printStackTrace();
}
}
}