Dieses Plugin enthält Architekturregeln und Programmierkonventionen der IsyFact in Form von Regeln für jQAssistant.
Um den Regelsatz zu verwenden wird in der Anwendung ein zusätzliches Maven-Plugin eingerichtet:
<plugin>
<groupId>com.buschmais.jqassistant</groupId>
<artifactId>jqassistant-maven-plugin</artifactId>
<version>1.8.0</version>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>scan</goal>
<goal>analyze</goal>
</goals>
<configuration>
<ruleParameters>
<rootPackage>ROOT-PACKAGE-DER-ANWENDUNG</rootPackage>
<patternNameGeschaeftsobjekt>.*Daten</patternNameGeschaeftsobjekt>
<patternNameBatchklassen>.*Batch</patternNameBatchklassen>
</ruleParameters>
<groups>
<group>
isyfact:Verbindlich
</group>
<group>
isyfact:Empfohlen
</group>
</groups>
<scanProperties>
<xml.file.include>
/resources/spring/*
</xml.file.include>
</scanProperties>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>de.bund.bva.isyfact</groupId>
<artifactId>isyfact-jqassistant-plugin</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
</plugin>
Vor der Verwendung müssen folgende Parameter konfiguriert werden:
-
rootPackage
: Das Wurzelpackage der Anwendung. -
patternNameGeschaeftsobjekt
: Regulärer Ausdruck für die Namen von Geschäftsobjekten. -
patternNameBatchklassen
: Regulörer Ausdruck für die Namen von Batchklassen.
Im Abschnitt groups
können Untermengen der Regeln ausgewählt werden.
Folgende Gruppen sind verfügbar:
isyfact:Verbindlich | isyfact:Empfohlen | ||
---|---|---|---|
isyfact:batch:Verbindlich |
AusfuehrungsBeanDarfKeineTransaktionStarten |
isyfact:batch:Empfohlen |
NamenskonventionBatchklassen |
isyfact:core:Verbindlich |
BeanNichtPerNameAuslesen |
isyfact:core:Empfohlen |
NamenskonventionGeschaeftsobjekt |
isyfact:datetime:Verbindlich |
AufrufVonNowOderCurrentTimeMillis |
||
isyfact:fehlerbehandlung:Empfohlen |
ExceptionsErbenVonPlisException, ServiceExceptionErbtVonPlisToException |
||
isyfact:gui:Empfohlen |
ModelBeanSerializable, ModelBeanVerwendetAwkTypen, ModelBeanNameEnthaeltKomponente, ControllerBeanNameEnthaeltKomponente, ControllerBeanErbtVonAbstractGuiController |
||
isyfact:konfiguration:Verbindlich |
BenutzeKeineInternenKlassen |
isyfact:konfiguration:Empfohlen |
SpeichereKeineKonfigurationsParameter |
isyfact:layer:Verbindlich |
ZugriffAufCoreLayerUeberInterface, UndefinedDependencies, |
isyfact:logging:Verbindlich |
IsyLoggerMussVerwendetWerden, IsyLoggerMussStatischInitialisiertWerden, IsyLoggerMustBeDeclaredAsConstant |
isyfact:package :Verbindlich |
AlleJavaKlassenMuessenImWurzelPackageLiegen, WurzelPackageUndMavenKoordinatenStimmenUeberein |
||
isyfact:persistence:Empfohlen |
EntitiesLiegenInPackageEntity, EntitiesVerwendenKeineCompositeKeys, DaoImplPackage, DaoVonAbstractDaoAbgeleitet, DaoImplementiertDaoInterface´, KeineBulkQueries, GenerationTypeAuto, KeinePlisDataSource |
isyfact:service:Verbindlich |
ExceptionAnServiceSchnitstelle, ServiceSchnitstelleMitLoggingKontext, ServiceMethodenEnthaltenAufrufKontext |
Für die Regel KeinePlisDataSource
müssen die XML-Konfigurationsdateien von Spring gescannt werden.
Hierzu ist der Pfad zu den XML-Dateien einzutragen.
<scanProperties>
<xml.file.include>
/resources/spring/*
</xml.file.include>
</scanProperties>