diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java | 319 |
1 files changed, 127 insertions, 192 deletions
diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 5bd5d84c..c4627a3a 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -4,7 +4,6 @@ import gui.image.FTPCreateUploader_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.SystemColor; @@ -28,7 +27,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; @@ -36,8 +34,6 @@ import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; 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.InternalFrameAdapter; @@ -62,36 +58,30 @@ import util.GuiManager; @SuppressWarnings("serial") public class CreateLectureLink_GUI extends JInternalFrame { - + private final static Logger LOGGER = Logger.getLogger(FTPCreateUploader_GUI.class); private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox<String> comboBox; - 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 JComboBox<String> comboBox; + private JLabel labelName; + private JLabel labelUpdate; + private JLabel labelVerantwortlicher; + private JLabel labelWeitereVerantwortliche; + private JLabel labelVorlage; + private JLabel labelLizenzSoftware; + private JLabel labelInternet; + private JLabel labelRam; + private JLabel labelCPU; + private JLabel labelID; + private JLabel labelVersion; + private JTextArea textAreadesc; private JLabel labelOS; - JTable tableAllImages = new JTable(); - JTable tablemyImages = new JTable(); - boolean activeSearch = false; - Component c = null; + private JTable tablemyImages = new JTable(); private JTextField textFieldName; private JLabel lblTotalResults; private String uuid = null; - String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; + private String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", + "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Damit Ihre Veranstaltung geladen werden kann, muss sie mit einem Image verbunden werden.<br />" @@ -99,36 +89,25 @@ public class CreateLectureLink_GUI extends JInternalFrame { + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung erzeugen\"." + "</div></html>"; - /*final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } - - };*/ - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { + private 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<Object, Object> rf = null; - List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); + private final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(modelMyImages); + + private RowFilter<Object, Object> rf = null; + private List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2); /** * Create the dialog. */ public CreateLectureLink_GUI() { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); - - + addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { @@ -166,33 +145,27 @@ public class CreateLectureLink_GUI extends JInternalFrame { tablemyImages.getColumnModel().getColumn(9).setWidth(0); tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); - + tablemyImages.getTableHeader().setReorderingAllowed(false); - + tablemyImages.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tablemyImages.clearSelection(); //just one row is selectablemyImages - tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), tablemyImages.rowAtPoint(e.getPoint())); + tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), + tablemyImages.rowAtPoint(e.getPoint())); } }); - + textFieldName.requestFocusInWindow(); } }); setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Veranstaltung erzeugen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung erzeugen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 918, 722); getContentPane().setLayout(null); @@ -203,8 +176,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Veranstaltung auf ein Image verlinken"); + JLabel lblNewLabel = new JLabel("Veranstaltung auf ein Image verlinken"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -213,8 +185,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Wählen Sie bitte ein Image aus, auf dem Ihre Veranstaltung basiert."); + txtpnBitteWhlenSie.setText("Wählen Sie bitte ein Image aus, auf dem Ihre Veranstaltung basiert."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -226,8 +197,8 @@ public class CreateLectureLink_GUI extends JInternalFrame { 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.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 92); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -247,24 +218,21 @@ public class CreateLectureLink_GUI extends JInternalFrame { 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 + 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(); - + resetLectureInfo(); } @@ -283,29 +251,25 @@ public class CreateLectureLink_GUI extends JInternalFrame { comboBox.addItem(list.get(i)); } } catch (TException e) { - + e.printStackTrace(); - JOptionPane.showMessageDialog(c, - e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } 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)); + 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(RowFilter.regexFilter( - username, 4)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); // rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", // 8)); // rowSorterAll.setRowFilter(null); @@ -346,37 +310,30 @@ public class CreateLectureLink_GUI extends JInternalFrame { JScrollPane scrollPaneMyImage = new JScrollPane(); scrollPaneMyImage.setBounds(10, 158, 557, 339); contentPanel.add(scrollPaneMyImage); - 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(); - try { - //write the image data to the information fields on the right - writeImageData(imageid, version); - } catch (TException e1) { - - e1.printStackTrace(); - } catch (ParseException e1) { - - e1.printStackTrace(); - } - } + 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(); + try { + //write the image data to the information fields on the right + writeImageData(imageid, version); + } catch (TException e1) { + + e1.printStackTrace(); + } catch (ParseException e1) { + + e1.printStackTrace(); } - - - }); + } + } + + }); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -386,7 +343,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); - + lblTotalResults = new JLabel("Anzahl:"); lblTotalResults.setBounds(10, 512, 131, 20); contentPanel.add(lblTotalResults); @@ -409,95 +366,81 @@ public class CreateLectureLink_GUI extends JInternalFrame { getRootPane().setDefaultButton(cancelButton); } { - JButton doLinkButton = new JButton( - "Veranstaltung erzeugen und abschließen"); + JButton doLinkButton = new JButton("Veranstaltung erzeugen und abschließen"); doLinkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // check if a row is selected if (tablemyImages.getSelectedRow() != -1) { // a row is selected, do operations - String imageID = tablemyImages.getValueAt( - tablemyImages.getSelectedRow(), 6) + String imageID = tablemyImages.getValueAt(tablemyImages.getSelectedRow(), 6) .toString(); try { - DateFormat formatter = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); - + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //create new lecture - ThriftManager.getSatClient().writeLecturedata( - Lecture.lecture.getName(), - Lecture.lecture.getShortDesc(), - Lecture.lecture.getDesc(), + ThriftManager.getSatClient().writeLecturedata(Lecture.lecture.getName(), + Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), formatter.format(Lecture.lecture.getStartdate()).toString(), formatter.format(Lecture.lecture.getEnddate()).toString(), - Lecture.lecture.isActive(), - imageID, - SessionData.authToken, + Lecture.lecture.isActive(), imageID, SessionData.authToken, person.verantwortlicher.getTel(), - person.verantwortlicher.getFakultaet(), - uuid, + person.verantwortlicher.getFakultaet(), uuid, person.verantwortlicher.getHochschule()); System.out.println("imageID" + " " + imageID); System.out.println("lectureID" + " " + uuid); //set rights for this user - - ThriftManager.getSatClient().writeLectureRights( - uuid, - person.verantwortlicher.getRole(), - SessionData.authToken, + + ThriftManager.getSatClient().writeLectureRights(uuid, + person.verantwortlicher.getRole(), SessionData.authToken, person.verantwortlicher.getHochschule(), - person.verantwortlicher.getUserID() - ); - + person.verantwortlicher.getUserID()); + //set rights for additional users - for(int i=0; i< RightsManagement.rightsManagement.getPermittedUserList().size(); i++){ + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList() + .size(); i++) { //System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID()+", User "+(i+1)+"/"+RightsManagement.rightsManagement.getPermittedUserList().size()); ThriftManager.getSatClient().writeAdditionalLectureRights( uuid, - RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_read(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_write(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_admin(), - SessionData.authToken - ); - + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .getUserID(), + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_read(), + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_write(), + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_admin(), SessionData.authToken); + }//end for - - LOGGER.info("Veranstaltung '"+Lecture.lecture.getName()+"' wurde erfolgreich angelegt."); - + + LOGGER.info("Veranstaltung '" + Lecture.lecture.getName() + + "' wurde erfolgreich angelegt."); + JOptionPane .showMessageDialog( - c, + null, "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmenü zurück.", - "Veranstaltung angelegt", - JOptionPane.INFORMATION_MESSAGE); + "Veranstaltung angelegt", JOptionPane.INFORMATION_MESSAGE); // zurueck zum Menue GuiManager.show(new MainMenue_GUI()); } catch (TException e1) { - LOGGER.error("Veranstaltung '"+Lecture.lecture.getName()+"' konnte nicht angelegt werden."); - + LOGGER.error("Veranstaltung '" + Lecture.lecture.getName() + + "' konnte nicht angelegt werden."); + e1.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", - "Error", - JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, e1.getCause() - + "\n" + e1.getStackTrace(), - "Debug-Message", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, e1.getCause() + "\n" + e1.getStackTrace(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); } dispose(); } else { // nothing selected - JOptionPane.showMessageDialog(c, - "Bitte wählen Sie ein Image aus.", - "Image Auswahl", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, "Bitte wählen Sie ein Image aus.", + "Image Auswahl", JOptionPane.INFORMATION_MESSAGE); } } @@ -576,8 +519,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - JLabel lblLizenzpflichtigeSoftware = new JLabel( - "Lizenzpflichtige Software:"); + JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); @@ -638,31 +580,28 @@ public class CreateLectureLink_GUI extends JInternalFrame { textAreadesc.setBackground(SystemColor.menu); textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); scrollPane.setViewportView(textAreadesc); - - try - { + + try { uuid = ThriftManager.getSatClient().createRandomUUID(SessionData.authToken); - } - catch (TException e1) - { + } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } - } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) - throws TException, ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) throws TException, ParseException { List<Image> images; // Hole eine Liste der Images - if(person.verantwortlicher.getRole()=="Admin"){ + if (person.verantwortlicher.getRole() == "Admin") { //get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); - } else { - images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher.getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); + } else { + images = ThriftManager.getSatClient().getImageListPermissionLink( + person.verantwortlicher.getUserID(), SessionData.authToken); } Iterator<Image> i = images.iterator(); @@ -672,14 +611,10 @@ public class CreateLectureLink_GUI extends JInternalFrame { 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()}; + 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); @@ -688,12 +623,12 @@ public class CreateLectureLink_GUI extends JInternalFrame { } //show number if rows in GUI - lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); - + lblTotalResults.setText(lblTotalResults.getText() + " " + model.getRowCount()); + return model; } - + private void resetLectureInfo() { //reset the detailed information on the right hand side when changing search string labelID.setText(""); @@ -711,12 +646,12 @@ public class CreateLectureLink_GUI extends JInternalFrame { labelCPU.setText(""); } - public void writeImageData(String id, String version) throws TException, - ParseException { + public void writeImageData(String id, String version) throws TException, ParseException { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.authToken); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version, + SessionData.authToken); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); |
