de.bsvrz.dav.dav.main
Class UserInfo

java.lang.Object
  extended by de.bsvrz.dav.dav.main.UserInfo
All Implemented Interfaces:
ClientReceiverInterface

public class UserInfo
extends Object
implements ClientReceiverInterface

Verwaltet die Rechte eines Benutzers.

Author:
Kappich Systemberatung

Nested Class Summary
private  class UserInfo.Activity
          Diese Klasse stellt eine Rolle/Aktivität dar.
private  class UserInfo.AuthentificationClassUpdater
           
private  class UserInfo.AuthentificationUnit
          Diese Klasse stellt eine Rollen/Regionen-Paar Kombination dar.
private  class UserInfo.InfoHolder
          Speichert unterschiedliche Objekte (ATG, Aspekte, Objekte) und stellt eine Methode zur Verfügung, mit der geprüft werden kann, ob ein bestimmtes Objekt vorhanden ist.
private  class UserInfo.Region
          Diese Klasse stellt eine Region dar und stellt eine Methode zur Verfügung, mit der die Zugehörigkeit anderer Objekte zu der Region geprüft werden kann.
 
Field Summary
private  ArrayList _authentificationUnits
          Stellt alle Rollen/Regionen-Kombinationen dar, die für diesen Benutzer erlaubt sind.
private static Debug _debug
           
private  boolean _firstTime
          Erster Durchlauf
private  boolean _initComplete
          Flage zur Bereitschaftstatus
private  int _reference
          Zählt wie oft ein UserInfo-Objekt angelegt werden sollte, aber es konnte die Referenz auf das bereits bestehende Objekt benutzt werden.
private  UserInfo.AuthentificationClassUpdater _updater
          Eine interne Klasse zur Aktuallisierung der Benutzerrechten
private  SystemObject _user
          Datenverteilerobjekt, das den Benutzer darstellt.
private  DataDescription _userDataDescription
          Beschreibung der Benutzeranmeldedaten
private  long _userId
          Id des Benutzers
private static String ACTIVITY_ASPECT_SET_NAME
           
private static String ACTIVITY_ATTRIBUTE_GROUP_SET_NAME
           
private static String ACTIVITY_RIGHTS_ATTRIBUTE_GROUP_PID
           
private static String AUTHENTIFICATION_CLASS_ASPECT_PID
           
private static String AUTHENTIFICATION_CLASS_ATTRIBUTE_GROUP_PID
           
private static String CONFIGURATION_SUBSET_OBJECTS_SET_NAME
           
private static String CONFIGURATION_SUBSET_TYPE_PID
           
(package private)  ConnectionsManager connectionsManager
          Der Verbindungsmanager
private static String REGION_CONTAINER_SET_BAD_NAME
          Damit die Software auch mit älteren Versionen des Datenmodells arbeitet, wird hier neben dem korrekten Namen der Menge auch der ursprüngliche, falsch geschriebene Name der Menge unterstützt.
private static String REGION_CONTAINER_SET_NAME
           
private static String REGION_OBJECT_SET_NAME
           
private static String REGION_TYPE_PID
           
private static String ROLE_ACTIVITIES_SET_NAME
           
private static String USER_ASPECT_PID
           
private static String USER_ATTRIBUTE_GROUP_PID
           
 
Constructor Summary
UserInfo(long userId, ConnectionsManager _connectionsManager)
           
 
Method Summary
 boolean authentify(BaseSubscriptionInfo info, byte state)
          Prüft, ob die angegebenen Parameter in einer Berechtigungsklasse festgelegt sind.
 boolean canBeSafelyDeleted()
          Der Benutzer ist nicht mehr angemeldet.
private  void collectIds(List ids, List objects)
           
 void decrementReference()
          Der Benutzer sollte einmal abgemeldet werden
 void disable()
          Meldet die Empfänger für die Daten atg.benutzerParameter und atg.rollenRegionenPaareParameter ab.
 boolean equals(Object obj)
           
(package private)  ClientReceiverInterface getClassUpdater()
          Wird für automatisierte Tests benötigt.
private  List getConfigurationSubsetObjects(SystemObject container)
           
private  List getContainerObjects(SystemObject container)
           
(package private)  int getNumberOfReferences()
          Wurde für automatisierte Tests hinzugefügt.
private  ArrayList getRegionObjects(ConfigurationObject region)
           
private  UserInfo.Activity[] getRoleActivities(ConfigurationObject role)
           
 long getUserId()
          Id, die das Systemobjekt des Benutzers darstellt.
 int hashCode()
           
 void incrementReference()
          Der Benutzer sollte erneut angemeldet werden.
 void update(ResultData[] results)
          Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

private static final Debug _debug

USER_ATTRIBUTE_GROUP_PID

private static final String USER_ATTRIBUTE_GROUP_PID
See Also:
Constant Field Values

USER_ASPECT_PID

private static final String USER_ASPECT_PID
See Also:
Constant Field Values

AUTHENTIFICATION_CLASS_ATTRIBUTE_GROUP_PID

private static final String AUTHENTIFICATION_CLASS_ATTRIBUTE_GROUP_PID
See Also:
Constant Field Values

AUTHENTIFICATION_CLASS_ASPECT_PID

private static final String AUTHENTIFICATION_CLASS_ASPECT_PID
See Also:
Constant Field Values

ROLE_ACTIVITIES_SET_NAME

private static final String ROLE_ACTIVITIES_SET_NAME
See Also:
Constant Field Values

ACTIVITY_ATTRIBUTE_GROUP_SET_NAME

private static final String ACTIVITY_ATTRIBUTE_GROUP_SET_NAME
See Also:
Constant Field Values

