[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.io.IOException;
|
||||||
import java.lang.reflect.ParameterizedType;
|
import java.lang.reflect.ParameterizedType;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -18,7 +18,7 @@ public abstract class ClassModel {
|
|||||||
protected boolean analyzeDone = false;
|
protected boolean analyzeDone = false;
|
||||||
protected Class<?> originClasses = null;
|
protected Class<?> originClasses = null;
|
||||||
protected ApiGenerationMode apiGenerationMode = AnnotationCreator.createAnnotation(ApiGenerationMode.class);
|
protected ApiGenerationMode apiGenerationMode = AnnotationCreator.createAnnotation(ApiGenerationMode.class);
|
||||||
protected List<ClassModel> dependencyModels = new ArrayList<>();
|
protected Set<ClassModel> dependencyModels = new HashSet<>();
|
||||||
|
|
||||||
public Class<?> getOriginClasses() {
|
public Class<?> getOriginClasses() {
|
||||||
return this.originClasses;
|
return this.originClasses;
|
||||||
@ -32,7 +32,7 @@ public abstract class ClassModel {
|
|||||||
return this.originClasses == clazz;
|
return this.originClasses == clazz;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ClassModel> getDependencyModels() {
|
public Set<ClassModel> getDependencyModels() {
|
||||||
return this.dependencyModels;
|
return this.dependencyModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,8 +6,10 @@ import java.io.IOException;
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.kar.archidata.externalRestApi.model.ClassEnumModel;
|
import org.kar.archidata.externalRestApi.model.ClassEnumModel;
|
||||||
import org.kar.archidata.externalRestApi.model.ClassListModel;
|
import org.kar.archidata.externalRestApi.model.ClassListModel;
|
||||||
@ -176,11 +178,18 @@ public class TsClassElement {
|
|||||||
this.zodName + appendString);
|
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 {
|
throws IOException {
|
||||||
|
final Set<TsClassElement> typeScriptModelAlreadyImported = new HashSet<>();
|
||||||
|
|
||||||
final StringBuilder out = new StringBuilder();
|
final StringBuilder out = new StringBuilder();
|
||||||
for (final ClassModel depModel : depModels) {
|
for (final ClassModel depModel : depModels) {
|
||||||
final TsClassElement tsModel = tsGroup.find(depModel);
|
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) {
|
if (tsModel.nativeType != DefinedPosition.NATIVE) {
|
||||||
out.append("import {");
|
out.append("import {");
|
||||||
if (tsModel.nativeType != DefinedPosition.NORMAL
|
if (tsModel.nativeType != DefinedPosition.NORMAL
|
||||||
|
Loading…
x
Reference in New Issue
Block a user