DisTAnz 1.0

DTA.manager
Class AgentManageress

java.lang.Object
  |
  +--DTA.manager.AgentManageress

public class AgentManageress
extends java.lang.Object

NOT FINISHED. Verwaltet die Agenten.

Created: Fri Jun 9 18:13:41 2000

Version:
2.8
Author:
Stefan Henze, Karsten Römling

Field Summary
private  java.util.Vector agents
          Die Instanzvariablen
private  java.net.DatagramSocket dSocket
           
private  java.net.InetAddress group
           
private  java.io.BufferedReader in
           
private  java.io.PrintWriter out
           
private  java.net.DatagramPacket packet
           
private  int port
           
private  java.net.Socket socket
           
private static int timeout
          Der Timeout.
 int zaehler
           
 
Constructor Summary
AgentManageress()
          Erzeugt eine Instanz der Klasse AgentManageress.
AgentManageress(int port)
          Erzeugt eine Instanz der Klasse AgentManageress.
AgentManageress(int port, java.net.InetAddress group)
          Erzeugt eine Instanz der Klasse AgentManageress.
 
Method Summary
 void clear()
          clear löscht alle Agenten mit den dazugehörigen Daten.
 void deselectAgent(java.net.InetAddress agent)
          selectAgent markiert den durch agent spezifizierten Agenten als nicht ausgewählt.
 void findAgents()
          Schickt eine Multicastanfrage an alle Agenten in der Gruppe group und wertet dann die Antworten aus.
 java.util.Vector getAgents()
          Gibt alle bekannten Agenten zurück.
private  java.util.Vector getDataFromAgent(java.net.InetAddress addr)
          Gibt einen Vector von DataBlocks zurück, die den vom Agenten mit der IP-Adresse addr empfangenen Daten entsprechen. Tritt bei der Datenübermittlung ein Fehler auf, wird eine updateException ausgelöst.
 java.lang.Object[][] getDetailedData(java.net.InetAddress agent, java.lang.String type, java.lang.Object wert)
          getDetailedData ruft getDetailedData für den spezifizierten Agenten auf.
 java.util.Vector getSelectedAgents()
          gibt alle ausgewählten Agenten als Vector aus CAgent-Objekten zurück.
 java.lang.Object[][] getTableData(java.net.InetAddress agent, java.lang.String type)
          getTableData ruft getTableData für den spezifizierten Agenten auf.
 void loadDataFromDisk(java.io.File inputFile)
          loadDataFromDisk lädt nach einem Aurfuf von clear die im durch File spezifizierten daten in den Speicher.
static void main(java.lang.String[] args)
          Testet die Funktionalität der AgentManageress.
 void saveDataToDisk(java.io.File outputFile)
          saveDataToDisk speichert die Daten aller bekannten Agenten int die durch File spezifizierte Datei.
 void selectAgent(java.net.InetAddress agent)
          selectAgent markiert den durch agent spezifizierten Agenten als ausgewählt.
 boolean upDate()
          Ruft für alle von getSelectedAgents zurückgelieferten Agenten ein getDataFromAgent auf und fügt die bekommenen Daten im jeweiligen CAgent ein.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

agents

private java.util.Vector agents
Die Instanzvariablen

dSocket

private java.net.DatagramSocket dSocket

packet

private java.net.DatagramPacket packet

socket

private java.net.Socket socket

in

private java.io.BufferedReader in

out

private java.io.PrintWriter out

port

private int port

group

private java.net.InetAddress group

zaehler

public int zaehler

timeout

private static int timeout
Der Timeout. Solange wird auf Agenten gewartet (Sekunden).
Constructor Detail

AgentManageress

public AgentManageress()
Erzeugt eine Instanz der Klasse AgentManageress.

AgentManageress

public AgentManageress(int port)
                throws java.net.SocketException
Erzeugt eine Instanz der Klasse AgentManageress. Der Timeout des DatagramSocket wird auf timeout Sekunden gesetzt.
Parameters:
port - Der Port, auf dem gelauscht werden soll.
Throws:
Wenn - die Erzeugung des DatagramSocket fehlschlägt.

AgentManageress

public AgentManageress(int port,
                       java.net.InetAddress group)
                throws java.net.SocketException
Erzeugt eine Instanz der Klasse AgentManageress. Der Timeout des DatagramSocket wird auf timeout Sekunden egsetzt.
Parameters:
port - Der Port, auf dem gelauscht werden soll.
group - Die zu verwendende Multicastgruppe.
Method Detail

