[FIX] Double and double inclution generate a double inclusion in Typescript generation
This commit is contained in:
parent
7185a34fda
commit
69f69a8113
@ -3,7 +3,7 @@ package org.kar.archidata.externalRestApi.model;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@ -18,7 +18,7 @@ public abstract class ClassModel {
|
||||
protected boolean analyzeDone = false;
|
||||
protected Class<?> originClasses = null;
|
||||
protected ApiGenerationMode apiGenerationMode = AnnotationCreator.createAnnotation(ApiGenerationMode.class);
|
||||
protected List<ClassModel> dependencyModels = new ArrayList<>();
|
||||
protected Set<ClassModel> dependencyModels = new HashSet<>();
|
||||
|
||||
public Class<?> getOriginClasses() {
|
||||
return this.originClasses;
|
||||
@ -32,7 +32,7 @@ public abstract class ClassModel {
|
||||
return this.originClasses == clazz;
|
||||
}
|
||||
|
||||
public List<ClassModel> getDependencyModels() {
|
||||
public Set<ClassModel> getDependencyModels() {
|
||||
return this.dependencyModels;
|
||||
}
|
||||
|
||||
|
@ -6,8 +6,10 @@ import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import org.kar.archidata.externalRestApi.model.ClassEnumModel;
|
||||
import org.kar.archidata.externalRestApi.model.ClassListModel;
|
||||
@ -176,11 +178,18 @@ public class TsClassElement {
|
||||
this.zodName + appendString);
|
||||
}
|
||||
|
||||
public String generateImports(final List<ClassModel> depModels, final TsClassElementGroup tsGroup)
|
||||
public String generateImports(final Set<ClassModel> depModels, final TsClassElementGroup tsGroup)
|
||||
throws IOException {
|
||||
final Set<TsClassElement> typeScriptModelAlreadyImported = new HashSet<>();
|
||||
|
||||
final StringBuilder out = new StringBuilder();
|
||||
for (final ClassModel depModel : depModels) {
|
||||
final TsClassElement tsModel = tsGroup.find(depModel);
|
||||
if (typeScriptModelAlreadyImported.contains(tsModel)) {
|
||||
LOGGER.trace("Model alredy imported for typescript");
|
||||
continue;
|
||||
}
|
||||
typeScriptModelAlreadyImported.add(tsModel);
|
||||
if (tsModel.nativeType != DefinedPosition.NATIVE) {
|
||||
out.append("import {");
|
||||
if (tsModel.nativeType != DefinedPosition.NORMAL
|
||||
|
Loading…
x
Reference in New Issue
Block a user