Class KioskForce

java.lang.Object
  extended by de.frame4j.util.App
      extended by KioskForce
All Implemented Interfaces:
AttrSettable, TextHelper.MessageComponents, UIInfo, ActionListener, ComponentListener, WindowFocusListener, WindowListener, EventListener, DynamicMBean

@MinDoc(copyright="Copyright 2007, 2009  A. Weinert",
        author="Albrecht Weinert",
        version="V.1",
        lastModified="11.02.2010",
        lastModifiedBy="A. Weinert",
        usage="start as Java application (-? for help)",
        purpose="start (Windows) processes in kiosk mode")
public final class KioskForce
extends App
implements WindowListener, ComponentListener, WindowFocusListener

Start an application in the kiosk modus.

Diese Anwendung

Das Erzwingen des Kiosk-Modus bedeutet, dass das Anfassen des Fensters dieser Anwendung die Prozesse beendet und die Windows-Sitzung ausloggt. Das selbe geschieht, wenn sich die Prozesse auf andere Weise beenden.

© Copyright 2007   Albrecht Weinert

See Also:
App, de.frame4j.graf, AskDialog, AdmHelper, Authentication, LogServer

Field Summary
protected  String bgImage
          Datei- oder Ressourcenname des Hintergrundbilds.
 String command
          Auszuführendes Kommando.
 String frg
          Basis für Netzverzeichnis / -freigabe (1).
 String frg2
          Basis für Netzverzeichnis / -freigabe (2).
 String ger
          Gerät (1), das verbunden werden soll.
 String ger2
          Gerät (2), das verbunden werden soll.
protected  String logoImage
          Datei- oder Ressourcenname des Begrüßungsbilds.
 boolean logOutEndProcess
          Bedingungen für Log Off.
 boolean logOutNoCommand
          Bedingungen für Log Off.
 boolean logOutTouchWindow
          Bedingungen für Log Off.
 String logServerHost
          LogServer (Host).
 int logServerPort
          LogServer (Port).
 String preDisconect
          Geräte, die vorab zu trennen sind.
 String process2
          Optionaler zweiter Prozess (mit Parametern).
 
Fields inherited from class de.frame4j.util.App
ano, appBase, appIO, appStartTime, args, bgColor, err, fullClassName, help, icon, INIT_ERROR, jmxRemoteNote, JOB_DONE_OK, log, LOG_OUT_ERROR, MAIN_THREAD_EXC, mainThread, myClass, myFrame, name, NO_PARS_ERROR, objectName, out, outMode, packName, prop, retCode, runFlag, shortClassName, title, verbose, verbosity
 
Fields inherited from interface de.frame4j.net.AttrSettable
ILLEGAL_TYPE, ILLEGAL_VALUE, NO_ATTRIBUTE, NO_KNOWN_ATTRIBUTE, NO_VALUE, OK
 
Constructor Summary
KioskForce()
           
 
Method Summary
 void componentHidden(ComponentEvent e)
           
 void componentMoved(ComponentEvent e)
           
 void componentResized(ComponentEvent e)
           
 void componentShown(ComponentEvent e)
           
protected  int connect(String ger, String frg, String user)
          Gerät verbinden (nur Windows 2K, XP, 2K3).
 int doIt()
          Arbeitsmethode von KioskForce.
protected  boolean logOut(String reason, boolean doLogOut)
          Lokalen Benutzer ausloggen (nur Windows 2K, XP, 2K3).
static void main(String[] args)
          Startmethode von KioskForce .
protected  int setAttribute(String name, char name0, Object value, Class<?> vClass, boolean isNull, boolean isStringVal)
          DynamicMBean - indirect implementation.
 void setBgImage(String bgImage)
          Datei- oder Ressourcenname des Begrüßungsbilds setzen.
 void setLogoImage(String logoImage)
          Datei- oder Ressourcenname des Begrüßungsbilds setzen.
 void stop()
          shutDown hook .
 void windowActivated(WindowEvent e)
           
 void windowClosed(WindowEvent e)
           
 void windowClosing(WindowEvent e)
          Benutzer schließt das Fenster der Anwendung.
 void windowDeactivated(WindowEvent e)
          Fenster wird verdeckt oder deaktiviert.
 void windowDeiconified(WindowEvent e)
           
 void windowGainedFocus(WindowEvent e)
           
 void windowIconified(WindowEvent e)
          Benutzer schließt das Fenster der Anwendung.
 void windowLostFocus(WindowEvent e)
          Fenster verliert Fokus.
 void windowOpened(WindowEvent e)
           
 
