Zeige Ergebnis 1 bis 1 von 1

Thema: [Spielzeug] Remoteshell , STARFACE Scripts über mehrere Anlagen ausführen

  1. #1
    STARFACE Expert
    Benutzerbild von nucom
    Registriert seit
    11.12.2012
    Ort
    9443 Widnau
    Beiträge
    1.984

    Standard [Spielzeug] Remoteshell , STARFACE Scripts über mehrere Anlagen ausführen

    Hallo Miteinander

    Ich habe schon eine weile an einem Programm gearbeitet, welches es einem erlaubt, Beanshell Scripts per Remote auszuführen.
    Es ist noch nicht Releasebereit, ich möchte jedoch schon einen Einblick geben.

    Damit kann man so ziemlich alles, was das Modulsystem kann aus der Ferne ausführen.
    Das Modul kann zusätzlich die Ergebnisse in eine CSV Datei schreiben.

    Das Programm unterstützt Commandozeilenargumente, somit kann man Scripts z.b. automatisch ausführen, und sogar die Argumente per CMD mitgeben.
    Ein par Beispielscripts, die ich bereits geschrieben habe beinhalten:

    • Module de-aktivieren
    • Benutzerdaten Abrufen /Aktualisieren
    • Serverlizenzen Abrufen


    Zu dem Modul auf der Anlage gibt's nicht viel zu sagen, es muss einfach installiert werden, und eine Instanz erstellt werden.

    Zum Client:
    Bitte beachtet, dass ich kein UI Designer bin
    Das Programm läuft auf Java.
    Die Scripts werden in einem Format .sfscript abgespeichert
    Darin werden die folgenden Einstellungen gesichert:

    • Script
    • Argumente
    • Selektierte STARFACE's
    • Output (CSV/NONE)
    • Zieldatei/Ordner (CSV)
    • Header Ja/Nein
    • Eine CSV pro STARFACE Ja/Nein




    Oben Links mit dem + kann man STARFACE hinzufügen.



    Für die Ausführung des Scripts können ein, oder mehrere STARFACE gewählt werden.



    Im Script können Argumente verwendet werden, welche in der GUI Rechts hinzugefügt werden können. Diese können später beim Aufruf auf der Kommandozeile überschrieben werden.



    Die Scripte laufen wie gesagt auf Beanshell.
    Rückgabewerte müssen in "Data" geschrieben werden, dieses darf aber im Script nicht separat definiert werden.
    Data ist eine Map<String, Object>

    Man kann es in eine CSV Schreiben lassen.
    Dafür muss Data eines der Folgenden Formate haben:
    Map<String, String>
    Map<String, Map<String Object>
    Map<String, List<String>
    Map<String, List<Map<String, Object>

    Beispiel:

    Code:
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import de.starface.bo.UserBusinessObject;
    import de.starface.core.component.StarfaceComponentProvid  er;
    import de.vertico.starface.persistence.databean.core.Exte  ndedUserData;
    
    StarfaceComponentProvider componentProvider = StarfaceComponentProvider.getInstance(); 
    UserBusinessObject UBO = (UserBusinessObject)componentProvider.fetch(UserBu  sinessObject.class);
    List Users = new ArrayList(); //Liste von Benutzern
    			
    for(ExtendedUserData UserData:  UBO.getUsers("", "", true)) //Alle User aus dem UserBusinessObject Abrufen
    {
    	 //Die Stücke des Benutzers in eine HashMap platzieren
    	Map User = new HashMap();
    	User.put("AccountId", UserData.getAccountId());
    	User.put("LoginNumber", UserData.getLoginNumber());
    	User.put("FamilyName", UserData.getFamilyName());
    	User.put("FirstName", UserData.getFirstName());
    	User.put("Email", UserData.getEmail());
    	User.put("Emailfaxjournal", UserData.getEmailfaxjournal());
    	User.put("FaxCallerId", UserData.getFaxCallerId());
    	User.put("Faxcoverpage", UserData.getFaxcoverpage());
    	User.put("FaxHeader", UserData.getFaxHeader());
    	User.put("Language", UserData.getLanguage());
    	User.put("LicenseType", UserData.getLicenseTypeString());
    	User.put("MissedCallReport", UserData.getMissedCallReport());
    	User.put("ExtPrimaryPhone", UserData.getExtPhoneNumber().getPhoneNumber());
    	User.put("IntPrimaryPhone", UserData.getIntPhoneNumber().getPhoneNumber());	
    	Users.add(User); //Den Benutzer der Liste hinzufügen
    }
    			
    Data.put("Users", Users); //Die ganze Liste ins Datenpaket schreiben, damit dieses zurückkommt
    Ausgabe:
    "AccountId";"Email";"FamilyName";"Emailfaxjournal" ;"FirstName";"FaxHeader";"FaxCallerId";"LicenseTyp e";"ExtPrimaryPhone";"MissedCallReport";"Language" ;"Faxcoverpage";"LoginNumber";"IntPrimaryPhone"
    "1001";"zuend@nucom.ch";"821";"false";"821";"Test" ;"0041717271818";"User";"";"false";"";"false";"821 ";"821"
    "1623";"test@test.ch";"891";"true";"891";"Fax";"+4 1717271808";"User";"";"false";"";"true";"891";"891 "
    "1879";"email@muster.ch";"Nachname";"false";"Vorna me";"";"";"User";"";"false";"";"false";"831";"83 1"



    Das ist es mal etwa im groben.

    MfG

    Fabian
    Geändert von nucom (01.04.2021 um 09:44 Uhr)
    Modulhersteller aus der Schweiz
    __________________________________________________ ________
    STARFACE Excellence Partner: Info | Certified Module Creator Kontakt

Ähnliche Themen

  1. Starface über Patton SN4120 an Telekom-Anlagen-S0
    Von Schmal im Forum Leitungen SIP, NGN, ALL-IP
    Antworten: 1
    Letzter Beitrag: 02.06.2017, 17:43
  2. [Starface Anlagen Verbund + NEU SIP]
    Von foobar123 im Forum Leitungen SIP, NGN, ALL-IP
    Antworten: 0
    Letzter Beitrag: 28.04.2015, 15:58
  3. Bash Scripts
    Von micha im Forum Modul-Designer
    Antworten: 12
    Letzter Beitrag: 26.08.2009, 12:50
  4. Rufumleitung über mehrere Stationen
    Von DuNDy im Forum STARFACE Einrichtung & Administration
    Antworten: 4
    Letzter Beitrag: 14.11.2007, 14:52

Lesezeichen

Forumregeln

  • Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
  • Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
  • Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
  • Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
  •