-
Spooky (missing) Exceptions (9) – Objekt wird vom (Eclipse) JPA Provider nicht in die Datenbank geschrieben
Umgebung Situation Ein Subobjekt einer Entität (OneToOne), das über cascade = CascadeType.ALL angebunden ist, wird bei merge nicht persistiert. Analyse In diesem Fall wurde das Objekt nicht im Oberobjekt instanziiert @OneToOne(cascade = CascadeType.ALL, mappedBy = “repairWarranty”, fetch = FetchType.EAGER) private StateChange stateChange = null; Wenn ein abhägiges Objekt erst in einer Livecycle Methode @PostPersist instanziiert […]
-
Spooky Exceptions (8) – Exception Description: Entity class [class … ] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass
Umgebung Situation Bei der Prüfung der persistence.xml beim Hochfahren des Servers wird folgende Exception geworfen: Internal Exception: Exception [EclipseLink-7161] (Eclipse Persistence Services – 2.6.4.v20160829-44060b6): org.eclipse.persistence.exceptions.ValidationException Exception Description: Entity class [class …] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these […]
-
Java Fat Clients – Java FX und Swing – Status
In diesem Blog nur ein kurzer Hinweis zu Fat Clients in Java. Oracle wird JavaFX laut Java Client Roadmap Update 2018 ab Java SE 11 nicht mehr mit ausliefern. Somit wird aus JavaFX ein losgelöstes Community Projekt. Man darf gespannt sein, wie sich das weiter auf die Nutzung auswirkt und ob die aktuelle „Gemeinde“ groß […]
-
Werkzeuge zur Erhaltung der Softwarearchitektur – weitere Tools – Teil 15
Weitere Tools In diesem Blog folgt zum Abschluss der Serie eine Auflistung von Werkzeugen / Frameworks, die ebenfalls einen Bezug zum Thema Architekturerhaltung haben. OWASP (Sicherheit) ZAProxy (Pen-Test) Lizenzkostenpflichtig
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Tools und Plugins – Teil 14
Tools und Plugins In diesem Posts fasse ich die verschiedenen Werkzeuge, die in den letzten Posts angesprochen wurden, zusammen. Sie bieten eine sehr gute Basis um auf Basis von OpenSource professionelle Prüfungen für die Architekturerhaltung durchzuführen. Es ergibt sich ein bunter Strauß an Werkzeugen mit einer noch größeren Anzahl an Plugins. Eine sinnvolle Nutzung macht […]
-
Werkzeuge zur Erhaltung der Softwarearchitektur – jQAssistant – Teil 13
jQAssistant In den bisherigen Posts haben ich euch Werkzeuge mit feste Prüfregeln vorgestellt. Mit den nun folgenden sehr interessanten Werkzeug wird die Codestruktur in einer Datenbank abgelegt und auf dieser über eine Abfragesprache Analysen definiert. Beispiel für solche ABfragen sind: jQAssistant Die Software jQAssistant übernimmt die Struktur des compilierten Codes in die Graphdatenbank Neo4j. In […]
-
Werkzeuge zur Erhaltung der Softwarearchitektur – SonarQube – Teil 12
SonarQube Bei SonarQube handelt es sich um ein Serverprodukt, das eine sehr gute Übersicht für den manuellen Prozess bietet. Auch wird der zeitliche Verlauf von Regelverletzungen in einer Datenbank gespeichert, so dass die Historie gut zu verfolgen ist. Sonar benötigt mindestens einen eigenen Server, der über Plugins erweitert wird und die Daten in einem DBMS […]
-
Werkzeuge zur Erhaltung der Softwarearchitektur – FindBugs – Teil 11
FindBugs Der dritte im Bunde der “magischen drei” ist FindBugs. FindBugs hat eine fantastische Fehlererkennung. Wir hatten intern bereits öfter Diskussionen zu den angezeigten Meldungen und mussten im Allgemeinen am Ende immer die Meldungen von FindBugs bestätigen. Im Gegensatz zu den anderen Tools analysiert FindBugs den Byte-Code. Besonderheiten Integration Ein (einfacher) SVN Pre-Commit Hook Einsatz […]
-
Werkzeuge zur Erhaltung der Softwarearchitektur – PMD / DRY – Teil 10
PMD Das Werkzeug PMD analysiert den Quellcode. Nach Angaben der Entwickler ist PMD kein Akronym. Besonders hervorzuheben sind folgende Analysepunkte Für den Bereich Kommentare und Dokumentation ist PMD nicht geeignet (vergl. Checkstyle). Integration False/Positive False/Positives können auf folgende Weisen markiert werden Regelerweiterung Es werden verschiedene Regelpakete / Module bereitgestellt. Des Weiteren sind eigene Erweiterungen möglich, […]
-
Werkzeuge zur Erhaltung der Softwarearchitektur – Checkstyle – Teil 9
Checkstyle In diesem und den kommenden Posts stelle ich die “magischen drei” im Bereich der statischen Code-Analyse vor. Ohne diese Werkzeuge mit geeigneten Regelwerken sollte keine Entwicklungsarbeit mehr erfolgen. Sie sind die Basis für die dauerhafte Einhaltung der Architekturvorgaben und ebenso die Basis für die Vermeidung technischer Schulden. Die einzelnen Werkzeuge kann man inhaltlich nicht […]