Methods inherited from class de.frame4j.util.App
actionPerformed, allowNoPropertiesFile, clientOrder, condHelpLog, connect, errMeld, errMeld, errorExit, errorExit, errorExit, errorText, formMessage, formMessage, getAbout, getAboutText, getActTime, getAppLogger, getAppStartTime, getArgs, getAttribute, getAttributes, getAuthor, getCopyright, getDbLogger, getExecTimeMs, getExecTimeString, getHelp, getHelpText, getIcon, getLanguage, getLogHandler, getMBeanInfo, getMessageComponent, getMessageComponentsLength, getMyFrame, getName, getNameWithVersDate, getOutMode, getProp, getPurpose, getStartTime, getStateString, getTitle, getUsage, getVerbosity, getVerbosityString, getVersDate, getXMLinput, go, go, go, haveIcon, invoke, isDebug, isHelp, isHelpLog, isNormal, isRunFlag, isSilent, isTest, isVerbose, logVerbose, logVerbose, makeDbLogger, makeMenuBar, makeMenuBar, makeStatusTextEnd, makeStatusTextStart, messageFormat, normalExit, parsePartial, performeAction, postDeregister, postRegister, preRegister, queueAction, registerAsMBean, setAboutText, setAttribute, setAttribute, setAttributes, setAuthor, setBgColor, setCodePages, setCopyright, setHelp, setJmxRemoteNote, setLogOut2, setName, setOutMode, setOutMode, setPurpose, setTitle, setUsage, setVerbose, setVerbose, setVerbosity, setVerbosity, setVerbosityString, setVersDate, threeLineEndMsg, toString, twoLineEndMsg, twoLineStartMsg, valueLang, valueLang, wakeMainThread
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

command

public String command
Auszuführendes Kommando.

Im Gegensatz zu process2 enthält command keine (ggf.) Startparameter.


process2

public String process2
Optionaler zweiter Prozess (mit Parametern).

Im Gegensatz zu command enthält process2 die ggf. Startparameter.


logOutNoCommand

public boolean logOutNoCommand
Bedingungen für Log Off.


logOutTouchWindow

public boolean logOutTouchWindow
Bedingungen für Log Off.


logOutEndProcess

public boolean logOutEndProcess
Bedingungen für Log Off.


logoImage

protected String logoImage
Datei- oder Ressourcenname des Begrüßungsbilds.

See Also:
setLogoImage(String)

bgImage

protected String bgImage
Datei- oder Ressourcenname des Hintergrundbilds.

See Also:
setBgImage(String)

preDisconect

public String preDisconect
Geräte, die vorab zu trennen sind.

Die Eigenschaft bezeichnet ein Gerät oder oder Geräte, die noch vor Nutzereingaben und vor Verbindungsversuchen aber nach sichtbar Werden des Fensters (mit net use ... /delete) zu trennen sind.

Beispiele: "Y:;Z:" "P: Z:" ""
default: Z:;Y:


ger

public String ger
Gerät (1), das verbunden werden soll.

ger und ger2 sollten nicht gleich sein.

default: Y:


frg

public String frg
Basis für Netzverzeichnis / -freigabe (1).

Falls fgr mit einem Gegenschrägstrich endet, wird dieser Freigabename mit dem Namen des (bereits) angemeldeten Nutzers (user.name) ergänzt. (Beim default-Wert wäre das der Fall.)
Hinweis zum default-Wert: Wegen eines (alten aber langlebigen) Windows-Fehler ist eine gleichzeitige Anmeldung an Domänen-Ressourcen unter unterschiedlichen Namen oft nicht möglich.
Dieser Effekt tritt nicht ein, wenn die Domänenressource nicht namentlich sondern mit ihrer IP-Adresse bezeichnet wird.

default: \\193.175.115.15\fb3stud\ (entspr. \\PD337S\fb3stud\)


ger2

public String ger2
Gerät (2), das verbunden werden soll.

ger und ger2 sollten nicht gleich sein.

default: P:


frg2

public String frg2
Basis für Netzverzeichnis / -freigabe (2).

Falls fgr mit einem Gegenschrägstrich endet, wird dieser Freigabename mit dem Namen des (bereits) angemeldeten Nutzers (user.name) ergänzt. (Beim default-Wert wäre das nicht der Fall.)
Hinweis: Trotz der Ergänzung mit dem Namen des angemeldeten Nutzers erfolgt die Authentifizierung mit den interaktiv eingegebenen Namen und Passwort.

default: \\193.175.115.15\progserver (entspr. \\PD337S\progserver)

See Also:
frg

logServerHost

public String logServerHost
LogServer (Host).

Der LogServer für Logger, Log-On-Unterstützung, Password-Sync. usw..

default: PD323S


logServerPort

public int logServerPort
LogServer (Port).

default: 14577

Constructor Detail

KioskForce

public KioskForce()
Method Detail

setLogoImage

public void setLogoImage(String logoImage)
Datei- oder Ressourcenname des Begrüßungsbilds setzen.

default: MEVAlogo-anm.png


setBgImage

