From 2d5ff1ec07f5cd65f243f07377515cc3bba50693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Habarta?= Date: Thu, 29 Sep 2022 21:43:57 +0200 Subject: [PATCH] Remove deprecations --- .../typescript/generator/Extension.java | 8 +- .../generator/GenericsTypeProcessor.java | 18 ----- .../habarta/typescript/generator/Input.java | 29 ------- .../typescript/generator/Settings.java | 43 ----------- .../generator/TypeScriptGenerator.java | 15 +--- .../generator/compiler/ModelTransformer.java | 8 +- .../typescript/generator/emitter/Emitter.java | 7 +- .../generator/ext/ClassEnumExtension.java | 7 +- .../generator/ext/EnumConstantsExtension.java | 40 ---------- .../ext/JsonDeserializationExtension.java | 10 +-- .../generator/ext/NonConstEnumsExtension.java | 41 ---------- ...ssiblePropertyValueAssigningExtension.java | 4 +- .../ext/PropertyPolymorphismExtension.java | 13 ++-- .../RequiredPropertyConstructorExtension.java | 7 +- .../typescript/generator/DecoratorsTest.java | 9 +-- .../generator/EnumConstantsExtensionTest.java | 77 ------------------- .../typescript/generator/ExtensionTest.java | 6 -- .../generator/StyleConfigurationTest.java | 25 ------ .../generator/gradle/GenerateTask.java | 13 ---- .../generator/maven/GenerateMojo.java | 49 ------------ 20 files changed, 36 insertions(+), 393 deletions(-) delete mode 100644 typescript-generator-core/src/main/java/cz/habarta/typescript/generator/GenericsTypeProcessor.java delete mode 100644 typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/EnumConstantsExtension.java delete mode 100644 typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/NonConstEnumsExtension.java delete mode 100644 typescript-generator-core/src/test/java/cz/habarta/typescript/generator/EnumConstantsExtensionTest.java diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Extension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Extension.java index 5250470d1..1adc9fdad 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Extension.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Extension.java @@ -25,12 +25,18 @@ public static class TransformerDefinition { public final TsModelTransformer tsTransformer; public TransformerDefinition(ModelCompiler.TransformationPhase phase, ModelTransformer transformer) { + if (phase != ModelCompiler.TransformationPhase.BeforeTsModel) { + throw new IllegalArgumentException("ModelTransformer can only be applied in phase 'BeforeTsModel'"); + } this.phase = phase; this.transformer = transformer; - this.tsTransformer = (context, model) -> transformer.transformModel(context.getSymbolTable(), model); + this.tsTransformer = null; } public TransformerDefinition(ModelCompiler.TransformationPhase phase, TsModelTransformer transformer) { + if (phase == ModelCompiler.TransformationPhase.BeforeTsModel) { + throw new IllegalArgumentException("TsModelTransformer cannot be applied in phase 'BeforeTsModel'"); + } this.phase = phase; this.transformer = null; this.tsTransformer = transformer; diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/GenericsTypeProcessor.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/GenericsTypeProcessor.java deleted file mode 100644 index 7caea7689..000000000 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/GenericsTypeProcessor.java +++ /dev/null @@ -1,18 +0,0 @@ - -package cz.habarta.typescript.generator; - -import java.lang.reflect.Type; - - -/** - * @deprecated now the functionality is part of the core - */ -@Deprecated() -public class GenericsTypeProcessor implements TypeProcessor { - - @Override - public TypeProcessor.Result processType(Type javaType, TypeProcessor.Context context) { - return null; - } - -} diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Input.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Input.java index 255855efb..847c065fa 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Input.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Input.java @@ -39,35 +39,6 @@ public static Input from(Type... types) { return new Input(sourceTypes); } - @Deprecated - public static Input fromClassNamesAndJaxrsApplication(List classNames, List classNamePatterns, String jaxrsApplicationClassName, - boolean automaticJaxrsApplication, Predicate isClassNameExcluded, URLClassLoader classLoader, boolean debug) { - return fromClassNamesAndJaxrsApplication(classNames, classNamePatterns, null, null, null, - jaxrsApplicationClassName, automaticJaxrsApplication, isClassNameExcluded, classLoader, - debug); - } - - @Deprecated - public static Input fromClassNamesAndJaxrsApplication(List classNames, - List classNamePatterns, List classesWithAnnotations, - List classesImplementingInterfaces, List classesExtendingClasses, - String jaxrsApplicationClassName, - boolean automaticJaxrsApplication, Predicate isClassNameExcluded, - URLClassLoader classLoader, boolean debug) { - final Parameters parameters = new Parameters(); - parameters.classNames = classNames; - parameters.classNamePatterns = classNamePatterns; - parameters.classesWithAnnotations = classesWithAnnotations; - parameters.classesImplementingInterfaces = classesImplementingInterfaces; - parameters.classesExtendingClasses = classesExtendingClasses; - parameters.jaxrsApplicationClassName = jaxrsApplicationClassName; - parameters.automaticJaxrsApplication = automaticJaxrsApplication; - parameters.isClassNameExcluded = isClassNameExcluded; - parameters.classLoader = classLoader; - parameters.debug = debug; - return from(parameters); - } - public static class Parameters { public List classNames; public List classNamePatterns; diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Settings.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Settings.java index 1fc37d5a2..d81882827 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Settings.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Settings.java @@ -62,7 +62,6 @@ public class Settings { public List additionalDataLibraries = new ArrayList<>(); private LoadedDataLibraries loadedDataLibrariesClasses = null; private Predicate excludeFilter = null; - @Deprecated public boolean declarePropertiesAsOptional = false; public OptionalProperties optionalProperties; // default is OptionalProperties.useSpecifiedAnnotations public OptionalPropertiesDeclaration optionalPropertiesDeclaration; // default is OptionalPropertiesDeclaration.questionMark public NullabilityDefinition nullabilityDefinition; // default is NullabilityDefinition.nullInlineUnion @@ -100,9 +99,6 @@ public class Settings { public boolean generateSpringApplicationInterface = false; public boolean generateSpringApplicationClient = false; public boolean scanSpringApplication; - @Deprecated public RestNamespacing jaxrsNamespacing; - @Deprecated public Class jaxrsNamespacingAnnotation = null; - @Deprecated public String jaxrsNamespacingAnnotationElement; // default is "value" public RestNamespacing restNamespacing; public Class restNamespacingAnnotation = null; public String restNamespacingAnnotationElement; // default is "value" @@ -135,9 +131,6 @@ public class Settings { public String typescriptVersion = "^2.4"; public String npmTypescriptVersion = null; public String npmBuildScript = null; - @Deprecated public boolean displaySerializerWarning; - @Deprecated public boolean debug; - @Deprecated public boolean disableJackson2ModuleDiscovery = false; public boolean jackson2ModuleDiscovery = false; public List> jackson2Modules = new ArrayList<>(); public ClassLoader classLoader = null; @@ -415,18 +408,6 @@ public void validate() { if (generateSpringApplicationClient && outputFileType != TypeScriptFileType.implementationFile) { throw new RuntimeException("'generateSpringApplicationClient' can only be used when generating implementation file ('outputFileType' parameter is 'implementationFile')."); } - if (jaxrsNamespacing != null) { - TypeScriptGenerator.getLogger().warning("Parameter 'jaxrsNamespacing' is deprecated. Use 'restNamespacing' parameter."); - if (restNamespacing == null) { - restNamespacing = jaxrsNamespacing; - } - } - if (jaxrsNamespacingAnnotation != null) { - TypeScriptGenerator.getLogger().warning("Parameter 'jaxrsNamespacingAnnotation' is deprecated. Use 'restNamespacingAnnotation' parameter."); - if (restNamespacingAnnotation == null) { - restNamespacingAnnotation = jaxrsNamespacingAnnotation; - } - } if (restNamespacing != null && !isGenerateRest()) { throw new RuntimeException("'restNamespacing' parameter can only be used when generating REST client or interface."); } @@ -472,21 +453,6 @@ public void validate() { } getModuleDependencies(); getLoadedDataLibraries(); - if (declarePropertiesAsOptional) { - TypeScriptGenerator.getLogger().warning("Parameter 'declarePropertiesAsOptional' is deprecated. Use 'optionalProperties' parameter."); - if (optionalProperties == null) { - optionalProperties = OptionalProperties.all; - } - } - if (disableJackson2ModuleDiscovery) { - TypeScriptGenerator.getLogger().warning("Parameter 'disableJackson2ModuleDiscovery' was removed. See 'jackson2ModuleDiscovery' and 'jackson2Modules' parameters."); - } - if (displaySerializerWarning) { - TypeScriptGenerator.getLogger().warning("Parameter 'displaySerializerWarning' was removed."); - } - if (debug) { - TypeScriptGenerator.getLogger().warning("Parameter 'debug' was removed. Please set 'loggingLevel' parameter to 'Debug'."); - } } public NullabilityDefinition getNullabilityDefinition() { @@ -720,15 +686,6 @@ public boolean test(String className) { return mapClassesAsClassesFilter; } - @Deprecated - public void setJaxrsNamespacingAnnotation(ClassLoader classLoader, String jaxrsNamespacingAnnotation) { - final Pair, String> pair = resolveRestNamespacingAnnotation(classLoader, jaxrsNamespacingAnnotation); - if (pair != null) { - this.jaxrsNamespacingAnnotation = pair.getValue1(); - this.jaxrsNamespacingAnnotationElement = pair.getValue2(); - } - } - public void setRestNamespacingAnnotation(ClassLoader classLoader, String restNamespacingAnnotation) { final Pair, String> pair = resolveRestNamespacingAnnotation(classLoader, restNamespacingAnnotation); if (pair != null) { diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/TypeScriptGenerator.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/TypeScriptGenerator.java index 11ac0a3f0..cfae47f50 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/TypeScriptGenerator.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/TypeScriptGenerator.java @@ -70,24 +70,15 @@ public String generateTypeScript(Input input) { } public void generateTypeScript(Input input, Output output) { - generateTypeScript(input, output, false, 0); - } - - @Deprecated - public void generateEmbeddableTypeScript(Input input, Output output, boolean addExportKeyword, int initialIndentationLevel) { - generateTypeScript(input, output, addExportKeyword, initialIndentationLevel); - } - - private void generateTypeScript(Input input, Output output, boolean forceExportKeyword, int initialIndentationLevel) { final Model model = getModelParser().parseModel(input.getSourceTypes()); final TsModel tsModel = getModelCompiler().javaToTypeScript(model); - generateTypeScript(tsModel, output, forceExportKeyword, initialIndentationLevel); + generateTypeScript(tsModel, output); generateInfoJson(tsModel, output); generateNpmPackageJson(output); } - private void generateTypeScript(TsModel tsModel, Output output, boolean forceExportKeyword, int initialIndentationLevel) { - getEmitter().emit(tsModel, output.getWriter(), output.getName(), output.shouldCloseWriter(), forceExportKeyword, initialIndentationLevel); + private void generateTypeScript(TsModel tsModel, Output output) { + getEmitter().emit(tsModel, output.getWriter(), output.getName(), output.shouldCloseWriter()); } private void generateInfoJson(TsModel tsModel, Output output) { diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelTransformer.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelTransformer.java index 1f2be4107..81698cd01 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelTransformer.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelTransformer.java @@ -1,17 +1,11 @@ package cz.habarta.typescript.generator.compiler; -import cz.habarta.typescript.generator.emitter.TsModel; import cz.habarta.typescript.generator.parser.Model; public interface ModelTransformer { - @Deprecated - public TsModel transformModel(SymbolTable symbolTable, TsModel model); - - default Model transformModel(SymbolTable symbolTable, Model model) { - return model; - } + public Model transformModel(SymbolTable symbolTable, Model model); } diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/emitter/Emitter.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/emitter/Emitter.java index 20aee4ad8..3d2760fdb 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/emitter/Emitter.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/emitter/Emitter.java @@ -24,17 +24,15 @@ public class Emitter implements EmitterExtension.Writer { private final Settings settings; private Writer writer; - private boolean forceExportKeyword; private int indent; public Emitter(Settings settings) { this.settings = settings; } - public void emit(TsModel model, Writer output, String outputName, boolean closeOutput, boolean forceExportKeyword, int initialIndentationLevel) { + public void emit(TsModel model, Writer output, String outputName, boolean closeOutput) { this.writer = output; - this.forceExportKeyword = forceExportKeyword; - this.indent = initialIndentationLevel; + this.indent = 0; if (outputName != null) { TypeScriptGenerator.getLogger().info("Writing declarations to: " + outputName); } @@ -129,7 +127,6 @@ private void emitNamespace(TsModel model) { } private void emitElements(TsModel model, boolean exportKeyword, boolean declareKeyword) { - exportKeyword = exportKeyword || forceExportKeyword; emitBeans(model, exportKeyword, declareKeyword); emitTypeAliases(model, exportKeyword, declareKeyword); emitLiteralEnums(model, exportKeyword, declareKeyword); diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/ClassEnumExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/ClassEnumExtension.java index 2b76a1584..89ef4cbec 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/ClassEnumExtension.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/ClassEnumExtension.java @@ -5,8 +5,7 @@ import cz.habarta.typescript.generator.compiler.EnumKind; import cz.habarta.typescript.generator.compiler.EnumMemberModel; import cz.habarta.typescript.generator.compiler.ModelCompiler; -import cz.habarta.typescript.generator.compiler.ModelTransformer; -import cz.habarta.typescript.generator.compiler.SymbolTable; +import cz.habarta.typescript.generator.compiler.TsModelTransformer; import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; import cz.habarta.typescript.generator.emitter.TsBeanModel; import cz.habarta.typescript.generator.emitter.TsEnumModel; @@ -38,9 +37,9 @@ public void setConfiguration(Map configuration) throws RuntimeEx @Override public List getTransformers() { - return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeEnums, new ModelTransformer() { + return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeEnums, new TsModelTransformer() { @Override - public TsModel transformModel(SymbolTable symbolTable, TsModel model) { + public TsModel transformModel(Context context, TsModel model) { List beans = model.getBeans(); List classEnums = new ArrayList<>(); for (TsBeanModel bean : beans) { diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/EnumConstantsExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/EnumConstantsExtension.java deleted file mode 100644 index bb9284fcf..000000000 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/EnumConstantsExtension.java +++ /dev/null @@ -1,40 +0,0 @@ - -package cz.habarta.typescript.generator.ext; - -import cz.habarta.typescript.generator.DeprecationText; -import cz.habarta.typescript.generator.Settings; -import cz.habarta.typescript.generator.compiler.EnumMemberModel; -import cz.habarta.typescript.generator.emitter.EmitterExtension; -import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; -import cz.habarta.typescript.generator.emitter.TsEnumModel; -import cz.habarta.typescript.generator.emitter.TsModel; -import java.util.Collections; -import java.util.List; - - -@DeprecationText("Consider using configuration parameter 'mapEnum' with value 'asEnum'") -public class EnumConstantsExtension extends EmitterExtension { - - @Override - public EmitterExtensionFeatures getFeatures() { - final EmitterExtensionFeatures features = new EmitterExtensionFeatures(); - features.generatesRuntimeCode = true; - return features; - } - - @Override - public void emitElements(Writer writer, Settings settings, boolean exportKeyword, TsModel model) { - String exportString = exportKeyword ? "export " : ""; - List enums = model.getOriginalStringEnums(); - Collections.sort(enums); - for (TsEnumModel tsEnum : enums) { - writer.writeIndentedLine(""); - writer.writeIndentedLine(exportString + "const " + tsEnum.getName().getSimpleName() + " = {"); - for (EnumMemberModel member : tsEnum.getMembers()) { - writer.writeIndentedLine(settings.indentString + member.getPropertyName() + ": " + "<" + tsEnum.getName().getSimpleName() + ">\"" + member.getEnumValue() + "\","); - } - writer.writeIndentedLine("}"); - } - } - -} diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/JsonDeserializationExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/JsonDeserializationExtension.java index 11785798b..c15743b94 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/JsonDeserializationExtension.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/JsonDeserializationExtension.java @@ -5,9 +5,9 @@ import cz.habarta.typescript.generator.TsParameter; import cz.habarta.typescript.generator.TsType; import cz.habarta.typescript.generator.compiler.ModelCompiler; -import cz.habarta.typescript.generator.compiler.ModelTransformer; import cz.habarta.typescript.generator.compiler.Symbol; import cz.habarta.typescript.generator.compiler.SymbolTable; +import cz.habarta.typescript.generator.compiler.TsModelTransformer; import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; import cz.habarta.typescript.generator.emitter.TsArrowFunction; import cz.habarta.typescript.generator.emitter.TsAssignmentExpression; @@ -79,12 +79,12 @@ public void setConfiguration(Map configuration) throws RuntimeEx @Override public List getTransformers() { - return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeSymbolResolution, new ModelTransformer() { + return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeSymbolResolution, new TsModelTransformer() { @Override - public TsModel transformModel(SymbolTable symbolTable, TsModel model) { - model = createDeserializationMethods(symbolTable, model); + public TsModel transformModel(Context context, TsModel model) { + model = createDeserializationMethods(context.getSymbolTable(), model); if (useJsonDeserializationInJaxrsApplicationClient) { - model = useDeserializationMethodsInJaxrs(symbolTable, model); + model = useDeserializationMethodsInJaxrs(context.getSymbolTable(), model); } return model; } diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/NonConstEnumsExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/NonConstEnumsExtension.java deleted file mode 100644 index e2c58ea85..000000000 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/NonConstEnumsExtension.java +++ /dev/null @@ -1,41 +0,0 @@ - -package cz.habarta.typescript.generator.ext; - -import cz.habarta.typescript.generator.DeprecationText; -import cz.habarta.typescript.generator.Settings; -import cz.habarta.typescript.generator.compiler.EnumMemberModel; -import cz.habarta.typescript.generator.emitter.EmitterExtension; -import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; -import cz.habarta.typescript.generator.emitter.TsEnumModel; -import cz.habarta.typescript.generator.emitter.TsModel; -import java.util.Collections; -import java.util.List; - - -@DeprecationText("Consider using parameter 'mapEnum' with value 'asEnum' and parameter 'nonConstEnums' with 'true'") -public class NonConstEnumsExtension extends EmitterExtension { - - @Override - public EmitterExtensionFeatures getFeatures() { - final EmitterExtensionFeatures features = new EmitterExtensionFeatures(); - features.generatesRuntimeCode = true; - features.overridesStringEnums = true; - return features; - } - - @Override - public void emitElements(Writer writer, Settings settings, boolean exportKeyword, TsModel model) { - String exportString = exportKeyword ? "export " : ""; - List enums = model.getOriginalStringEnums(); - Collections.sort(enums); - for (TsEnumModel tsEnum : enums) { - writer.writeIndentedLine(""); - writer.writeIndentedLine(exportString + "enum " + tsEnum.getName().getSimpleName() + " {"); - for (EnumMemberModel member : tsEnum.getMembers()) { - writer.writeIndentedLine(settings.indentString + member.getPropertyName() + ","); - } - writer.writeIndentedLine("}"); - } - } - -} diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/OnePossiblePropertyValueAssigningExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/OnePossiblePropertyValueAssigningExtension.java index 32a3d92d0..a53048687 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/OnePossiblePropertyValueAssigningExtension.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/OnePossiblePropertyValueAssigningExtension.java @@ -5,7 +5,7 @@ import cz.habarta.typescript.generator.compiler.EnumMemberModel; import cz.habarta.typescript.generator.compiler.ModelCompiler; import cz.habarta.typescript.generator.compiler.Symbol; -import cz.habarta.typescript.generator.compiler.SymbolTable; +import cz.habarta.typescript.generator.compiler.TsModelTransformer.Context; import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; import cz.habarta.typescript.generator.emitter.TsAssignmentExpression; import cz.habarta.typescript.generator.emitter.TsBeanModel; @@ -55,7 +55,7 @@ public List getTransformers() { ); } - private static TsModel transformModel(SymbolTable symbolTable, TsModel model) { + private static TsModel transformModel(Context context, TsModel model) { List beans = model.getBeans().stream() .map(bean -> transformBean(bean, model)) .collect(Collectors.toList()); diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/PropertyPolymorphismExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/PropertyPolymorphismExtension.java index 66b038f69..a866d25fb 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/PropertyPolymorphismExtension.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/PropertyPolymorphismExtension.java @@ -4,9 +4,8 @@ import cz.habarta.typescript.generator.TsType; import cz.habarta.typescript.generator.TsType.ReferenceType; import cz.habarta.typescript.generator.compiler.ModelCompiler.TransformationPhase; -import cz.habarta.typescript.generator.compiler.ModelTransformer; import cz.habarta.typescript.generator.compiler.Symbol; -import cz.habarta.typescript.generator.compiler.SymbolTable; +import cz.habarta.typescript.generator.compiler.TsModelTransformer; import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; import cz.habarta.typescript.generator.emitter.TsBeanCategory; import cz.habarta.typescript.generator.emitter.TsBeanModel; @@ -177,9 +176,9 @@ private String defaultPropertyName(Class subType) { @Override public List getTransformers() { return Arrays - .asList(new TransformerDefinition(TransformationPhase.BeforeSymbolResolution, new ModelTransformer() { + .asList(new TransformerDefinition(TransformationPhase.BeforeSymbolResolution, new TsModelTransformer() { @Override - public TsModel transformModel(SymbolTable symbolTable, TsModel model) { + public TsModel transformModel(Context context, TsModel model) { List newBeans = new ArrayList<>(); for (TsBeanModel bean : model.getBeans()) { @@ -190,7 +189,7 @@ public TsModel transformModel(SymbolTable symbolTable, TsModel model) { ReferenceType type = (ReferenceType) property.tsType; TsBeanModel referencedBean = model.getBean(type.symbol); if (isPolymorphicBase.test(referencedBean.getOrigin())) { - Symbol refSymbol = symbolTable.addSuffixToSymbol(type.symbol, "Ref"); + Symbol refSymbol = context.getSymbolTable().addSuffixToSymbol(type.symbol, "Ref"); newProperties.add(property.withTsType(new TsType.ReferenceType(refSymbol))); continue; } @@ -223,10 +222,10 @@ public TsModel transformModel(SymbolTable symbolTable, TsModel model) { for (Class subType : subTypes.getOrDefault(base.getOrigin(), Collections.emptySet())) { refProperties.add(new TsPropertyModel(getPropertyName.apply(subType), - new ReferenceType(symbolTable.getSymbol(subType)), null, true, null)); + new ReferenceType(context.getSymbolTable().getSymbol(subType)), null, true, null)); } newBeans.add(new TsBeanModel(base.getOrigin(), TsBeanCategory.Data, false, - symbolTable.addSuffixToSymbol(base.getName(), "Ref"), null, null, null, null, + context.getSymbolTable().addSuffixToSymbol(base.getName(), "Ref"), null, null, null, null, refProperties, null, null, null)); } } diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/RequiredPropertyConstructorExtension.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/RequiredPropertyConstructorExtension.java index eceb6f65b..93f036788 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/RequiredPropertyConstructorExtension.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/RequiredPropertyConstructorExtension.java @@ -4,9 +4,8 @@ import cz.habarta.typescript.generator.TsType; import cz.habarta.typescript.generator.compiler.EnumMemberModel; import cz.habarta.typescript.generator.compiler.ModelCompiler; -import cz.habarta.typescript.generator.compiler.ModelTransformer; import cz.habarta.typescript.generator.compiler.Symbol; -import cz.habarta.typescript.generator.compiler.SymbolTable; +import cz.habarta.typescript.generator.compiler.TsModelTransformer; import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; import cz.habarta.typescript.generator.emitter.TsAssignmentExpression; import cz.habarta.typescript.generator.emitter.TsBeanModel; @@ -57,9 +56,9 @@ public void setConfiguration(Map configuration) throws RuntimeEx @Override public List getTransformers() { - return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.AfterDeclarationSorting, new ModelTransformer() { + return Arrays.asList(new TransformerDefinition(ModelCompiler.TransformationPhase.AfterDeclarationSorting, new TsModelTransformer() { @Override - public TsModel transformModel(SymbolTable symbolTable, TsModel model) { + public TsModel transformModel(Context context, TsModel model) { List beans = new ArrayList<>(); Map generatedConstructors = new HashMap<>(); for (TsBeanModel bean : model.getBeans()) { diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/DecoratorsTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/DecoratorsTest.java index d43fad1ee..f5ff243fb 100644 --- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/DecoratorsTest.java +++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/DecoratorsTest.java @@ -2,8 +2,7 @@ package cz.habarta.typescript.generator; import cz.habarta.typescript.generator.compiler.ModelCompiler; -import cz.habarta.typescript.generator.compiler.ModelTransformer; -import cz.habarta.typescript.generator.compiler.SymbolTable; +import cz.habarta.typescript.generator.compiler.TsModelTransformer; import cz.habarta.typescript.generator.emitter.Emitter; import cz.habarta.typescript.generator.emitter.EmitterExtensionFeatures; import cz.habarta.typescript.generator.emitter.TsBeanModel; @@ -52,9 +51,9 @@ public EmitterExtensionFeatures getFeatures() { @Override public List getTransformers() { return Arrays.asList( - new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeEnums, new ModelTransformer() { + new TransformerDefinition(ModelCompiler.TransformationPhase.BeforeEnums, new TsModelTransformer() { @Override - public TsModel transformModel(SymbolTable symbolTable, TsModel model) { + public TsModel transformModel(Context context, TsModel model) { return model.withBeans(model.getBeans().stream() .map(ClassNameDecoratorExtension.this::decorateClass) .collect(Collectors.toList()) @@ -130,7 +129,7 @@ public void testDecoratorsOnParameterAndMethod() { private static String emit(Emitter emitter, TsModel model) { final StringWriter writer = new StringWriter(); - emitter.emit(model, writer, "test", true, false, 0); + emitter.emit(model, writer, "test", true); return writer.toString(); } diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/EnumConstantsExtensionTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/EnumConstantsExtensionTest.java deleted file mode 100644 index 51e5ead86..000000000 --- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/EnumConstantsExtensionTest.java +++ /dev/null @@ -1,77 +0,0 @@ - -package cz.habarta.typescript.generator; - -import cz.habarta.typescript.generator.EnumTest.Direction; -import cz.habarta.typescript.generator.compiler.ModelCompiler; -import cz.habarta.typescript.generator.emitter.EmitterExtension; -import cz.habarta.typescript.generator.emitter.TsModel; -import cz.habarta.typescript.generator.ext.EnumConstantsExtension; -import cz.habarta.typescript.generator.parser.Jackson2Parser; -import cz.habarta.typescript.generator.parser.Model; -import java.util.ArrayList; -import java.util.List; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - - -public class EnumConstantsExtensionTest { - - @Test - public void basicTest() { - final List lines = new ArrayList<>(); - final EmitterExtension.Writer writer = new EmitterExtension.Writer() { - @Override - public void writeIndentedLine(String line) { - lines.add(line); - } - }; - final Settings settings = new Settings(); - settings.sortDeclarations = true; - final TypeProcessor typeProcessor = new DefaultTypeProcessor(); - final Model model = new Jackson2Parser(settings, typeProcessor).parseModel(Direction.class); - final TsModel tsModel = new ModelCompiler(settings, typeProcessor).javaToTypeScript(model); - new EnumConstantsExtension().emitElements(writer, settings, false, tsModel); - String indent = settings.indentString; - Assertions.assertEquals(7, lines.size()); - Assertions.assertEquals("", lines.get(0)); - Assertions.assertEquals("const Direction = {", lines.get(1)); - Assertions.assertEquals(indent + "North: \"North\",", lines.get(2)); - Assertions.assertEquals(indent + "East: \"East\",", lines.get(3)); - Assertions.assertEquals(indent + "South: \"South\",", lines.get(4)); - Assertions.assertEquals(indent + "West: \"West\",", lines.get(5)); - Assertions.assertEquals("}", lines.get(6)); - } - - @Test - public void testInTypeScriptGenerator() { - final Settings settings = new Settings(); - settings.newline = "\n"; - settings.outputFileType = TypeScriptFileType.implementationFile; - settings.outputKind = TypeScriptOutputKind.global; - settings.jsonLibrary = JsonLibrary.jackson2; - settings.extensions.add(new EnumConstantsExtension()); - final String actual = new TypeScriptGenerator(settings).generateTypeScript(Input.from(Direction.class)); - Assertions.assertTrue(actual.contains("const Direction")); - Assertions.assertTrue(actual.contains("North")); - } - - @Test - public void testSorting() { - final Settings settings = TestUtils.settings(); - settings.sortDeclarations = false; - settings.newline = "\n"; - settings.outputFileType = TypeScriptFileType.implementationFile; - settings.outputKind = TypeScriptOutputKind.global; - settings.jsonLibrary = JsonLibrary.jackson2; - settings.extensions.add(new EnumConstantsExtension()); - Assertions.assertNotEquals(new TypeScriptGenerator(settings).generateTypeScript(Input.from(Emotions.class, Direction.class)), - new TypeScriptGenerator(settings).generateTypeScript(Input.from(Direction.class, Emotions.class))); - settings.sortDeclarations = true; - Assertions.assertEquals(new TypeScriptGenerator(settings).generateTypeScript(Input.from(Emotions.class, Direction.class)), - new TypeScriptGenerator(settings).generateTypeScript(Input.from(Direction.class, Emotions.class))); - } - - public enum Emotions { - Happy - } -} diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/ExtensionTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/ExtensionTest.java index 88640e982..fbf4af8ef 100644 --- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/ExtensionTest.java +++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/ExtensionTest.java @@ -31,12 +31,6 @@ public EmitterExtensionFeatures getFeatures() { @Override public List getTransformers() { return Collections.singletonList(new TransformerDefinition(TransformationPhase.BeforeTsModel, new ModelTransformer() { - - @Override - public TsModel transformModel(SymbolTable symbolTable, TsModel model) { - return model; - } - @Override public Model transformModel(SymbolTable symbolTable, Model model) { List beans = new ArrayList<>(model.getBeans()); diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/StyleConfigurationTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/StyleConfigurationTest.java index d8f0a8a9c..c54852b21 100644 --- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/StyleConfigurationTest.java +++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/StyleConfigurationTest.java @@ -1,35 +1,10 @@ package cz.habarta.typescript.generator; -import java.io.ByteArrayOutputStream; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; public class StyleConfigurationTest { - @Test - @SuppressWarnings("deprecation") - public void testOutputWithCustomStyle() { - final ByteArrayOutputStream output = new ByteArrayOutputStream(); - final Settings settings = TestUtils.settings(); - settings.addTypeNamePrefix = "I"; - settings.sortDeclarations = true; - - String expected = "" + -"" + settings.newline + -" export interface IA {" + settings.newline + -" b: IB;" + settings.newline + -" x: number;" + settings.newline + -" }" + settings.newline + -"" + settings.newline + -" export interface IB {" + settings.newline + -" s: string;" + settings.newline + -" }" + settings.newline + -""; - new TypeScriptGenerator(settings).generateEmbeddableTypeScript(Input.from(A.class), Output.to(output), true, 1); - - assertEquals(expected, new String(output.toByteArray())); - } - public static class A { public int getX() { return -1; diff --git a/typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle/GenerateTask.java b/typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle/GenerateTask.java index f298e29ad..12b282619 100644 --- a/typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle/GenerateTask.java +++ b/typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle/GenerateTask.java @@ -64,7 +64,6 @@ public class GenerateTask extends DefaultTask { public GsonConfiguration gsonConfiguration; public JsonbConfiguration jsonbConfiguration; public List additionalDataLibraries; - @Deprecated public boolean declarePropertiesAsOptional; public OptionalProperties optionalProperties; public OptionalPropertiesDeclaration optionalPropertiesDeclaration; public NullabilityDefinition nullabilityDefinition; @@ -97,8 +96,6 @@ public class GenerateTask extends DefaultTask { public boolean generateSpringApplicationInterface; public boolean generateSpringApplicationClient; public boolean scanSpringApplication; - @Deprecated public RestNamespacing jaxrsNamespacing; - @Deprecated public String jaxrsNamespacingAnnotation; public RestNamespacing restNamespacing; public String restNamespacingAnnotation; public String restResponseType; @@ -129,14 +126,10 @@ public class GenerateTask extends DefaultTask { public List npmPeerDependencies; public StringQuotes stringQuotes; public String indentString; - @Deprecated public boolean displaySerializerWarning; - @Deprecated public boolean disableJackson2ModuleDiscovery; public boolean jackson2ModuleDiscovery; public List jackson2Modules; - @Deprecated public boolean debug; public Logger.Level loggingLevel; - @SuppressWarnings("deprecation") private Settings createSettings(URLClassLoader classLoader) { final Settings settings = new Settings(); if (outputFileType != null) { @@ -154,7 +147,6 @@ private Settings createSettings(URLClassLoader classLoader) { settings.gsonConfiguration = gsonConfiguration; settings.jsonbConfiguration = jsonbConfiguration; settings.additionalDataLibraries = additionalDataLibraries; - settings.declarePropertiesAsOptional = declarePropertiesAsOptional; settings.optionalProperties = optionalProperties; settings.optionalPropertiesDeclaration = optionalPropertiesDeclaration; settings.nullabilityDefinition = nullabilityDefinition; @@ -187,8 +179,6 @@ private Settings createSettings(URLClassLoader classLoader) { settings.generateSpringApplicationInterface = generateSpringApplicationInterface; settings.generateSpringApplicationClient = generateSpringApplicationClient; settings.scanSpringApplication = scanSpringApplication; - settings.jaxrsNamespacing = jaxrsNamespacing; - settings.setJaxrsNamespacingAnnotation(classLoader, jaxrsNamespacingAnnotation); settings.restNamespacing = restNamespacing; settings.setRestNamespacingAnnotation(classLoader, restNamespacingAnnotation); settings.restResponseType = restResponseType; @@ -219,9 +209,6 @@ private Settings createSettings(URLClassLoader classLoader) { settings.npmPeerDependencies = Settings.convertToMap(npmPeerDependencies, "npmPeerDependencies"); settings.setStringQuotes(stringQuotes); settings.setIndentString(indentString); - settings.displaySerializerWarning = displaySerializerWarning; - settings.debug = debug; - settings.disableJackson2ModuleDiscovery = disableJackson2ModuleDiscovery; settings.jackson2ModuleDiscovery = jackson2ModuleDiscovery; settings.loadJackson2Modules(classLoader, jackson2Modules); settings.classLoader = classLoader; diff --git a/typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven/GenerateMojo.java b/typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven/GenerateMojo.java index f02a7d620..a68044ca4 100644 --- a/typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven/GenerateMojo.java +++ b/typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven/GenerateMojo.java @@ -265,13 +265,6 @@ public class GenerateMojo extends AbstractMojo { @Parameter private List additionalDataLibraries; - /** - * Deprecated, use {@link #optionalProperties} parameter. - */ - @Deprecated - @Parameter - private boolean declarePropertiesAsOptional; - /** * Specifies how properties are defined to be optional. * Supported values are: @@ -570,20 +563,6 @@ public class GenerateMojo extends AbstractMojo { @Parameter private boolean scanSpringApplication; - /** - * Deprecated, use {@link #restNamespacing}. - */ - @Deprecated - @Parameter - private RestNamespacing jaxrsNamespacing; - - /** - * Deprecated, use {@link #restNamespacingAnnotation}. - */ - @Deprecated - @Parameter - private String jaxrsNamespacingAnnotation; - /** * Specifies how JAX-RS REST operations will be grouped into objects. * Supported values are: @@ -847,20 +826,6 @@ public class GenerateMojo extends AbstractMojo { @Parameter private String indentString; - /** - * Deprecated. - */ - @Parameter - @Deprecated - private boolean displaySerializerWarning; - - /** - * Deprecated, see {@link #jackson2ModuleDiscovery} and {@link #jackson2Modules} parameters. - */ - @Deprecated - @Parameter - private boolean disableJackson2ModuleDiscovery; - /** * Turns on Jackson2 automatic module discovery. */ @@ -873,13 +838,6 @@ public class GenerateMojo extends AbstractMojo { @Parameter private List jackson2Modules; - /** - * Deprecated, use {@link #loggingLevel} parameter. - */ - @Parameter - @Deprecated - private boolean debug; - /** * Specifies level of logging output. * Supported values are: @@ -904,7 +862,6 @@ public class GenerateMojo extends AbstractMojo { @Parameter(defaultValue = "${project.build.directory}", readonly = true, required = true) private String projectBuildDirectory; - @SuppressWarnings("deprecation") private Settings createSettings(URLClassLoader classLoader) { final Settings settings = new Settings(); if (outputFileType != null) { @@ -922,7 +879,6 @@ private Settings createSettings(URLClassLoader classLoader) { settings.gsonConfiguration = gsonConfiguration; settings.jsonbConfiguration = jsonbConfiguration; settings.additionalDataLibraries = additionalDataLibraries; - settings.declarePropertiesAsOptional = declarePropertiesAsOptional; settings.optionalProperties = optionalProperties; settings.optionalPropertiesDeclaration = optionalPropertiesDeclaration; settings.nullabilityDefinition = nullabilityDefinition; @@ -955,8 +911,6 @@ private Settings createSettings(URLClassLoader classLoader) { settings.generateSpringApplicationInterface = generateSpringApplicationInterface; settings.generateSpringApplicationClient = generateSpringApplicationClient; settings.scanSpringApplication = scanSpringApplication; - settings.jaxrsNamespacing = jaxrsNamespacing; - settings.setJaxrsNamespacingAnnotation(classLoader, jaxrsNamespacingAnnotation); settings.restNamespacing = restNamespacing; settings.setRestNamespacingAnnotation(classLoader, restNamespacingAnnotation); settings.restResponseType = restResponseType; @@ -987,9 +941,6 @@ private Settings createSettings(URLClassLoader classLoader) { settings.npmPeerDependencies = Settings.convertToMap(npmPeerDependencies, "npmPeerDependencies"); settings.setStringQuotes(stringQuotes); settings.setIndentString(indentString); - settings.displaySerializerWarning = displaySerializerWarning; - settings.debug = debug; - settings.disableJackson2ModuleDiscovery = disableJackson2ModuleDiscovery; settings.jackson2ModuleDiscovery = jackson2ModuleDiscovery; settings.loadJackson2Modules(classLoader, jackson2Modules); settings.classLoader = classLoader;