Quellcode durchsuchen

add support for cascade flag, helps avoid circularities

tags/2.0.1
Jonathan Cobb vor 4 Jahren
Ursprung
Commit
ea4b74c95d
2 geänderte Dateien mit 5 neuen und 1 gelöschten Zeilen
  1. +4
    -1
      wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityReferences.java
  2. +1
    -0
      wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/annotations/ECForeignKey.java

+ 4
- 1
wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityReferences.java Datei anzeigen

@@ -34,6 +34,9 @@ public class EntityReferences {
public static final Predicate<Field> FIELD_HAS_FK
= f -> f.getAnnotation(ECForeignKey.class) != null;

public static final Predicate<Field> FIELD_HAS_CASCADING_FK
= f -> f.getAnnotation(ECForeignKey.class) != null && f.getAnnotation(ECForeignKey.class).cascade();

public static final Predicate<Field> FIELD_HAS_INDEX
= f -> f.getAnnotation(ECIndex.class) != null;

@@ -69,7 +72,7 @@ public class EntityReferences {
final List<Class<? extends Identifiable>> refs = new ArrayList<>();
while (!clazz.getName().equals(Object.class.getName())) {
refs.addAll(Arrays.stream(clazz.getDeclaredFields())
.filter(EntityReferences.FIELD_HAS_FK)
.filter(EntityReferences.FIELD_HAS_CASCADING_FK)
.map(EntityReferences.FIELD_TO_FK_CLASS)
.collect(Collectors.toList()));
clazz = clazz.getSuperclass();


+ 1
- 0
wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/annotations/ECForeignKey.java Datei anzeigen

@@ -13,5 +13,6 @@ public @interface ECForeignKey {
Class<? extends Identifiable> entity();
String field() default "uuid";
boolean index() default true;
boolean cascade() default true;

}

Laden…
Abbrechen
Speichern