private void doExport() {
    String rechtegruppe = "normaler Therapeut";
    Object ret =
        JOptionPane.showInputDialog(
            null, "Geben Sie bitte einen Namen für die Rechte-Gruppe ein", rechtegruppe);
    if (ret == null) {
      return;
    }
    Verschluesseln man = Verschluesseln.getInstance();
    man.init(Verschluesseln.getPassword().toCharArray(), man.getSalt(), man.getIterations());

    String rechte = getRechte();
    String cmd =
        "insert into restricttemplates set abteilung='"
            + man.encrypt(ret.toString())
            + "', sammlung='"
            + man.encrypt(rechte)
            + "'";
    System.out.println(cmd);
    SqlInfo.sqlAusfuehren(cmd);
  }
 /** ***************************************** */
 private void doImport() {
   Verschluesseln man = Verschluesseln.getInstance();
   man.init(Verschluesseln.getPassword().toCharArray(), man.getSalt(), man.getIterations());
   Vector<Vector<String>> vec = SqlInfo.holeFelder("select * from restricttemplates");
   for (int i = 0; i < vec.size(); i++) {
     vec.get(i).set(0, man.decrypt(vec.get(i).get(0)));
     vec.get(i).set(1, man.decrypt(vec.get(i).get(1)));
   }
   JRtaTextField importRechte = new JRtaTextField("nix", false);
   // Point pt, JRtaTextField xtf,String xtitel,Vector<Vector<String>> rechte
   RechteImport rimport =
       new RechteImport(
           buts[6].getLocationOnScreen(), importRechte, "Rechte-Gruppe auswählen", vec);
   rimport.pack();
   rimport.setModal(true);
   rimport.setVisible(true);
   if (!importRechte.getText().equals("")) {
     setImportRechte(importRechte.getText());
   }
 }
  /** ***************************************** */
  @SuppressWarnings("unchecked")
  private void doSave() {
    String aktuelleruser = tfs[0].getText();
    if (!String.valueOf(pws[0].getPassword()).equals(String.valueOf(pws[1].getPassword()))) {
      JOptionPane.showMessageDialog(null, "Passwort und Passwortwiederholung sind nicht identisch");
      return;
    }
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerRechte_set, true)) {
      return;
    }
    int lang = getNodeCount();
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < lang; i++) {
      JXRechteTreeTableNode node = holeNode(i);
      //// System.out.println(node.rechte.bildnummer);
      if (node.rechte.bildnummer >= 0) {
        buf.append(Integer.toString(node.rechte.bildnummer));
      }
    }
    String pw = buf.toString();
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)
        && rechteTools.Rechte.testeRecht(pw, rechteTools.Rechte.BenutzerSuper_user)) {
      JOptionPane.showMessageDialog(
          null,
          "SuperUser-Rechte können nur von einem Benutzer mit SuperUser-Rechten vergeben werden");
      return;
    }

    Verschluesseln man = Verschluesseln.getInstance();
    man.init(Verschluesseln.getPassword().toCharArray(), man.getSalt(), man.getIterations());
    String encrypted = man.encrypt(pw);

    if (!neu) {
      //// System.out.println("Username = "******"Passwort = "+String.valueOf(pws[0].getPassword()));
      //// System.out.println("Rechte   = "+String.valueOf(pw));

      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + userid
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
      jcmb.setNewValueAtCurrentPosition(0, tfs[0].getText());
      jcmb.setNewValueAtCurrentPosition(1, String.valueOf(pws[1].getPassword()));
      jcmb.setNewValueAtCurrentPosition(2, buf.toString());
      if (Reha.aktUser.equals(jcmb.getSelectedItem().toString().trim())) {
        Reha.progRechte = buf.toString();
      }
    } else {
      // neuen Benutzer anlegen erst noch entwickeln;
      if (tfs[0].getText().equals("") || String.valueOf(pws[0].getPassword()).trim().equals("")) {
        JOptionPane.showMessageDialog(null, "Benutzername und Passwort darf nicht leer sein");
        jcmb.setSelectedIndex(0);
        doEditsEinAus(false);
        return;
      }
      int id = SqlInfo.holeId("rehalogin", "password");
      Vector<String> vec = new Vector<String>();
      vec.add(tfs[0].getText());
      vec.add(String.valueOf(pws[0].getPassword()));
      vec.add(buf.toString());
      vec.add("");
      vec.add(Integer.toString(id));
      jcmb.addNewVector((Vector<String>) vec.clone());
      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + Integer.toString(id)
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
    }
    ParameterLaden.Passwort();
    jcmb.removeActionListener(al);
    jcmb.setDataVectorWithStartElement(ParameterLaden.pKollegen, 0, 1, "./.");
    jcmb.addActionListener(al);
    jcmb.setSelectedItem(aktuelleruser);
  }