Java Expressions durch MapStruct Qualifier ersetzen

MapStruct ist eine beliebte Bibliothek um Daten zwischen unterschiedlichen Datentypen zu konvertieren. Für POJO Konvertierungen wird im einfachsten Fall jedes Attribut auf ein gleichnamiges Attribut in der Ziel-Instanz gemapped. In Sonderfällen muss auf die Annotation @Mapping zurückgegriffen werden um eine spezielle Konvertierung zu erzwingen. Häufig werden die nachteiligen Java Expressions genutzt. Die bessere Alternative ist der Einsatz von Qualifiern.

Deutsche Ortsnetzkennzahlen validieren

In diesem Beitrag geht es um eine weitere Ergänzung im kleinen Zoo der Validatoren der Telephone Bibliothek. Bislang existierten Validatoren für die Länderkennzahl und die deutschen Mobilvorwahlen, es fehlte die Validierung der deutschen Ortsnetzkennzahlen. Die Validierung der deutschen Ortsnetzkennzahlen fehlte bislang in der Bibliothek, weil es insgesamt 5200 von ihnen gibt. Dis bisher existierende Validierung für Mobilvorwahlen kümmerte sich nur um 54 Vorwahlen, die mit Hilfe einer einfachen Platzhaltersyntax auf 10 Vergleichswerte reduziert wurden.

IBAN Validierung aus der Schweiz

Die bank-account-validator Bibliothek validiert bislang BIC und IBAN Angaben auf syntaktische Korrektheit. Bei deutschen und österreichischen BIC und IBAN werden die Angaben zusätzlich gegen nationale Bankenlisten geprüft. Eine Liste Schweizer Banken ist von der SIX erhältlich. Basierend auf dieser Liste ist eine erweiterte Validierung von BIC und IBAN für der gesamten DACH Region möglich.

Die Eisenhower-Methode

Wer sich schon einmal mit dem Thema Zeitmanagement beschäftigt hat, kennt vermutlich schon die Eisenhower-Methode. Sie ist eine populäre Technik, die sich auf die Priorisierung von Aufgaben konzentriert. Sie ist nach dem ehemaligen US-Präsidenten Dwight D. Eisenhower benannt, der für seine effiziente Arbeitsweise bekannt war. Wer eine einfache Methode sucht, sich auf die wirklich wichtigen Dinge zu konzentrieren, sollte an dieser Stelle einfach weiterlesen.

IBAN Validierung aus Österreich

Die bank-account-validator Bibliothek validiert bislang BIC und IBAN Angaben auf syntaktische Korrektheit. Bei deutschen BIC und IBAN werden die Angaben zusätzlich gegen eine Bankenliste der Deutschen Bundesbank geprüft. Damit wird zwar nicht die Existenz der Bankverbindung bewiesen, aber die Korrektheit der Bankangaben innerhalb des BIC und der IBAN.

Erfreulicherweise bietet die Österreichische Nationalbank eine Liste von Banken in Österreich an. Damit kann auch die Validierung von österreichischen Bankangaben verbessert werden. Bislang wird der EASYATW1 als valider österreichische BIC akzeptiert. Dies soll nun verhindert werden.

Aktualisierte Bankdaten der Deutschen Bundesbank

Seit dem 4. September liegt bei der Deutschen Bundesbank eine neue BLZ.txt bereit. Damit wurde es jetzt auch Zeit die Bank Account Validator Bibliothek zu aktualisieren.

Agiles Entscheiden

Beginnt man sich mit einer agilen Methode wie Scrum zu beschäftigen, dann lernt man relativ schnell, dass viele Dinge vom Team entschieden werden. Das hört sich im ersten Moment für die Team Mitglieder sehr gut an, bedeutet aber auch, sich einmal mit dem Thema Entscheiden zu beschäftigen.

Von Buddies und Agenten – dynamische Codegenerierung in Java

Java Bibliotheken

Manchmal reichen die üblichen Möglichkeiten der Programmiersprache nicht aus und die exotischeren Ansätze müssen zum Einsatz kommen. Angefangen bei ClassLoader, Reflections, ServiceLoader, über AnnotationProcessor und JavaAgents bis hin zum Modifizieren des Bytecodes.

Sneaky Throws – Exceptions aus dem Hinterhalt

Die Einführung der Generics in Java 8 hat zur einigen eigentümlichen Konsequenzen geführt. Die meisten dieser Konsequenzen fußen auf dem Konzept der Type Erasure. Die Generics sind nur Bestandteil der Java Sprache und werden demzufolge nur vom Java Compiler beachtet. Der compilierte Code kennt, salopp gesprochen, keine generische Typen sondern operiert auf dem vermuteten Basistypen der Generics.

Microservice Anti-Pattern

Nach einigen Beiträgen zu Microservices soll in diesem Beitrag ein wenig über die Schattenseiten der Technologie berichtet werden. Insbesondere über Bad-Smells und Anti-Pattern, den falschen Lösungsansätzen, bei der Entwicklung eigener Microservices.