Seitenhistorie
...
Info | ||
---|---|---|
| ||
Sollen vorhandene Regeln überführt werden? Am schnellsten geht es, in dem die Regeln aus dem alten NUCLOS_HOME/data/codegenerator/src-rule Verzeichnis gesichert werden. Es ist denkbar, dass neben der Nuclos API weitere Drittbibliotheken in den Regeln Verwendung finden, oder eine bereits vorhandene Server-Extension. Hierfür müssen in der pom.xml entsprechende Dependencies nachgetragen werden. |
Verwendung der Regeln
Regeln aus einer Extension stehen zur Konfiguration ganz normal zur Verfügung. Können also einem BO, Job etc. zugewiesen werden.
Eine Besonderheit bildet die neue Checkbox Extension Regel im Regeleditor.
Regeln in der Datebank bzw. im Nuclet können neben dem eigentlichen Code auch einige weitere Eigenschaften aufweisen und zusätzlich berechtigt werden (CustomRestRule). Um einer Extension Regel diese Eigenschaften zuzuweisen oder sie zu berechtigen wird eine Dummy Regel ohne "Inhalt" aber mit dieser neuen Eigenschaft benötigt. Damit der Name der Klasse aus dem Code ermittelt werden kann ist lediglich ein valider Rumpf von Nöten.
Codeblock | ||||
---|---|---|---|---|
| ||||
package extension.example.rest;
public class CustomRestTestRuleExtension {} |
Regel Kompilierung
Hier kann die volle Bandbreite des Maven Frameworks eingesetzt werden.
...
Wie unter dem Punkt der Auslieferung bereits angedeutet sind bereits ein paar Unterschiede bekannt die hier beschrieben werden. Diese Liste darf gerne um weitere Erfahrungen erweitert werden
Setup | Problem |
---|---|
Extension im Nuclet; In einer Regel Klasse soll mittels AspectJ (@Configurable) ein Autowiring @Autowired durchgeführt werden. Ein Beispiel wäre diese Klasse im Integrationstest Nuclet Java8RuleExtension.java, mit einer @Configurable Annotation; Integrationstest RulesTest würde fehlschlagen. | Die @Component Klasse wird bei Ausführen der Regel nicht gefunden, da AspectJ mit dem Standard Application ClassLoader arbeitet . Es wird nicht der RuleClassLoader von Nuclos verwendet, bzw. dessen Context der das Objekt kennen würde. |
... |