ACTIVITY_ASPECT_SET_NAME

private static final String ACTIVITY_ASPECT_SET_NAME
See Also:
Constant Field Values

ACTIVITY_RIGHTS_ATTRIBUTE_GROUP_PID

private static final String ACTIVITY_RIGHTS_ATTRIBUTE_GROUP_PID
See Also:
Constant Field Values

REGION_OBJECT_SET_NAME

private static final String REGION_OBJECT_SET_NAME
See Also:
Constant Field Values

REGION_CONTAINER_SET_NAME

private static final String REGION_CONTAINER_SET_NAME
See Also:
Constant Field Values

REGION_CONTAINER_SET_BAD_NAME

private static final String REGION_CONTAINER_SET_BAD_NAME
Damit die Software auch mit älteren Versionen des Datenmodells arbeitet, wird hier neben dem korrekten Namen der Menge auch der ursprüngliche, falsch geschriebene Name der Menge unterstützt.

See Also:
Constant Field Values

REGION_TYPE_PID

private static final String REGION_TYPE_PID
See Also:
Constant Field Values

CONFIGURATION_SUBSET_TYPE_PID

private static final String CONFIGURATION_SUBSET_TYPE_PID
See Also:
Constant Field Values

CONFIGURATION_SUBSET_OBJECTS_SET_NAME

private static final String CONFIGURATION_SUBSET_OBJECTS_SET_NAME
See Also:
Constant Field Values

_userId

private long _userId
Id des Benutzers


connectionsManager

ConnectionsManager connectionsManager
Der Verbindungsmanager


_authentificationUnits

private ArrayList _authentificationUnits
Stellt alle Rollen/Regionen-Kombinationen dar, die für diesen Benutzer erlaubt sind.


_user

private SystemObject _user
Datenverteilerobjekt, das den Benutzer darstellt.


_userDataDescription

private DataDescription _userDataDescription
Beschreibung der Benutzeranmeldedaten


_updater

private UserInfo.AuthentificationClassUpdater _updater
Eine interne Klasse zur Aktuallisierung der Benutzerrechten


_initComplete

private boolean _initComplete
Flage zur Bereitschaftstatus


_firstTime

private boolean _firstTime
Erster Durchlauf


_reference

private int _reference
Zählt wie oft ein UserInfo-Objekt angelegt werden sollte, aber es konnte die Referenz auf das bereits bestehende Objekt benutzt werden.

Constructor Detail

UserInfo

public UserInfo(long userId,
                ConnectionsManager _connectionsManager)
Parameters:
userId - Id des Benutzers. Über die Id wird das Objekt des Benutzers vom Datenverteiler angefordert.
_connectionsManager - Wird zum an/abmelden von Daten benutzt.
Method Detail

getUserId

public final long getUserId()
Id, die das Systemobjekt des Benutzers darstellt.

Returns:
Id, mit der das Systemobjekt des Benutzers angefordert werden kann.

incrementReference

public final void incrementReference()
Der Benutzer sollte erneut angemeldet werden.


decrementReference

public final void decrementReference()
Der Benutzer sollte einmal abgemeldet werden


canBeSafelyDeleted

public final boolean canBeSafelyDeleted()
Der Benutzer ist nicht mehr angemeldet.

Returns:
true, wenn der Benutzer vom System abgemeldet wurde.

getNumberOfReferences

int getNumberOfReferences()
Wurde für automatisierte Tests hinzugefügt.


getClassUpdater

ClientReceiverInterface getClassUpdater()
Wird für automatisierte Tests benötigt.

Returns:
Objekt, mit dem Daten für die die ATG atg.rollenRegionenPaareParameter übergeben werden kann.

update

public final void update(ResultData[] results)
Aktualisierungsmethode, die nach Empfang eines angemeldeten Datensatzes von den Datenverteiler-Applikationsfunktionen aufgerufen wird. Diese Methode muss von der Applikation zur Verarbeitung der empfangenen Datensätze implementiert werden.

Specified by:
update in interface ClientReceiverInterface
Parameters:
results - Feld mit den empfangenen Ergebnisdatensätzen.

authentify

public final boolean authentify(BaseSubscriptionInfo info,
                                byte state)
Prüft, ob die angegebenen Parameter in einer Berechtigungsklasse festgelegt sind. Sind die Parameter in einer Berechtigungsklasse zu finden, so dürfen die Daten beim DaV angemeldet werden.

Parameters:
info - Daten, die angemeldet werden sollen.
state -
  • state 0: Als Sender
  • 1: Als Empfänger
  • 2: Als Quelle
  • 3: Als Senke
Returns:
true, wenn die Daten angemeldet werden dürfen, sonst false.

disable

public final void disable()
Meldet die Empfänger für die Daten atg.benutzerParameter und atg.rollenRegionenPaareParameter ab.


hashCode

public final int hashCode()
Overrides:
hashCode in class Object

equals

public final boolean equals(Object obj)
Overrides:
equals in class Object

getRoleActivities

private final UserInfo.Activity[] getRoleActivities(ConfigurationObject role)

collectIds

private final void collectIds(List ids,
                              List objects)

getRegionObjects

private final ArrayList getRegionObjects(ConfigurationObject region)
                                  throws ConfigurationException
Throws:
ConfigurationException

getContainerObjects

private final List getContainerObjects(SystemObject container)
                                throws ConfigurationException
Throws:
ConfigurationException

getConfigurationSubsetObjects

private final List getConfigurationSubsetObjects(SystemObject container)
                                          throws ConfigurationException
Throws:
ConfigurationException