예제 #1
0
 // Service zu Server hinzufügen
 public String addServiceToServer(
     String servername,
     String servicename,
     String serviceBeschreibung,
     String servicenameAufServer,
     String serviceAblageverzeichnis,
     String serviceKonfigdateiPfad) {
   TabService.connect();
   if (TabService.addServerServiceToServer(
       servername,
       servicename,
       serviceBeschreibung,
       servicenameAufServer,
       "Status unbekannt",
       serviceAblageverzeichnis,
       serviceKonfigdateiPfad,
       "Uptime unbekannt",
       "Last statusupdate unbekannt",
       "Last action unbekannt")) {
     TabService.close();
     return "Service erfolgreich angelegt";
   }
   TabService.close();
   return "Service nicht angelegt.";
 }
예제 #2
0
 public String deleteService(String servicename) {
   TabService.connect();
   if (TabService.deleteService(servicename)) {
     TabService.close();
     return "Erfolgreich geloescht";
   } else {
     TabService.close();
     return "Loeschung nicht durchgefuehrt";
   }
 }
예제 #3
0
 // Bestehender Server und bestehender Service werden in Tab_server_service
 // verbunden
 public boolean connectServiceToServer(String servername, String servicename) {
   // TOOD Bei Erfolg ausgabe: Server und Service verbunden
   TabServerService.connect();
   int servernummer = TabServer.getServernummer(servername);
   int servicenummer = TabService.getServicenummer(servicename);
   return TabServerService.addServerService(servernummer, servicenummer);
 }
예제 #4
0
  /**
   * Hinzufügen eines einzelnen Services Einige in der DB enhaltene Attribute werden zunächst
   * vorgegeben. Sie können erst später wieder verwendet werden.
   *
   * @param servicename
   * @param serviceBeschreibung
   * @param servicenameAufServer
   * @param serviceAblageverzeichnis
   * @param serviceKonfigdateiPfad
   * @return
   */
  public boolean addService(
      String servicename,
      String serviceBeschreibung,
      String servicenameAufServer,
      String serviceAblageverzeichnis,
      String serviceKonfigdateiPfad) {
    TabService.connect();
    if (TabService.addService(
        servicename,
        serviceBeschreibung,
        servicenameAufServer,
        "Status unbekannt",
        serviceAblageverzeichnis,
        serviceKonfigdateiPfad,
        "Uptime unbekannt",
        "Last statusupdate unbekannt",
        "Last action unbekannt")) {
      TabService.close();
      return true;
    }

    TabService.close();
    return false;
  }
예제 #5
0
  // Service Status wird aktualisiert
  private void refreshServiceStatusForServer(CheckConnection cc, List<String> serverdaten) {
    String ip = serverdaten.get(1);
    String server = serverdaten.get(2);
    String username = serverdaten.get(4);
    String userkey = serverdaten.get(5);
    System.out.println(
        "IP: " + ip + " Server: " + server + " Username: "******" Key: " + userkey);

    if (serverdaten.get(3).equals("Verbindung OK")) {
      System.out.println(
          "Server "
              + server
              + " ist \"pingbar\". Somit werden seine Services auf Aktivität geprüft.");
      List<List<String>> services = getServicesForServer(server);

      // Verbindung steht, bestehende Services werden geprüft
      for (int j = 0; j < services.size(); j++) {
        TabService.connect();
        System.out.println("Service gefunden: Größe: " + services.get(j).size());
        String serviceName = services.get(j).get(1);
        String serviceNameForServer = services.get(j).get(3);
        String status = services.get(j).get(4);

        // TODO Updates REDUNDANT - Sollte besser werden
        boolean aktiv = cc.checkApp(ip, username, userkey, serviceNameForServer);

        if (status.equals("Verbindung OK")) {
          if (aktiv) {
            System.out.println("Service nach wie vor aktiv. Keine Statusveränderung");
          } else {
            System.out.println(
                "Service nicht mehr aktiv. Statusveränderung und Last Statusupdate.");

            TabService.updateServer(serviceName, "SStatus", "Keine Verbindung");
            SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd,HH:mm");
            String now = sdf.format(new Date());
            TabService.updateServer(serviceName, "SLastStatusUpdate", now);
          }
        } else if (status.equals("Keine Verbindung")) {
          if (!aktiv) {
            System.out.println("Service nach wie vor nicht aktiv. Keine Statusveränderung");
          } else {
            System.out.println("Service nun aktiv. Statusveränderung und Last Statusupdate.");

            TabService.updateServer(serviceName, "SStatus", "Verbindung OK");
            SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd,HH:mm");
            String now = sdf.format(new Date());
            TabService.updateServer(serviceName, "SLastStatusUpdate", now);
          }
        } else {
          if (aktiv) {
            System.out.println("Service nun aktiv. Statusveränderung und Last Statusupdate.");
            TabService.updateServer(serviceName, "SStatus", "Verbindung OK");
          } else {
            System.out.println("Service nicht aktiv. Statusveränderung und Last Statusupdate.");
            TabService.updateServer(serviceName, "SStatus", "Keine Verbindung");
          }
          SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd,HH:mm");
          String now = sdf.format(new Date());
          TabService.updateServer(serviceName, "SLastStatusUpdate", now);
        }

        System.out.println(serviceNameForServer + " is aktiv? " + aktiv);
      }
      TabService.close();
      System.out.println();
    } else {
      System.out.println(
          "Server "
              + server
              + " ist nicht als \"Pingbar\" eingetragen.\nSomit können keine Anwendungen getestet werden.");
      // TODO Potentielle Services sollen hier auf "Nicht Aktiv"
      // Stehen
    }
  }
예제 #6
0
 // Alle Services werden angegeben
 public List<List<String>> getServices() {
   TabService.connect();
   List<List<String>> services = TabService.getServiceList();
   TabService.close();
   return services;
 }
예제 #7
0
 // Alle Services für einen bestimmten Server werden angegeben
 public List<List<String>> getServicesForServer(String servername) {
   TabService.connect();
   List<List<String>> services = TabService.getServicesForServer(servername);
   TabService.close();
   return services;
 }