From c363b8cd439e3d62c706eec909ba76d4cc5bb01e Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Thu, 3 Dec 2020 20:27:16 +0100 Subject: [PATCH] Some bugfixes --- .../imexport/EntityImExporterTreeManager.java | 6 +- .../imexport/EntityImExporterTreeNode.java | 93 ++++++++++++------- 2 files changed, 60 insertions(+), 39 deletions(-) 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(", ")) + ); + } + }