clear

public void clear()
clear löscht alle Agenten mit den dazugehörigen Daten.

getAgents

public java.util.Vector getAgents()
Gibt alle bekannten Agenten zurück.
Returns:
alle enthaltenen Agenten.

selectAgent

public void selectAgent(java.net.InetAddress agent)
selectAgent markiert den durch agent spezifizierten Agenten als ausgewählt.
Parameters:
agent - Ein InetAddress-Objekt, das den Agenten bezeichnet.

deselectAgent

public void deselectAgent(java.net.InetAddress agent)
selectAgent markiert den durch agent spezifizierten Agenten als nicht ausgewählt.
Parameters:
agent - Ein InetAddress-Objekt, das den Agenten bezeichnet.

getSelectedAgents

public java.util.Vector getSelectedAgents()
gibt alle ausgewählten Agenten als Vector aus CAgent-Objekten zurück.
Returns:
ein CAgent-Objekt für jeden ausgewählten Agenten.

findAgents

public void findAgents()

Schickt eine Multicastanfrage an alle Agenten in der Gruppe group und wertet dann die Antworten aus. Kommt 10 Sekunden lang keine Antwort, wird abgebrochen.

Hierbei werden nur neue Agenten eingetragen.


getTableData

public java.lang.Object[][] getTableData(java.net.InetAddress agent,
                                         java.lang.String type)
getTableData ruft getTableData für den spezifizierten Agenten auf.
Parameters:
agent - Spezifiziert den Agenten.
type - Der Tabellentyp als String.
Returns:
Die Rückgabe von CAgent.getTableData (String[][]).
See Also:
CAgent

getDetailedData

public java.lang.Object[][] getDetailedData(java.net.InetAddress agent,
                                            java.lang.String type,
                                            java.lang.Object wert)
getDetailedData ruft getDetailedData für den spezifizierten Agenten auf.
Parameters:
agent - Spezifiziert den Agenten.
type - Der Tabellentyp als String.
wert - der entsprechende Wert.
Returns:
Die Rückgabe von CAgent.getTableData (String[][]).
See Also:
CAgent

upDate

public boolean upDate()
Ruft für alle von getSelectedAgents zurückgelieferten Agenten ein getDataFromAgent auf und fügt die bekommenen Daten im jeweiligen CAgent ein. Tritt bei der Abholung der Daten ein Fehler auf, wird false zurückgegeben.
Returns:
false im Fehlerfall.

getDataFromAgent

private java.util.Vector getDataFromAgent(java.net.InetAddress addr)
                                   throws UpdateException

Gibt einen Vector von DataBlocks zurück, die den vom Agenten mit der IP-Adresse addr empfangenen Daten entsprechen.

Tritt bei der Datenübermittlung ein Fehler auf, wird eine updateException ausgelöst.

Parameters:
addr - die Adresse des abzufragenden Agenten.
Returns:
die abgeholten Daten.
Throws:
falls - ein Fehler bei der Datenübermittlung auftritt.

saveDataToDisk

public void saveDataToDisk(java.io.File outputFile)
                    throws java.io.IOException
saveDataToDisk speichert die Daten aller bekannten Agenten int die durch File spezifizierte Datei.
Parameters:
outputFile - File spezifiziert die Ausgabedatei.
Throws:
Falls - ein Fehler auftritt.

loadDataFromDisk

public void loadDataFromDisk(java.io.File inputFile)
                      throws java.io.IOException,
                             java.lang.NumberFormatException,
                             java.text.ParseException
loadDataFromDisk lädt nach einem Aurfuf von clear die im durch File spezifizierten daten in den Speicher. Treten Fehler auf, werden Exceptions ausgelöst, die auf die Art des Fehlers schließen lassen.
Parameters:
inputFile - File spezifiziert die Eingabedatei.
Throws:
java.io.IOException - bei einem Fehler in der Dateibehandlung.
java.lang.NumberFormatException - weist auf ein fehlerhaftes Datenfile hin.
java.text.ParseException - weist auf ein fehlerhaftes Datenfile hin.

main

public static void main(java.lang.String[] args)
Testet die Funktionalität der AgentManageress.
Parameters:
args[] - Ungenutzt.

DisTAnz 1.0

Copyright 2000 I. Rekik, M. Zouari, C. Apachite, K. Römling, S. Henze
All rights reserved.