diff --git a/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeManager.java b/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeManager.java
index 52686e3f1..d5925e6d0 100644
--- a/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeManager.java
+++ b/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeManager.java
@@ -254,16 +254,12 @@ final class EntityImExporterTreeManager {
//Check if the nodes list has an entry for the required module.
if (!nodes.containsKey(requiredClass.getName())) {
-
LOGGER.fatal("Required EntityImExporter for \"{}\" no found.",
requiredClass.getName());
throw new DependencyException(String.format(
"EntityImExporter for type \"%s\" depends on type \"%s\" "
+ "but no EntityImExporter for type \"%s\" is available.",
- node
- .getEntityImExporter()
- .getClass()
- .getAnnotation(Processes.class).value().getName(),
+ node.getEntityImExporter().getEntityClass(),
requiredClass.getName(),
requiredClass.getName()));
}
diff --git a/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeNode.java b/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeNode.java
index 012c57ad2..57055530f 100644
--- a/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeNode.java
+++ b/ccm-core/src/main/java/org/libreccm/imexport/EntityImExporterTreeNode.java
@@ -22,92 +22,94 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* A node in the dependency tree managed by {@link EntityImExporterTreeManager}.
- *
+ *
* @author Jens Pelzetter
*/
final class EntityImExporterTreeNode {
-
+
private AbstractEntityImExporter> entityImExporter;
-
+
private List dependentImExporters;
-
+
private List dependsOn;
-
+
public EntityImExporterTreeNode() {
-
+
super();
-
+
dependentImExporters = new ArrayList<>();
dependsOn = new ArrayList<>();
}
-
+
public EntityImExporterTreeNode(
final AbstractEntityImExporter> entityImExporter) {
-
+
this();
this.entityImExporter = entityImExporter;
}
-
+
public AbstractEntityImExporter> getEntityImExporter() {
-
+
return entityImExporter;
}
-
+
void setEntityImExporter(
final AbstractEntityImExporter> entityImExporter) {
-
+
this.entityImExporter = entityImExporter;
}
-
+
public List getDependentImExporters() {
return Collections.unmodifiableList(dependentImExporters);
}
-
+
void setDependentImExporters(
final List dependentImExporters) {
-
+
this.dependentImExporters = new ArrayList<>(dependentImExporters);
}
-
+
void addDependentImExporter(final EntityImExporterTreeNode node) {
-
+
dependentImExporters.add(node);
}
-
+
void removeDependentImExporter(final EntityImExporterTreeNode node) {
-
+
dependentImExporters.remove(node);
}
-
+
public List getDependsOn() {
-
+
return Collections.unmodifiableList(dependsOn);
}
-
+
void setDependsOn(final List dependsOn) {
-
+
this.dependsOn = new ArrayList<>(dependsOn);
}
-
+
void addDependsOn(final EntityImExporterTreeNode node) {
-
+
dependsOn.add(node);
}
-
+
void removeDependsOn(final EntityImExporterTreeNode node) {
-
+
dependsOn.remove(node);
}
@Override
public int hashCode() {
int hash = 7;
- hash = 47
- * hash
- + Objects.hashCode(this.entityImExporter.getClass().getName());
+ hash = 47
+ * hash
+ + Objects
+ .hashCode(this.entityImExporter.getClass().getName());
return hash;
}
@@ -127,7 +129,30 @@ final class EntityImExporterTreeNode {
this.entityImExporter.getClass().getName(),
other.getEntityImExporter().getClass().getName());
}
-
-
-
+
+ @Override
+ public String toString() {
+ return String.format(
+ "%s{ "
+ + "entityImExporter: %s, "
+ + "dependentImExporters: [%s], "
+ + "dependsOn: [%s]"
+ + " }",
+ super.toString(),
+ entityImExporter.getEntityClass().toString(),
+ dependentImExporters
+ .stream()
+ .map(EntityImExporterTreeNode::getEntityImExporter)
+ .map(AbstractEntityImExporter::getEntityClass)
+ .map(Class::getName)
+ .collect(Collectors.joining(", ")),
+ dependsOn
+ .stream()
+ .map(EntityImExporterTreeNode::getEntityImExporter)
+ .map(AbstractEntityImExporter::getEntityClass)
+ .map(Class::getName)
+ .collect(Collectors.joining(", "))
+ );
+ }
+
}