hbci4java
hbci4java copied to clipboard
HBCIInstitute::extractKeys -- Vorarbeit gekapselt und ausgelagert
Im Zuge meiner Einarbeitung in den Code sind mir einige Dinge aufgefallen. Dieser Pullrequest konzentriert sich auf die Methode HBCIInstitute::extractKeys
.
Hier werden stets -- unabhängig vom keyType
-- aufwändig die Daten extrahiert, diese jedoch nur in zwei Fällen (Wert S
oder V
) weiterverarbeitet. Somit kann der gesamte Block in if (keyType.equals("S") || keyType.equals("V"))
gekapselt werden (vgl. Zeile 118 neu). Dies führt dazu, dass die Berechnungen seltener ausgeführt werden müssen.
Weiterhin unterscheidet sich der Ablauf ausschließlich im letzten Schritt, wo entschieden wird, ob setInstSigKey
oder setInstEncKey
verwendet werden soll. Alles davor ist lediglich die notwendige Arbeit, um das richtige Übergabeformat zu erzeugen. Sie kann somit in eine eigene Methode ausgelagert werden.
Als Ergebnis bildet die Schleife nun klar die Businesslogik ab:
- Wenn Typ = null, dann direkt zum nächsten Datensatz.
- Wenn Typ = S oder V, dann setze Werte.
- Wenn Typ = anderer Wert, dann nichts tun.