public void setBgImage(String bgImage)
Datei- oder Ressourcenname des Begrüßungsbilds setzen.

default: MEVAlogo-anm.png


setAttribute

protected int setAttribute(String name,
                           char name0,
                           Object value,
                           Class<?> vClass,
                           boolean isNull,
                           boolean isStringVal)
DynamicMBean - indirect implementation.

This method implements all settings to textual properties by delegating to the appropriate setter with a character sequence parameter.

Overrides:
setAttribute in class App
Parameters:
name - name of the property (never empty)
name0 - first character of name (>= a)
value - the (new) value of the property
vClass - the (original) class of value (or null if isNull)
isNull - true if value is null
isStringVal - true if value is of type String
See Also:
App.setAttribute(String, Object),

main

public static void main(String[] args)
Startmethode von KioskForce .

Die Anwendung signalisiert die Antwort / Reaktion über Exit-Kodes; siehe oben.

Parameters:
args - Kommandozeilenparameter
Aufruf : KioskForce [optionen] [meldung [frage [titel]]]

logOut

protected boolean logOut(String reason,
                         boolean doLogOut)
Lokalen Benutzer ausloggen (nur Windows 2K, XP, 2K3).

Der Aufruf dieser Methode meldet die Sitzung des aktuell angemeldeten lokalen Benutzers ab.

Funktioniert nur unter Windows (mit shutdown.exe von 2005, W2K3 u.ä.).

Returns:
true, wenn shutdown-Befehl erfolgreich abgesetzt.
See Also:
AdmHelper.logOut()

stop

public void stop()
shutDown hook .

Overrides:
stop in class App

connect

protected int connect(String ger,
                      String frg,
                      String user)
Gerät verbinden (nur Windows 2K, XP, 2K3).

Parameters:
ger - Zu verbindendes Gerät, z.B. "X:"
frg - Freigabe oder Freigabebasis; z.B. "\\\\193.175.115.15\\fb3stud\\"; endet frg mit \\, so wird user angehängt
user - Name des Nutzers
Returns:
Exit-code von net use; 999 bei Exceptions
See Also:
AdmHelper.connect(String, String, String, String)

doIt

public int doIt()
Arbeitsmethode von KioskForce.

Specified by:
doIt in class App
Returns:
0..4: Exit-Kode; > 4: Fehler

windowActivated

public void windowActivated(WindowEvent e)
Specified by:
windowActivated in interface WindowListener

windowClosed

public void windowClosed(WindowEvent e)
Specified by:
windowClosed in interface WindowListener

windowClosing

public void windowClosing(WindowEvent e)
Benutzer schließt das Fenster der Anwendung.

Dieser Methode wird signalisiert, dass das Fenster geschlossen werden soll. Der Anwender kann dies über das Rahmenkreuz oder das Ikonenmenu auslösen.

Specified by:
windowClosing in interface WindowListener

windowDeactivated

public void windowDeactivated(WindowEvent e)
Fenster wird verdeckt oder deaktiviert.

Dieser Methode wird signalisiert, dass das Fenster deaktiviert oder von anderen verdeckt oder sonst deaktiviert werden soll.

Dies Ansinnen widerspricht dem Gedanken eines (zusätzlichen) Log-In-Vorgangs. Dementsprechend versucht diese Methode die Aktivität des Fensters zu halten. Dies gelingt je nach Systembasis nur bedingt.

Specified by:
windowDeactivated in interface WindowListener

windowDeiconified

public void windowDeiconified(WindowEvent e)
Specified by:
windowDeiconified in interface WindowListener

windowIconified

public void windowIconified(WindowEvent e)
Benutzer schließt das Fenster der Anwendung.

Dieser Methode wird signalisiert, dass das Fenster durch Verkleinern versteckt werden soll. Der Anwender kann dies über den Unterstrichknopf des Rahmens auslösen.

Dies beendet die Anwendung.

Specified by:
windowIconified in interface WindowListener

windowOpened

public void windowOpened(WindowEvent e)
Specified by:
windowOpened in interface WindowListener

windowGainedFocus

public void windowGainedFocus(WindowEvent e)
Specified by:
windowGainedFocus in interface WindowFocusListener

windowLostFocus

public void windowLostFocus(WindowEvent e)
Fenster verliert Fokus.

Dieser Methode wird (u.A.) signalisiert, dass das Fenster den Eingabefokus verlor.

Specified by:
windowLostFocus in interface WindowFocusListener

componentHidden

public void componentHidden(ComponentEvent e)
Specified by:
componentHidden in interface ComponentListener

componentMoved

public void componentMoved(ComponentEvent e)
Specified by:
componentMoved in interface ComponentListener

componentResized

public void componentResized(ComponentEvent e)
Specified by:
componentResized in interface ComponentListener

componentShown

public void componentShown(ComponentEvent e)
Specified by:
componentShown in interface ComponentListener