de.bsvrz.puk.config.configFile.datamodel
Class AreaDependencyChecker

java.lang.Object
  extended by de.bsvrz.puk.config.configFile.datamodel.AreaDependencyChecker
All Implemented Interfaces:
AreaDependencyCheck

public class AreaDependencyChecker
extends Object
implements AreaDependencyCheck

Author:
Kappich Systemberatung

Nested Class Summary
private static class AreaDependencyChecker.CheckResult
           
 
Nested classes/interfaces inherited from interface de.bsvrz.puk.config.configFile.datamodel.AreaDependencyCheck
AreaDependencyCheck.AreaDependencyCheckResult, AreaDependencyCheck.KindOfConfigurationAction
 
Field Summary
private static Debug _debug
          DebugLogger für Debug-Ausgaben
 
Constructor Summary
AreaDependencyChecker()
           
 
Method Summary
private  AreaDependencyCheck.AreaDependencyCheckResult check(List<ConfigAreaAndVersion> areas)
          Prüft, ob für jeden der übergebenen Bereich die Abhängigkeiten zu anderen Bereichen erfüllt ist und gibt das Ergebnis der Prüfung zurück.
 AreaDependencyCheck.AreaDependencyCheckResult checkAreas(List<ConfigAreaAndVersion> areas)
          Die Methode prüft ob alle Abhängigkeiten der einzelnen Bereiche mit den übergebenen Bereichen aufgelöst werden können.
private  void checkRightVersions(List<ConfigAreaAndVersion> areas)
          Methode, die prüft, ob alle Versionen >= 0 sind.
private  Map<String,List<ConfigurationAreaDependency>> getAllDependencies(Collection<ConfigurationAreaDependency> areaDependencies)
           
private  Map<String,Short> getUsedAreasWithVersionMap(List<ConfigAreaAndVersion> areas)
          Erzeugt eine Map in der alle Bereiche gespeichert sind, die der Konfiguration zur Verfügung und die Version, in der der Bereich zur Verfügung steht.
 void printAndVerifyAreaDependencyCheckResult(AreaDependencyCheck.AreaDependencyCheckResult dependencyCheckResult)
          Gibt das Ergebnis einer Prüfung mittel Debug aus.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_debug

private static final Debug _debug
DebugLogger für Debug-Ausgaben

Constructor Detail

AreaDependencyChecker

public AreaDependencyChecker()
Method Detail

checkAreas

public AreaDependencyCheck.AreaDependencyCheckResult checkAreas(List<ConfigAreaAndVersion> areas)
Description copied from interface: AreaDependencyCheck
Die Methode prüft ob alle Abhängigkeiten der einzelnen Bereiche mit den übergebenen Bereichen aufgelöst werden können.

Specified by:
checkAreas in interface AreaDependencyCheck
Parameters:
areas - Bereiche mit entsprechenden Vesionen(>0). Alle Abhängigkeiten der Bereiche müssen mit den übergebenen Bereichen aufgelöst werden können.
Returns:
Objekt, dass das Ergebnis der Prüfung enthält.

check

private AreaDependencyCheck.AreaDependencyCheckResult check(List<ConfigAreaAndVersion> areas)
Prüft, ob für jeden der übergebenen Bereich die Abhängigkeiten zu anderen Bereichen erfüllt ist und gibt das Ergebnis der Prüfung zurück.

Parameters:
areas - Bereiche, die in den übergenen Versionen, zum Start der Konfiguration genutzt werden sollen
Returns:
Ergebnis der Prüfung ob alle Abhängigkeiten, wie gefordert, aufgelöst werden können.

getAllDependencies

private Map<String,List<ConfigurationAreaDependency>> getAllDependencies(Collection<ConfigurationAreaDependency> areaDependencies)
Parameters:
areaDependencies - Alle Abhängigkeiten des Bereichs.
Returns:
Als Schlüssel dient der Bereich, von dem ein anderer Bereich Abhängig ist. Als Wert wird die Abhängigkeit selbst zurückgegeben (beinhaltet den Bereich noch einmal). Die Liste ist sortiert. Die letzte Abhängigkeit, die entdeckt wurde, ist am Ende der Liste gespeichert.

getUsedAreasWithVersionMap

private Map<String,Short> getUsedAreasWithVersionMap(List<ConfigAreaAndVersion> areas)
Erzeugt eine Map in der alle Bereiche gespeichert sind, die der Konfiguration zur Verfügung und die Version, in der der Bereich zur Verfügung steht.

Als Schlüssel dient die Pid des Konfigurationsbereichs, als Wert wird die Version zurückgegeben.

Parameters:
areas - Alle Bereiche und deren Versionen, die der Konfiguration zur Verfügung stehen.
Returns:
s.o.

checkRightVersions

private void checkRightVersions(List<ConfigAreaAndVersion> areas)
Methode, die prüft, ob alle Versionen >= 0 sind.

Parameters:
areas - Bereiche mit Versionsnummern, die >= 0 sein müssen
Throws:
IllegalArgumentException - Wenn eine Version < 0 ist.

printAndVerifyAreaDependencyCheckResult

public void printAndVerifyAreaDependencyCheckResult(AreaDependencyCheck.AreaDependencyCheckResult dependencyCheckResult)
Gibt das Ergebnis einer Prüfung mittel Debug aus.

Fehlen Bereiche deren Abhängigkeit optionale ist, wird eine Warnung ausgegeben.

Wurden die Abhängigkeiten eines Bereichs noch nicht erfasst, so wird eine Warnung ausgegeben.

Fehlen Bereiche deren Abhängigkeit notwenig ist, wird ein Error ausgegeben.

Wird auch nur ein Error ausgegeben, wird nach Ausgabe aller Warnungen und Errors eine Exception geworfen.

Parameters:
dependencyCheckResult - Egebnis einer Prüfung
Throws:
IllegalStateException - Es wurden notwendige Abhängigkeiten zwischen Bereichen gefunden, die nicht aufgelöst werden konnten.